各位同志好,小弟在服务器(192.168.6.4)上面安装了Oracle 10g Enterprise,却无法在客户端计算机上用SQL Plus连上去,SQL Plus的错误讯息是 ORA-12154 无法解析指定的联机ID,请各位大哥帮帮忙,看是哪里出错了。服务器平台 Windows Server 2003 R2
客户端平台 Windows XP SP3
服务器
listener.oraSID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
)
tnsnames.oraREGALORA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = regalora.com)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)客户端
listener.oraSID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.oraREGALORA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = regalora)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC0))
)
(CONNECT_DATA =
(SID = regalora)
(PRESENTATION = RO)
)
)
客户端平台 Windows XP SP3
服务器
listener.oraSID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
)
tnsnames.oraREGALORA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = regalora.com)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)客户端
listener.oraSID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.oraREGALORA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = regalora)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC0))
)
(CONNECT_DATA =
(SID = regalora)
(PRESENTATION = RO)
)
)
2、客户端不需要listener.ora
3、regalora这个servicename或者SID在服务器端的listener.ora里面没有啊。
是否已经建立了这个库了呢?
doer_ljy 大哥你好:
回答大哥的问题
1.我安装好服务器端Oracle的时候,系统就有帮我建立好数据库了
2.请教大哥客户端为何不用listener.ora
3.确定数据库有建立完毕,Oracle还有告诉我全域数据库名称与SID,请问我要如何修改服务器端的listener.ora
REGALORA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = regalora)《===========怎么和服务端的不一样?
)
)客户端不需要配置监听、。
你可以试一下:REGALORA=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = regalora.com)
) 并且检查一下客户端的SQLNET.ORA文件,看一下这个文件里面是否有默认域的设置,如果有,可以将其不要.
首先,在服务期端需要配置listener.ora即配置监听,你可以这样理解:就是配置Oracle始终监视一个端口,这个端口就是客户端访问时介入的端口。所以,客户端tnsname.ora中配置的服务器端口一定要与服务器端listener.ora中配置的一样。默认的是1521。
其次,oracle客户端根据客户段本地的tnsname.ora中的配置得知服务器的IP、监听端口号、数据库名(这里指SID或者servicename),所以客户端是不需要listener.ora的。
最后,你的问题所在是你服务端的listener.ora中的配置和客户端的tnsname.ora不一致。
甚至服务器端的listener.ora和服务器上的客户端配置tnsname.ora中的内容也不一致。
这个问题需要你自己去查查到底哪个是对的。
只要统一了,连接应该是没有问题的。