前两天发现归档日志目录下太大了,就执行了归档日志的备份,然后删除了原来的归档日志。
备份的做法如下:
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;也看不到我前两天备份的那些归档日志,可以归档日志的备份确实还在啊,请问高手怎么恢复。
备份的做法如下:
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;也看不到我前两天备份的那些归档日志,可以归档日志的备份确实还在啊,请问高手怎么恢复。
你试试:
catalog backupset 'xx\xx\log_t682053426_s72_p1';
还有有些归档不用恢复了,下面不是提示:rchived log for thread 1 with sequence 241 is already on ...
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
那你试试: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/下面还是只有今天的昨天今天的归档,前几天备份的归档日志并没有恢复回来啊。
成功后,再list backupset of archivelog all;
看看有没有这些备份,然后再restore命令去恢复。
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 是什么意思,能解释下么?
谢谢!