最近又重新安裝了oracle10g ,又碰見這個錯誤,想起來好像每次安裝10g都會遇到這樣的問題,隨手記下,方便下次查閱。
正常情況下,在sqlplus下一切正常,但是通過jar包驅動訪問數據庫報ora-12505錯誤。那麼下面的解決方案往往有效:
找到listener.ora文件:我的Oracle是安裝在D盤,路徑爲:D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
修改前的配置如下:# listener.ora Network Configuration File: D:\oracle\product\10.2.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.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
修改後的配置如下:
# listener.ora Network Configuration File: D:\oracle\product\10.2.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.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
紅色部分爲增加的內容,個人建議綠色部分寫成localhost或者127.0.0.1,而不是計算機名稱——默認是計算機名稱。
重啓監聽器