码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE11g中毒恢复

时间:2015-07-21 17:02:29      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:ora-12528   ora-01033   ora-00202   

非常不幸的,win2003服务器疏于管理,中毒了,清理了病毒以后,oracle也瘫痪了。上次备份还在一周前,这一周的数据咋办?


首先的想法,是另找一台机器,装个一模一样的oracle,再把被删的文件复制过来。
实施起来发现被删掉的文件不止几个exe这么简单,dll文件还有oracle服务也被删掉了,恢复起来还挺麻烦的。


然后就选择第二条路,重装oracle,首先记得要把原有的oracle主目录备份了。

第1次尝试:

选择不创建数据库,仅安装软件,选择原目录,然后报错,说安装位置冲突

[INS-32025]所选安装与指定Oracle主目录中已安装的软件冲突

解决办法:删除C:\Program Files\Oracle目录,安装继续

然后又提示原目录有内容,选择继续,安装完成。

但是安装完成后,啥都没变,删除的文件没有回来。

第2次尝试

把原product目录删掉,再装。这次删除的exe和dll文件回来了,但是oracle服务没有恢复,运行数据库配置助手,发现它也没有识别并加载到原数据库文件。

第3次尝试

先卸载,提示要使用deinstall.exe,照做,一路回车,卸载完毕。然后彻底删除原oracle,包括注册表、主目录、和其它文件,详细参见网络文章。

再次安装,这次选择了创建数据库,实例名还是保持原来的一样。

安装过程中出现了一些问题,比如无权修改键,监听创建失败,数据库创建失败等,心都凉了,也只能一路忽略继续。

装完后发现服务回来了,手工启动TNSListener监听服务,启动OracleService实例服务,所幸没有影响,正常启动,能够正常登录连接熟悉的scott,哦也。


然后就是恢复数据了,停掉OracleService服务,把备份的原库主目录下的oradata目录全部覆盖过去。

连接提示:ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接

别慌,打开主目录\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora文件,在SID_LIST_LISTENER配置修改成:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = 数据库实例名)
      (ORACLE_HOME = c:\oracle\product\10.1.0\db_1)
      (SID_NAME = 数据库实例名)
    )

  )

蓝色是添加的,保存后重启TNSListener。

这次似乎成功了,sysdba可以连接上了,可是连接scott时又报错了:ora-01033:oracle initializationg or shutdown in progress

用cmd方式,执行sqlpuls /nolog,打开sqlplus,

     SQL>connect sys/password@orcl as sysdba  用sysdba连接数据库

     SQL>shutdown immediate      停止服务

出现一个ORA-01507的报错,不过还是显示例程已关闭,那就别管这个错了。

     SQL>startup                          启动服务

发现报错:

ORACLE 例程已经启动。
Total System Global Area  778387456 bytes
Fixed Size                  1374808 bytes
Variable Size             234882472 bytes
Database Buffers          536870912 bytes
Redo Buffers                5259264 bytes
ORA-00211: ???????????????
ORA-00202: ????: ‘‘D:\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL‘‘

那就是这个文件有问题罗
     SQL>shutdown immediate      再次停止服务

把备份的原库主目录下的FLASH_RECOVERY_AREA目录全部覆盖过去。

     SQL>startup                          再次启动服务

连接scott,成功!

连接生产用户,成功!!!

差点哭了……

如果上天给我再来一次的机会,我一定搞成每天自动备份!

版权声明:本文为博主原创文章,未经博主允许不得转载。

ORACLE11g中毒恢复

标签:ora-12528   ora-01033   ora-00202   

原文地址:http://blog.csdn.net/yishengreai/article/details/46986555

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!