前两天发现归档日志目录下太大了,就执行了归档日志的备份,然后删除了原来的归档日志。 
备份的做法如下: 
RMAN>  run  {  
  2>  allocate  channel  dev1  type  disk;  
  3>  backup  
  4>  format  '/oracle/backups/log_t%t_s%s_p%p'  
  5>  (archivelog  from  time  'sysdate-2'  all  delete  input);  
  6>  release  channel  dev1;  
  7>  }  
备份之后在/oracle/backups/目录下总共生成了5个文件: 
-rw-r----- 1 oracle oinstall 555815424 Mar 21 03:19 log_t682053426_s72_p1 
-rw-r----- 1 oracle oinstall 738376192 Mar 21 03:23 log_t682053604_s73_p1 
-rw-r----- 1 oracle oinstall 560279552 Mar 21 03:25 log_t682053798_s74_p1 
-rw-r----- 1 oracle oinstall 892901888 Mar 21 03:29 log_t682053967_s75_p1 
-rw-r----- 1 oracle oinstall 845935104 Mar 21 03:33 log_t682054195_s76_p1 今天想要恢复这些归档日志,但不知道怎么恢复啊。 
使用 restore archivelog all;不行 
报了一堆这样的信息,这个目录是我重定向的正常归档日志的路径
archived log for thread 1 with sequence 241 is already on disk as file /opt/workshop/omu/share/db_arch_log/1_241_682065566.dbf 
和 
RMAN-00571: =========================================================== 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== 
RMAN-00571: =========================================================== 
RMAN-03002: failure of restore command at 03/24/2009 09:28:58 
RMAN-06026: some targets not found - aborting restore 
RMAN-06025: no backup of archived log for thread 1 with sequence 238 and starting SCN of 14587475 found to restore 
这样的信息。 
我在rman中list backup of archivelog all;也看不到我前两天备份的那些归档日志,可以归档日志的备份确实还在啊,请问高手怎么恢复。

解决方案 »

  1.   

    对,备份的时候使用format  '/oracle/backups/xxx'指定了另外的路径,这样不对么,一定要在原归档日志的路径下么?
      

  2.   

    list backup of archivelog all也看不到?
    你试试:
    catalog backupset 'xx\xx\log_t682053426_s72_p1';
    还有有些归档不用恢复了,下面不是提示:rchived log for thread 1 with sequence 241 is already on ...
      

  3.   

    语法有错误吧?
    RMAN> catalog backupset '/oracle/backups/log_t682053426_s72_p1';RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00558: error encountered while parsing input commands
    RMAN-01009: syntax error: found "backupset": expecting one of: "archivelog, backup, backuppiece, controlfilecopy, clone, datafilecopy, device, db_recovery_file_dest, recovery, start"
    RMAN-01007: at line 1 column 9 file: standard input
      

  4.   

    好久没用忘了,
    那你试试:catalog start with '/oracle/backups/';
      

  5.   

    catalog start with '/oracle/backups/';这句是什么意思呢?已经执行成功了:
    RMAN> catalog start with '/opt/oracle/backups/';searching for all files that match the pattern /opt/oracle/backups/List of Files Unknown to the Database
    =====================================
    File Name: /opt/oracle/backups/log_t682053426_s72_p1
    File Name: /opt/oracle/backups/log_t682053604_s73_p1
    File Name: /opt/oracle/backups/log_t682053798_s74_p1
    File Name: /opt/oracle/backups/log_t682053967_s75_p1
    File Name: /opt/oracle/backups/log_t682054195_s76_p1Do you really want to catalog the above files (enter YES or NO)? y
    cataloging files...
    cataloging doneList of Cataloged Files
    =======================
    File Name: /opt/oracle/backups/log_t682053426_s72_p1
    File Name: /opt/oracle/backups/log_t682053604_s73_p1
    File Name: /opt/oracle/backups/log_t682053798_s74_p1
    File Name: /opt/oracle/backups/log_t682053967_s75_p1
    File Name: /opt/oracle/backups/log_t682054195_s76_p1但是/opt/workshop/omu/share/db_arch_log/下面还是只有今天的昨天今天的归档,前几天备份的归档日志并没有恢复回来啊。
      

  6.   

    这个不是恢复啊。
    成功后,再list backupset of archivelog all;
    看看有没有这些备份,然后再restore命令去恢复。
      

  7.   

    我也晕晕乎乎的,我执行了两句:
    catalog start with '/opt/oracle/backups/';
    catalog backuppiece '/opt/oracle/backups/log_t682053426_s72_p1','/opt/oracle/backups/log_t682053604_s73_p1','/opt/oracle/backups/log_t682053798_s74_p1','/opt/oracle/backups/log_t682053967_s75_p1','/opt/oracle/backups/log_t682054195_s76_p1';
    也不清楚是哪句起的作用,反正这时候再list backup of archivelog all;就可以看到这些备份文件的信息了。
    BS Key  Size       Device Type Elapsed Time Completion Time
    ------- ---------- ----------- ------------ ---------------
    52      530.07M    DISK        00:00:00     21-MAR-09
            BP Key: 57   Status: AVAILABLE  Compressed: YES  Tag: TAG20090321T031705
            Piece Name: /opt/oracle/backups/log_t682053426_s72_p1但是奇怪使用restore archivelog all;还是不行。
    在网上找到篇好贴,http://space.itpub.net/8334342/viewspace-523080,忒强了,
    按照上面说的执行按时间恢复:
    restore archivelog time between "to_date('2009-03-20 00:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2009-03-21 00:00:00','yyyy-mm-dd hh24:mi:ss')";
    就可以恢复了。另外catalog start with 和catalog backuppiece 是什么意思,能解释下么?
    谢谢!
      

  8.   

    学习!~ RMAN(备份与恢复管理器)