当前位置:主页 > 数据修复 >

    用户自定义的数据库修复

    2010-08-16 11:03 作者:admin 来源:admin 浏览次数:

    一、  自动应用重做日志
    1、  利用SET  AUTORECOVERY命令自动应用重做日志
    完成对数据文件的修复操作
    SQL>STARTUP  MOUNT; 启动实例并加载数据库
    SQL>SET  AUTORECOVERY  ON 启用重做日志自动应用功能
    SQL>RECOVER  DATABASE 恢复指定表空间、数据文件或整个数据库
    SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

    2、  利用RECOVERY  AUTOMATIC命令自动应用重做日志
    完成对数据文件的修复操作
    SQL>STARTUP  MOUNT; 启动实例并加载数据库
    SQL>RECOVER  AUTOMATIC  DATABASE
    SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

    二、不归档模式下的数据库介质恢复

    1、  将数据库恢复到原来的位置上
    SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
    将数据库文件恢复到原来的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复;
    SQL>RECOVER  DATABASE  UNTIL  CANCEL
    SQL>CANCEL
    SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

    2、  将数据库恢复到新的位置上
    SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
     将数据库文件恢复到新的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复; 对初始化参数文件中的CONTROL_FILES参数进行编辑,使它执行保存在新位置中修复后的控制文件;
    SQL>STARTUP  MOUNT
    如果修复后的数据库文件处于新的位置,必须利用ALTER  DATABASE RENAME  FILE语句对控制文件进行修改,使它指向新位置中修复后的数据文件。如:
    SQL>ALTER  DATABASE  RENAME  FILE  ‘I:\ora9i\oradata\system01.dbf’  TO  ‘K:\oracle\oradata\system01.dbf’;
    SQL>RECOVER  DATABASE  UNTIL  CANCEL
    SQL>CANCEL
    SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

    三、 归档模式下的完全介质恢复

    1、  关闭状态下的完全恢复
    SQL>SHUTDOWN  ABORT(如果数据库处于打开状态,将它强行关闭)
    将数据文件恢复到原来的位置上,如果介质故障无法排除,需要将数据文件恢复到其它位置上;
    利用备份修复丢失或损坏的数据文件,也可利用ALTER  DATABASE  CREATE  DATAFILE 语句重建一个空白的数据文件替换对视或损坏的数据文件;
    SQL>STARTUP  MOUNT
    如果修复后的数据文件不在原来的位置上,需要使用ALTER  DATABASE  RENAME  FILE …TO …语句在控制文件中更新它们的信息
    SQL>SELECT  name,status  FROM  V$DATAFILE;查询数据文件的名称和状态
    SQL>ALTER  DATABASE  DATAFILE … ONLINE;将脱机数据文件改未联机
    SQL>RECOVER  DATABASE  或 SQL>RECOVER  TABLESPACE  users
    或 SQL>RECOVER  DATAFILE  ‘I:\ora9i\oradata\users0.dbf;
    SQL>ALTER  DATABASE  OPEN;

  • 上一篇:没有了
  • 下一篇:自动输出SQL Server对象依赖列表到EXCEL文件
联系方式 | 收费标准 | 上门服务 | 公司简介 | 汇款账户

回天时代有限公司

杭州公司: 杭州市文三路388号钱江科技大厦10楼1016室

华东总部:上海市徐汇区漕溪北路41号汇嘉大厦12楼E室(太平洋一期12楼)

咨询热线:400-889-1122(全国),0512-66099871(苏州),021-58358765(上海),0571-88218821(杭州) 24小时热线:13524645444,案:浙ICP备06024533号