您的位置:首页 > 其它

一次改名引发的血案

2010-04-06 14:30 351 查看
案发时间:2010-4-3上午

案发环境:Windows XP + oracle 10g 10.2.1.0.1

案发缘由:因计算机名称改变,导致oracle的WEB服务台EM不能启动,无法访问

案发背景:
当事人需要通过em来操作数据库,没有em就无法正常工作(其实还有别的办法操作数据库,(*^__^*) )

相关知识:
由于oracle对计算机名称的有一定的依赖性。当计算机名改变时,相应的Listener 需要重新配置,tns设置也要重新配置。但是无需重启数据库。

案发线索:
询问当事人,oracle在计算机未改名以前可以正常使用,包括pl/sql登录、EM访问。但是改名后却发现不能访问EM,后来又改回原来的名称,但还是不能访问,甚至连pl/sql也无法登录!(二次改名有一定的时间跨度)

案情侦破过程:
1、 重新配置listener和tns,listener可以配置成功,但是tns在配置到最后,测试是否成功时,报错,信息如下:
正在连接...ORA-01033: ORACLE initialization or shutdown in progress
测试未成功。



2、 当时很奇怪,怎么在windows里面的oracle服务是启动的,tns配置时却说oracle正在初始化或者正在关闭?(其实这个是实例已启动,但是文件没有正常加载!)

3、 之后进入sqlplus,先关闭当前实例,然后startup,发现数据库无法正常启动,报错,信息如下:

ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: 'E:/ORADATA/M1BI/REDO02.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file

原来是redo日志找不到。查找相关目录下的redo日志,发现redo的确不存在。

4、 在sqlplus下启动数据库到mount状态下重建redo日志,但是又发现问题,start mount后提示“not found mount.sql”,上网搜索,发现网上也没有解决办法也较少,于是在目录下查找mount.sql文件,却搜索不到,此时办案进程严重受阻。。。

5、 一头莫展时,却得当事人提醒,该数据库建好只创建了一个用户,别的没有重要数据。于是我采取最笨的办法,重建DB!!!(实在没有办法的办法啊)

6、 重建完成后,再次配置tns,测试时还是报错,但是报错信息已经变成最经典的“无法识别当前的tns名。。。”,该问题我遇到过,无非就是tns或者listener配置问题,于是就采取笨办法,把二者都重新配置了一遍,再次测试时成功,用pl/sql也可以成功登录!但是EM却无法访问,问题还是绕回去了。

7、 问题总有解决的方法的。于是在cmd输入emctl ,查看帮助,把原来的em配置重建,再次访问em,问题解决。嘿嘿!

办案结论:我们要像周扒皮那样把问题一个一个地扒出来,一个一个地解决。。。实在没办法,最笨的办法也是好办法~~~

办案疑问:not found mount.Sql一直没搞明白是怎么一回事,这个mount.sql文件也不晓得,望高手赐教。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: