一次改名引发的血案
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文件也不晓得,望高手赐教。。。
案发环境: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文件也不晓得,望高手赐教。。。
相关文章推荐
- 一次由Tomcat重新加载引发的血案
- maven3和maven2不兼容引发的一次血案
- #perl#一次virtualbox引发的血案
- 一次应用访问数据库 IP 配成外网 IP 引发的血案
- 一次@Controller引发的血案
- 一次Java线程池误用引发的血案和总结
- 一次优化引发的血案
- elasticsearch5.0.1集群一次误删除kibana索引引发的血案
- 一次激光纠正近视手术引发的血案 【 激光纠正近视手术 本世纪最大骗局 】
- 一次考试引发的血案---你能得几分?
- elasticsearch5.0.1集群一次误删除kibana索引引发的血案
- 通达OA 一次升级引发的即时通讯工具不能接收离线信息的血案
- 一次增加内存引发的血案 (由pre_page_sga引发的)
- 一次由注释引发的“血案”
- 通达OA 一次升级引发的即时通讯工具不能接收离线信息的血案
- 一次oracle安全加固引发的血案
- 由一次long SQL调优引发de血案
- WCF系列:记一次WCF中Model变更操作引发的血案
- 通达OA 一次升级引发的即时通讯工具不能接收离线信息的血案
- 一次优化引发的血案