zoukankan      html  css  js  c++  java
  • ORACLE11g中毒恢复

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


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


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

    第1次尝试:

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

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

    解决的方法:删除C:Program FilesOracle文件夹,安装继续

    然后又提示原文件夹有内容,选择继续,安装完毕。

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

    第2次尝试

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

    第3次尝试

    先卸载,提示要使用deinstall.exe,照做,一路回车,卸载完成。然后彻底删除原oracle,包含注冊表、主文件夹、和其他文件。具体參见网络文章。

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

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

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


    然后就是恢复数据了,停掉OracleService服务。把备份的原库主文件夹下的oradata文件夹所有覆盖过去。

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

    别慌。打开主文件夹product11.2.0dbhome_1NETWORKADMIN下的listener.ora文件,在SID_LIST_LISTENER配置改动成:

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:oracleproduct10.1.0db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = 数据库实例名)
          (ORACLE_HOME = c:oracleproduct10.1.0db_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:ORACLE11GFLASH_RECOVERY_AREAORCLCONTROL02.CTL''

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

    把备份的原库主文件夹下的FLASH_RECOVERY_AREA文件夹所有覆盖过去。

         SQL>startup                          再次启动服务

    连接scott。成功。

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

    差点哭了……

    假设上天给我再来一次的机会,我一定搞成每天自己主动备份。

  • 相关阅读:
    基于HTTP的上载和下载
    HttpContext.current中的applicationstate的运用
    获取汉字拼音首字母
    一个文件上传的类
    HttpContext.current.request[""]
    文件转换为流,流通过字节转换为文件
    字节数组和字符串的相互转化……
    时间精确到毫秒的写法
    设计模式之Builder(转载)
    Windows XP中配置PHP+IIS环境
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6719349.html
Copyright © 2011-2022 走看看