我的问题始于空闲实例。我试图用SQL Developer连接到我的本地XE实例。ORA-12514,TNS:侦听器当前不知道连接描述符中请求的服务
我在Google上尝试了很多链接,可能如果您提供了一些解决方案,我可以随时告诉您,我尝试过这些方法,但仍然期待解决此问题。
附加信息:在SQL Developer中
- 所有其他康恩字符串都工作得很好。
- 试图重新启动DB与/ NOLOG和所有.....
- 试过ALTER SYSTEM ....
- 我可以连接到ORCL(我的本地SID名)与SYS权限正确,唯一的问题是与假Oracle附带的用户HR。
- 我能解决原来闲置的实例问题
用的SQL * Plus与裸字符串连接:说明......给了我错误
Error 6 initializing SQL*Plus SP2-0667: Message file sp1<lang>.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- 我的Oracle主是“C:\ APP \\产品\ 11.2.0 \ dbhome_1 \网络\ ADMIN”
附件为listener.ora中(第一行是注释,但是当我把#在这么果然大胆,所以请考虑被注释掉):
#ADR_BASE_LISTENER = C:\app\387759
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\387759\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\387759\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = XE)
(ORACLE_HOME = C:\app\387759\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\387759\product\11.2.0\dbhome_1\log
现在该错误CMD(如管理员)是:
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
另外,有关条目(除了其他工作的人)tnsnames.ora中有:
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.36.160.158)
)
)
另外,请考虑我可以解决闲置的实例问题,因此它不再是。
387759 is my username to the machine.
更多信息,只改变我做,同时固定空闲实例的问题,那就是从InitORCL.ora文件中删除线
*.local_listener='LISTENER_ORCL'
,然后从PFILE创建再次spfile中,但刚才我再次将它添加到pfile中,然后创建spfile。
Cmd的行开始给我的错误:
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
SQL>
因此从理论上讲,我回到我无法启动Oracle实例的问题。
不能够定位提到的位置PFILE(在评论)之后,我尝试使用命令
show parameter spfile;
我得到了以下几点:
SQL> show parameter spfile; ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
一个额外的信息,我可以看到只有2服务运行在services.msc
OracleOraDb11g_home1TNSListener
OracleServiceORCL
我手动启动它们时我需要使用本地的oracle,否则我会让它们不能启动模式来保存一些内存。其他Oracle相关的服务我刚关上几乎所有的时间,并在这个时候,我得到这个error.Could帮助缩小问题
`
您的本地侦听器名称不应使用单引号:'* .local_listener = LISTENER_ORCL'。 –
感谢@AlexPoole,我试图从spfile创建pfile,但无法在$ ORACLE_HOME/dbs中找到相同的文件。 – user3792812
我可以再次在listener.ora中注释ADR_BASE_LISTENER = C:\ app \行后运行它,如果这有助于任何人。 –
user3792812