[英]Oracle Database Connection Error Listener Refused the Connection
我剛剛在我的工作開發計算機上安裝了Oracle 11g,該計算機具有Windows 7 64位,並且在設置了域的網絡上。 當我嘗試使用SQL Developer連接到“ XE”數據庫/ SID時,出現以下錯誤列表。
有任何想法嗎?
我已經在網上進行了研究,並嘗試了許多建議的解決方案,但無法使其正常工作。 我可以確認以下幾點:
首次嘗試連接時,SQL Developer中的設置如下:
Hostname: localhost
Port: 1521
SID: xe
但是,出現以下錯誤:
Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505
經過研究,我發現我應該查看“ listner.ora”文件中的偵聽器端點(無論意味着什么),並確認主機名。 該文件具有以下內容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\Oracle\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Oracle\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = mycomputername.abc.de.mycompany.com.)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
當我看到主機名不同時,我首先嘗試從“ mycomputername.abc.de.mycompany.com”更改listener.ora文件中的“ HOST”。 到“ localhost”,然后到“ 127.0.0.1”(請注意,前面的末尾確實有一個額外的句點)。 之后,我仍然收到相同的錯誤消息。
然后,我將所有內容恢復為“ listener.ora”文件中的方式,而是轉到SQL Developer,並將登錄信息更改為以下內容:
Hostname: mycomputername.abc.de.mycompany.com. (again... there really is a period at the end)
Port: 1521
SID: xe
我什至嘗試使用“ mycomputername”。 同樣,我收到錯誤消息:
Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505
我從一個朋友的朋友那里得到了幫助。 這是他的所作所為。
首先,請注意,他獨自保留了“ listener.ora”文件中的設置。 相反,他在命令提示符下執行了以下所有操作。
步驟1:直接在命令提示符下以“ sysdba”身份運行SQL Plus,以在命令提示符下模擬SQL Plus。
C:\windows\system32>sqlplus / as sysdba
步驟2:輸入以下SQL Plus命令以驗證數據庫名稱(即全局名稱或SID)。 返回值為“ XE”。
SQL> select * from global_name;
步驟3:輸入以下SQL Plus命令將列表設置為使用“本地主機”作為“主機”。 顯然,偵聽器將覆蓋“ listner.ora”文件中的設置。 我認為他說這是保存在數據庫中的某個地方,而不是保存在文件中。
SQL> alter system set LOCAL_LISTENER='(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521))))';
步驟4:輸入以下SQL Plus命令以注冊您在上面的步驟3中設置的內容。
SQL> alter system register;
步驟5:在命令提示符下退出SQL plus模擬。
SQL> exit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.