最近開機後,打開PL/SQL 輸入用戶米 密碼總報標題的錯誤。
我在兩臺機器都發現了這個錯誤,開始以爲PL/SQL問題,結果用ORACLE的SQL PLUS問題依舊。
BAIDU了一下,找到了解決辦法。
oracle 10G:
D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN目錄下的listener.ora文件。
問題都在這個文件上。
該文件原文如下:
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
操作:
在 (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
後面添加
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(SID_NAME = orcl)
)
網上的一些文章沒注意這點,由於每個人的數據庫SID不同。所以加的這段話的GLOBAL_DBNAME和SID_NAME
都是你的數據庫的SID。而且ORACLE_HOME也不同要根據原文的ORACLE_HOME來寫。
修改完的listener.ora爲:
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
重啓服務。OK!!!
如果以上工作還沒成功的話,那麼就把(HOST = localhost) 的HOST改成你的實際IP地址,就算寫127.0.0.1也可以。