Oracle服务正常启动,在命令行(cmd)用命令(sqlplus 用户/密码)能进入数据库且能查询数据
使用过的手段:
重新配置监听、使用命令启动都没有用
重新安装实例、卸载Oracle重新安装还是一样的问题
删监听、清除注册表里有关监听的项重启机器再建监听还是一样问题
日志文件:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-2月 -2008 15:20:36
Copyright (c) 1991, 2005, Oracle. All rights reserved.
系统参数文件为E:\Oracle10g\product\10.2.0\db_1\network\admin\listener.ora
写入E:\Oracle10g\product\10.2.0\db_1\network\log\listener5.log的日志信息
写入E:\Oracle10g\product\10.2.0\db_1\network\trace\listener5.trc的跟踪信息
跟踪级别当前为0
以 pid=3988 开始
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=huanghz)(PORT=1521)))
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 38: Filename too long
我们管理的有三台windows服务器都有这种情况,监听是一点都不敢动,而且重启之后还会d出对话框提示 监听遇到了问题需要关闭,不过这个时候监听还是可以用的,但是一旦手动lsnrctl stop listener之后就起不起来了,这个错误是只有在windows *** 作系统当中才有的,当时我们也没有解决只有重启系统才能把监听启起来,不然的话是没有什么办法启动监听的,最后换成了linux的版本后才稳定下来。 楼主可以考虑将数据库备份后重装一次系统,然后恢复数据库。具体做法是将$ORACLE_BASE/oradata/$ORACLE_SID/ 目录下的所有文件在停机状态下进行copy(包括redo、undo、temp、controlfile、其他数据文件保存起来)还有$ORACLE_HOME/dbs目录下的服务参数文件、密码文件保存下来 ,然后重装oracle,将sid设置为和当前一样的名称,停机将原来保存的文件替换到相应的位置,然后启动数据库即可。要是这个还不能解决的话,那么就考虑重装系统,然后再安装数据了。 当然这个是最不得已的方法,要是有其他更直接的办法可以解决监听问题的话 那就可以去尝试。
虚拟机上启动Oracle服务自动停止ORACLE监听服务启动后又停止了的解决
今天碰到的问题:
首先,连接数据库时报错:“Io 异常: The Network Adapter could not establish the connection” 。
查看服务时发现监听程序未启动,明明设的是自动启动,手动启动吧!重新手动启动数据库监听:
d:>lsnrctl
LSNRCTL>status(查看状态)
LSNRCTL>start(启动)
在开启OracleOraHomeXXTnslistener服务时,提示——“本地计算机上的OracleOraHomeXXTnslistener服务启动后又停止了。一些服务自动停止,如果他们没有什么可做的,例如“性能日志和警报”服务。”
估计是网络环境发生变化导致服务启动失败
解决途径:
由于设的是自动获得IP,前后两次得到IP不一致会出现此问题,但此次是设的固定 IP 且 IP 没有改变过。查看listener.ora及tnsnames.ora配置文件,发现里边用的均是计算机名称而非 IP ,与计算机名称对比后发现计算机的名称也是一致的,并没有改变过。于是抱着试试看的态度,把计算机IP修改为配置文件中的IP ,结果启动成功。
在这之前连接木有问题,因为想使主机与虚拟机连接所以修改了IP,在ping通后又改为自动获取时,出现此问题,目前虚拟机使用配置文件中的固定IP,问题虽然解决,但原因却不太理解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)