您的位置:中国风网 > 电脑之家 > 数 据 库

紧急救援:用户自定义的数据库修复

中国风网 2004-3-18 16:59:37



  一、 自动应用重做日志

  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;

  2、打开状态下的完全介质恢复

  SQL>SELECT d.file# f#,d.name,d.status,h.status from v$datafile d,v$datafile_header h

  WHERE d.file#=h.file#;查询哪些数据文件被自动设置为脱机状态;

文章来源:CSDN


推荐给您的朋友】    【发表评论】    【关闭窗口

 ■:相 关 文 章

 紧急救援:用户自定义的数据库修复(续)  (3月18日17:0:14)
 微软韩国换帅 主攻目标服务器、数据库市场  (3月3日16:45:19)
 SAP高管讽刺甲骨文 称其数据库产品不纯粹  (3月1日15:46:4)
 Oracle数据库及应用程序优化  (2月24日17:6:58)
 数据库基础学习:并发问题详述  (2月17日17:4:51)
 甲骨文9i数据库存在安全漏洞   (2月14日15:28:39)
 数据库学习:查询区分大小写  (2月10日16:33:19)
 有效提高WebSphere数据库性能   (2月7日17:12:12)
 数据库学习:MySQL Join详解2  (2月4日16:49:51)