真高興!困惑我兩天的問題終於解決了!
問題描述:
本機同時裝了Oracle Server和Client端,Client訪問本機的Server無任何問題,但是訪問其它Oracle Ser ver動報錯(如題).
用tnsping 服務器IP是OK的,但是tnsping 服務名卻不能OK.上網查了許多資料,最終查看了Oracle Server(本機)端的tnsnames.ora
加入一段顏色不一樣的地方:
# tnsnames.ora Network Configuration File: E:/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.150.54)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL_EIP =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.150.18)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
---------------------------------------------------------------------------------------------
本機裝有服務器,監聽器可以啟動.可是輸入用戶名和密碼後卻進不了
连接oracle数据库时出现了这种错误:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor。
解决方法如下:
在安装目录下:D:/oracle/product/10.2.0/db_1/network/ADMIN/listener.ora
将:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
改为:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GOLBAL_DBNAME=orcl)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(SID_NAME=orcl)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
然后重启服务和监听以后,登陆正常。