Chinaunix首页 | 论坛 | 博客
  • 博客访问: 543573
  • 博文数量: 704
  • 博客积分: 39800
  • 博客等级: 大将
  • 技术积分: 4950
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 13:32
文章分类

全部博文(704)

文章存档

2011年(1)

2008年(703)

我的朋友

分类:

2008-10-15 13:44:15

  在大多数不完全恢复的情况下,要求resetlogs子句打开数据库。该子句重置oracle数据库重做日志序列。

  在10g以前的版本中,它是个危险操作,因为它使用户不能使用在发出resetlogs之前的备份。所以一般在不完全恢复以后立即执行备份。

  在10g中,这个问题已经解决,恢复过程的内部不需要做任何事情。

  实验:

  在RESETLOGS操作之后完成恢复

  1.做一个新备份,或者有一个可用的好的整个数据库备份。  

      RMAN> run
  2> {
  3> allocate channel c1 type disk;
  4> backup database;
  5> backup(archivelog all);
  6> }

  2.目标库强制归档,将所有重做日志信息强制装入归档日志  

      SQL> alter system switch logfile;

  系统已更改。 

     SQL> alter system switch logfile;

  系统已更改。 

      SQL> alter system switch logfile;

  系统已更改。  

      SQL> alter system switch logfile;

  系统已更改。

  3.验证v$log_history表中的重做日志序列和线程号,这样可以对重做日志序列进行不完全恢复。  

      SQL> set line 120;
  SQL> select * from v$log_history;

  4.关闭数据库,删除users01.DBF,模拟故障  

      SQL> shutdown immediate

  数据库已经关闭。

[1]     

【责编:Chuan】

--------------------next---------------------

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