"技术可以让生活更美好"----这个题目太夸张了,但是当我看到我把库起起来后朋友客户的DBA一把抓住我的手,激动万分的时候,我真的就是这么想的......
朋友客户的一个库,非归档、无备份,因为在做recovery的时候的误操作,导致crash后再也无法打开,alert log里的ORA-00600[4000]触目惊心:
Tue Mar 23 19:27:45 2010
Errors in file /oracle/dev/oracle/product/
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [4000], [6], [], [], [], [], [], []
Tue Mar 23 19:27:45 2010
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 4333
ORA-1092 signalled during: alter database open...
这个问题纠结了好几天,朋友客户找来了好多人看过这个库,但都没有搞定。朋友客户的DBA还是位女同志,就因为这个连续好几天失眠。
无奈之下朋友客户找到了我朋友,我朋友又找到了我。
当我晚上赶到现场后仔细检查了各个datafile,发现并没有被覆盖,我对她说:"恭喜你,你的数据库有救了"。
熊哥,我下午给你打电话就是想跟你讨论这个问题,我准备了三套方案,但是可惜,这个库连让我用BBED的机会都没有给就被我直接打开了,我这里用到了你的原创方法,未经你的同意,细节我就不发布了。
朋友客户的DBA跟我说:"这个问题我找了好多人,最后都不行,无奈之下只好给eygle打了电话,可惜eygle人在上海,但是他答应我回北京后帮我看看"。
我对她说:"你可以告诉eygle,我帮你把这个库打开了,eygle认识我。"
她说:"啊!eygle认识你啊?"
我说是的,eygle真的认识我。
其实也没什么,把你的过程写出来,大家都会受益,那样也许更美好,呵呵。
期待崔哥透露细节,老熊大哥、崔哥都是咱做技术人的楷模。
我就是用了_corrupted_rollback_segments和_minimum_giga_scn这两个隐含参数,这样就能强制open上述库了,只是收尾工作会麻烦一些。
哈,我也认识你。:)
:)
O(∩_∩)O哈哈~ 偶也认识你~~~
还需要设置"_allow_resetlogs_corruption"=true 吧?
_allow_resetlogs_corruption不是必须要用的。
不是很理解,没报2662错误,如何设置_minimum_giga_scn的值?
你可以从ora-600[4000]所产生的trace文件中知道SCN,然后你可以在mount状态下查x$kcvfh的checkpoint scn,这两者的差异可以用来设置_minimum_giga_scn的值。或者你干脆就把_minimum_giga_scn的值设的大一些,这也可以。
这样想来,设置_minimum_giga_scn也有道理,跳过了ORA-600报错中的UNDO SEG,是不是这样理解?
经常看到的,都是在遇到2662时,才设置。
评论有问题啊,每次都是跳到无法显示的页面,其实评论成功了,汗。
恩,是这样理解的。是啊,我的评论是有问题,每次报错其实都留言成功了,用MT用的我一直都火大。
博主没说明怎么去判断scn啊 多大才合适呢 ? 仔细查询了下 可以通过10015 trace来判断 。。。。学习了 受益匪浅啊 又看到熊哥的影子了
哈,Kamus在DTCC2010上说没有cuihua打不开的数据库
呵呵,Kamus他太过奖了。