谢谢楼上的现在数据库运行正常我把执行 lsnrctl status 命令的内容拷下来了等到数据库出错时 再来对比C:\Documents and Settings\Administrator>lsnrctl status oracleLSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 09-1月 -2007 16:52 :46Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONN ECT_DATA=(SERVICE_NAME=ORACLE))) LISTENER 的 STATUS ------------------------ 别名 LISTENER 版本 TNSLSNR for 32-bit Windows: Version 9.0.1.1.1 - Produc tion 启动日期 09-1月 -2007 15:02:14 正常运行时间 0 天 1 小时 50 分 36 秒 跟踪级别 user 安全性 OFF SNMP OFF 监听器参数文件 D:\oracle\ora90\network\admin\listener.ora 监听器日志文件 D:\oracle\ora90\network\log\listener.log 监听器跟踪文件 D:\oracle\ora90\network\trace\listener.trc 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sky)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=220.173.136.168)(PORT=8080))(PRESENT ATION=http://admin)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=220.173.136.168)(PORT=9090))(PRESEN TATION=http://admin)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=220.173.136.168)(PORT=2481))(PRESENT ATION=GIOP)(SESSION=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=220.173.136.168)(PORT=2482))(PRESEN TATION=GIOP)(SESSION=RAW)) 服务摘要.. 服务 "MODOSE" 包含 1 个例程。 例程 "ORACLE", 状态 READY, 包含此服务的 1 个处理程序... 服务 "ORACLE" 包含 2 个例程。 例程 "ORACLE", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 例程 "ORACLE", 状态 READY, 包含此服务的 3 个处理程序... 服务 "PLSExtProc" 包含 1 个例程。 例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 命令执行成功
今天早上又出现问题了 不但是oracle连接不上 网络也连不通了 请大家帮忙看看什么问题 要怎么样才能解决 谢谢了C:\Documents and Settings\Administrator>lsnrctl status oracleLSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 10-1月 -2007 08:31 :49Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONN ECT_DATA=(SERVICE_NAME=ORACLE))) TNS-12560: TNS: 协议适配器错误 TNS-00530: 协议适配器错误 32-bit Windows Error: 55: Unknown error
:46Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONN
ECT_DATA=(SERVICE_NAME=ORACLE)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.0.1.1.1 - Produc
tion
启动日期 09-1月 -2007 15:02:14
正常运行时间 0 天 1 小时 50 分 36 秒
跟踪级别 user
安全性 OFF
SNMP OFF
监听器参数文件 D:\oracle\ora90\network\admin\listener.ora
监听器日志文件 D:\oracle\ora90\network\log\listener.log
监听器跟踪文件 D:\oracle\ora90\network\trace\listener.trc
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sky)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=220.173.136.168)(PORT=8080))(PRESENT
ATION=http://admin)(SESSION=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=220.173.136.168)(PORT=9090))(PRESEN
TATION=http://admin)(SESSION=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=220.173.136.168)(PORT=2481))(PRESENT
ATION=GIOP)(SESSION=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=220.173.136.168)(PORT=2482))(PRESEN
TATION=GIOP)(SESSION=RAW))
服务摘要..
服务 "MODOSE" 包含 1 个例程。
例程 "ORACLE", 状态 READY, 包含此服务的 1 个处理程序...
服务 "ORACLE" 包含 2 个例程。
例程 "ORACLE", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "ORACLE", 状态 READY, 包含此服务的 3 个处理程序...
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
不但是oracle连接不上
网络也连不通了
请大家帮忙看看什么问题
要怎么样才能解决
谢谢了C:\Documents and Settings\Administrator>lsnrctl status oracleLSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 10-1月 -2007 08:31
:49Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONN
ECT_DATA=(SERVICE_NAME=ORACLE)))
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 55: Unknown error
原因:未知。
解决:必杀技——打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!
PS:
1、我的ora_startup.bat:
net start OracleOraHome92TNSListener
net start ORACLESERVICEORADB
svrmgrl一般情况下不用,不过有时少不了它的,具体步骤见第5步。
2、我的ora_shutdown.bat:
net stop OracleOraHome92TNSListener
net stop ORACLESERVICEORADB
3、ORACLE相关服务名请参见“管理工具”之“服务”中以ORACLE开头的服务名。
1、检查Terminal Service,看远程桌面是不是起因;
2、检查环境变量ORACLE_SID是否正确,包括注册表中的设定(检查注册表HKEY_LOCAL_MACHINE\Software\Oracle\key_oracle没有oracle_sid=whora这项值,把这项值增加进去重新连,问题就解決了)
3、检查Oracle服务是否启动
4、检查LISTENER.ORA,TNSNAME.ORA等的机器名(IP地址)或者服务名是否正确
5、Netstat –a检查端口是否被占用
6、检查注册表HKEY_LOCAL_MACHINE\Software\Oracle\Home0新增字符串USE_SHARED_SOCKET=TRUE,重新启动服务对于运行在Windows下的Oracle 8i还可能是如下情况:
1、在Server本机执行Svrmgrl或Sqlplus时报该错误,此时需检查ORACLE_SID设置是否正确,包括注册表中的设定,并检查Service是否运行
2、如果SID设置正确且服务也已经运行,如果这时还报该错误,则应该检查SID NAME是否包含了非字母字符,对于Windows下的Oracle 8i,SID NAME不允许包含非字母字符,比如下划线或横线
3、如果出现顽固性的ORA-12560错误,可考虑自己写ORACLE启动及关闭脚本,因为Windows的oracle service自动启动不是很完善
其他情况要具体分析,比如有可能是连接数过多造成内存消耗殆尽,也会造成ORA-12560错误。
是在sqlplusw中的协议适配器错误的话就是你的那个配置文件错误……你重新去找一个新安装好的去把那段东西copy进去,然后重新配置监听和本地网络就可以了。
可能的命令:tnsping 127.0.0.1;svrmgrl
解决了, 将Terminal Service 停止就可以了
造成ORA-12560:TNS:协议适配器错误的问题的原因有三个:
1、监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2、database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID。
3、注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID;或者右击我的电脑,属性--高级--环境变量--系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID;或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID。
经过以上步骤,就可以解决问题。
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。