蝴蝶效应 2006年的最后一天----补充之二
一月 02

就在上一篇的总结写完之后,同事跟我请教一个问题:Windows底下的oracle启不启来了,要怎么恢复数据?

仔细询问了一下,原来遇到问题的地方还是某国家权力机构的要害部门,问题不解决的话,估计会有一票人会跳楼的。想得很简单,这么重要的数据库肯定会有备份,直接恢复最近的全备,然后用归档恢复到时间点就是了。结果我同事告诉我,最近的备份是两天前的,而那边的ORACLE根本就没有开归档模式,我直接就崩溃了,实在是不能相信,居然这么重要的数据库没有开归档的,FAINT!!!!!!

再仔细的询问一下,原来对方是在生产库上想把oracle的版本升级到9.2.0.4,升级之前没有做备份,然后直接拿了9.2.0.4的安装盘就直接往上头装............然后装完了,oracle就起不来了。

实在是没有什么语言可以形容了,不过单就这个描述来说,这个库的用户数据应该还没有损坏,还是有很大的恢复机会。仔细的整理了一下思路,设计的恢复的步骤如下:

  1. 把原来的oracle目录做个备份,为了以防万一,这个备份必须在移动磁盘上也保留一个。
  2. 卸载掉现有的oracle。
  3. 重新安装一个原来工作正常的Oracle版本,安装过程中不建库。
  4. 设置系统的oracle_sid为正常工作库的实例名。
  5. 把刚才备份的oracle里面的用户文件都恢复到跟原来一样的位置去。
  6. 设置没有库的时候的oracle 连接用户:
    1. C:\testdb>oradim -new -sid 原来的实例名 -intpwd oracle -startmode m -pfile 原来的pfile的完整路径
  7. sqlplus连接Oracle实例,看看能不能正常startup。

很幸运的,对方根据这个步骤就把这个要命的数据库给启起来了,总算让大伙都过上了个安稳年。

One Response to “2006年的最后一天----补充之一”

  1. Coolzsb的杂货铺子 Says:

    2006年的最后一天----补充之二...

    为了给那个该死的Oracle库考虑数据恢复步骤,阿肥和光光同学等了我要半个小时,到最后,他们实在是等不下我了,就先跑了,跑了就跑了,也没有跟我吱一声,害的我匆匆忙忙收拾东西就往...

Leave a Reply