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

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

中国风网 2004-3-18 17:00:14



  SQL>ALTER TABLESPACE users OFFLINE TEMPORARY;将包含损坏数据文件的表空间设置为脱机状态;

  将数据文件恢复到原来的位置上,如果介质故障无法排除,需要将数据文件恢复到其它位置上;

  利用备份修复丢失或损坏的数据文件;

  如果修复后的数据文件不在原来的位置上,需要使用ALTER DATABASE RENAME FILE …TO …语句在控制文件中更新它们的信息

  SQL>RECOVER TABLESPACE users AUTOMATIC对包含损坏数据文件的脱机表空间进行恢复;

  SQL>ALTER TABLESPACE users ONLINE;

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

  1、 不完全恢复的操作准则;

  在恢复前后都对数据库进行完全备份

  完成不完全介质恢复后,检查数据库是否已经恢复到了目标时刻下的状态;
  
  完成不完全介质恢复后,将归档重做日志文件移动到其它位置保存。

  2、 基于时间的不完全恢复

  对数据库进行一次完全备份,包括控制文件和所有的联机重做日志文件

  SQL>SHUTDOWN ABORT

  确定不完全介质恢复的目标时间,即你需要将数据库恢复到哪个时刻下的状态,然后确定需要使用哪些备份来对数据进行修复,数据库修复所使用的控制文件备份应当能够正确反映出目标时刻下数据库的物理结构,所使用的数据文件备份应当是在目标时刻之前创建的,而且必须修复所有的数据文件,

  如果没有在目标时刻之前建立的数据文件备份,需要重新创建空白的数据文件

  如果在数据库中包含在目标时刻之后建立的数据文件,不要对这个数据文件进行修复,因为在完成不完全恢复后的数据库中根本不应当存在这个数据文件;

  将数据文件恢复到原来的位置上,如果介质故障无法排除,则恢复到其它位置上;

  利用选定的备份文件修复所有的控制文件和数据文件;

  SQL>STARTUP MOUNT 启动实例并加载数据库;

  如果修复后的数据文件不在它们原来的位置上,需使用ALTER DATABASE RENAME FILE … TO …语句在控制文件中更新它们的信息;

  SQL>SELECT name,status FROM V$DATAFILE;确定所有数据文件都处于联机

  SQL>ALTER DATABASE DATAFILE … ONLINE;将数据文件恢复为联机;

  SQL>RECOVER DATABASE UNTIL TIME ‘2004-02-01:12:30:30’

  如果控制文件是利用备份修复的,必须在RECOVER名利中指定USING BACKUP CONTROLFILE子句;

  SQL>ALTER DATABASE OPEN RESETLOGS;

  立即对数据库进行一次完全备份。

  3、 基于撤销的不完全恢复

  SQL>RECOVER DATABASE UNTIL CANCEL

  其它步骤同基于时间的不完全恢复

  4、 基于SCN的不完全恢复

  在进行基于SCN的不完全恢复时,oracle会在应用了所有具有小于等于指定SCN的事务的重做记录之后终止恢复过程

  RESETLOGS选项

  在如下三种情况下,必须使用RESETLOGS选项打开数据库:

  1、 在执行任何类型的不完全介质恢复之后;

  2、 在使用备份修复控制文件后(在RECOVER命令中使用USING BACKUP CONTROLFILE子句);

  在没有联机重做日志文件备份的情况下对不归档数据库进行完全恢复之后。

文章来源:CSDN


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

 ■:相 关 文 章

 紧急救援:用户自定义的数据库修复  (3月18日16:59:37)
 微软韩国换帅 主攻目标服务器、数据库市场  (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)