..\product\10.2.0\db_1\network\admin
里边有两个文件需要修改:
listener.ora和tnsnames.ora
把里边的原来的计算机名修改成你最新的计算机名;
以下是listener.ora的原文:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = zrh)(PORT = 1521)) --此处修改host=新的计算机名
)
)
以下是tnsnames.ora的原文:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zrh)(PORT = 1521)) --此处修改
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
oracle 监听器无法启动的问题一、连接主机字符串,说没有监听器
SVRMGR>connect internal/oracle@orcl
ORA-12541: TNS:no listener
SVRMGR>
二、运行监听器,说地址的协议专用组件指定不正确
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:17
:51
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL>status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
TNS-01103: 地址的协议专用组件指定不正确
TNS-12541: TNS:无监听器
TNS-12560: TNS:协议适配器出现错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL>start
启动tnslsnr:请稍候...
Failed to start service, error 3.
TNS-12536: TNS:可能会阻碍*作
TNS-12560: TNS:协议适配器出现错误
TNS-00506: *作可能阻塞
32-bit Windows Error: 997: Unknown error
LSNRCTL>
三、在控制面板中启动服务,出现以下错误
服务:在本地计算机 无法启动 OracleOraHome81TNSListener 服务。
错误3:系统找不到指定的路径
而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。
四、进入注册表中修改ImagePath
在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener
发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:\Oracle\Ora81\BIN\TNSLSNR
退出注册表。
五、再去启动服务,服务启动正常
六、启动监听器
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:42
:10
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL>start
TNS-01106: 使用名称LISTENER的监听器已经启动
LSNRCTL>status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Produc
tion
启动日期 14-3月 -2003 14:40:15
正常运行时间 0 天 0 小时 2 分 6 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 f:\Oracle\Ora81\network\admin\listener.ora
监听器日志文件 f:\Oracle\Ora81\network\log\listener.log
服务摘要..
PLSExtProc 具有1个服务处理程序
orc2 具有1个服务处理程序
orcl 具有1个服务处理程序
orcl 具有2个服务处理程序
命令执行成功
LSNRCTL>
七、再去连接,成功
SVRMGR>connect internal/sys@orcl
连接成功。
SVRMGR>
一般不会是什么大问题吧,估计还是监听器的问题,上面的listener.ora,tnsnames.ora是没有问题的。你可以输入lsnrctl status查看下监听器的状态,下面是我的输出:
LSNRCTL>status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 08-8月 -2010 14:42:59
正常运行时间 0 天 0 小时 7 分 7 秒
跟踪级别 off
安全性ON: Local OS Authentication
SNMP OFF
监听程序参数文件 e:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件 e:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=YourPcName)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)