网上看了很多帖子了 无法解决 请高手帮忙本地listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 10.1.127.198)
(SID_NAME = ORCL)
)
)LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)tnsnames.oraORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
服务器listenr.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
(CONNECT_DATA=
(SERVICE_NAME=orcl)
)
)tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)dos 下
tnsping iP 或实例名都可以
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 10.1.127.198)
(SID_NAME = ORCL)
)
)LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)tnsnames.oraORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
服务器listenr.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
(CONNECT_DATA=
(SERVICE_NAME=orcl)
)
)tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)dos 下
tnsping iP 或实例名都可以
oracle 开启
监听开启
防火墙关闭
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
) LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)
) 侦听器只需要在服务器端有就可以了,
连接时使用的是本地tnsnames.ora 和 服务器端listener.ora
本地侦听器用不上,除非你本地也有个安装了ORACLE!
本地用的10Gclientlintener.oraLISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
(SID_NAME = orcl)
)
)tnsnames.oraORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1251))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
现在在DOS下运行tnsping orcl显示无监听程序
10gclient 运行sql plus 同样显示无监听程序ORACLE 已经启动监听状态如下:Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.127.198)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 12-MAR-2009 16:19:47
Uptime 0 days 0 hr. 8 min. 52 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.127.198)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
可以使用lsnrctl start命令启动
上面的 tnsnames.ora 端口有错ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1251))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
) 如果还不行
试试重新注册侦听器
alter system register如果还不行,看看local_listener参数
SQL> show parameter local_listNAME TYPE VALUE
------------------------------------ ----------- -----------------
local_listener string如果VALUE不为空,则alter system set local_listener='';(修改为动态注册)
重新注册侦听器,alter system register;
后来在sqlnet.ora文件中进行如下处理#SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)结果连接成功了.