我的問題始於空閒實例。我試圖用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