Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103789965
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-20 21:41:00

作者:        文章来源:天极blog    

 

  数据文件, 重作日志和控制文件同时丢失或损坏:

  条件和假设:Archivelog Mode; 有同步的所有所失文件的镜像(冷)拷贝;archive log(s) 可用

  恢复步骤(必须采用不完全恢复的手法):
  
  1. 如果数据库尚未关闭,则首先把它关闭:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> shutdown abort

  2. 将备份文件抄送回原始地点:

  所有Database Files

  所有Control Files

  所有On-Line Redo Logs(Not archives)

  init.ora file(选项)

  3. 启动数据库然而并不打开:

  svrmgrl>startup mount

  4. 做不完全数据库恢复,应用所有从上次镜像(冷)备份始积累起来的archives:

  svrmgrl> recover database until cancel using backup controlfile;

  ......
  ......

  cancel

  5. Reset the logfiles (对启动而言不可省略):

  svrmgrl> alter database open resetlogs;
 
  6. 关闭数据库并做一次全库冷备份。

  数据文件和控制文件同时丢失或损坏

  条件和假设:Archivelog Mode; 有同步的datafile(s) 和control file(s) 的冷拷贝;archive log(s) 可用

  恢复步骤:

  1. 将冷拷贝的datafiles(s) 和control file(s) 抄送回原始地点:

  $ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

  $ cp /backup/control1.ctl /disk1/control1.ctl

  2. 以mount 选项启动数据库:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> startup mount
  
  3. 以旧的control file 来恢复数据库:

  svrmgrl> recover database until cancel using backup controlfile;

  *** 介质恢复完成

  (须在应用完最后一个archive log 后cancel )

  4. Reset the logfiles (对启动而言不可省略):

  svrmgrl> alter database open resetlogs;

  重作日志和控制文件同时丢失或损坏时:

  条件和假设:Control Files 全部丢失或损坏;Archivelog Mode; 有Control Files 的镜像(冷)拷贝。
  
  恢复步骤:

  1. 如果数据库尚未关闭,则首先把它关闭:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> shutdown abort

  svrmgrl>exit

  2. 以Control File 的镜像(冷)拷贝覆盖损坏了的Control File:

  $ cp /backup/control1.ctl /disk1/control1.ctl

  3. 启动数据库然而并不打开:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> startup mount

  4. Drop 坏掉的redo log (排除硬件故障):

  svrmgrl> alter database drop logfile group 2;

  5. 重新创建redo log:

  svrmgrl> alter database add logfile group 2 '/orig_loc/log2.dbf' size 10M;
  
  6. 以旧的control file 来恢复数据库:
  
  svrmgrl> recover database until cancel using backup controlfile;

  (必须马上cancel )

  7. Reset the logfiles (对启动而言不可省略):

  svrmgrl> alter database open resetlogs;

  8. 关闭数据库并做一次全库冷备份

阅读(643) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~