RMAN不完全恢复找不到DATAFILE

从不干坏事 2017-02-04 01:36:50
RMAN不完全恢复报错找不到DATAFILE,但通过LIST BACKUP是有的,执行如下:


run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
SET NEWNAME FOR DATAFILE 58 TO '/oradata/tbs/undotbs0101.dbf';
SET NEWNAME FOR DATAFILE 42 TO '/oradata/tbs/system02.dbf';
SET NEWNAME FOR DATAFILE 2 TO '/oradata/tbs/sysaux01.dbf';
SET NEWNAME FOR DATAFILE 1 TO '/oradata/tbs/system01.dbf';
SET NEWNAME FOR DATAFILE 55 TO '/oradata/tbs/EAS_D_EAS75_STANDARD9.ora';
SET NEWNAME FOR DATAFILE 50 TO '/oradata/tbs/EAS_D_EAS75_STANDARD10.ora';
SET NEWNAME FOR DATAFILE 47 TO '/oradata/tbs/undotbs0102.dbf';
SET NEWNAME FOR DATAFILE 43 TO '/oradata/tbs/EAS_D_EAS75_STANDARD7.ora';
SET NEWNAME FOR DATAFILE 40 TO '/oradata/tbs/EAS_D_EAS75_STANDARD8.ora';
SET NEWNAME FOR DATAFILE 38 TO '/oradata/tbs/EAS_D_EAS75_STANDARD6.ora';
SET NEWNAME FOR DATAFILE 32 TO '/oradata/tbs/EAS_D_EAS75_STANDARD5.dbf';
SET NEWNAME FOR DATAFILE 21 TO '/oradata/tbs/EAS_D_EAS75_STANDARD4.ora';
SET NEWNAME FOR DATAFILE 49 TO '/oradata/tbs/system03.dbf';
SET NEWNAME FOR DATAFILE 31 TO '/oradata/tbs/EAS_D_EAS75_STANDARD2.ora';
SET NEWNAME FOR DATAFILE 30 TO '/oradata/tbs/EAS_D_EAS75_STANDARD1.ora';
SET NEWNAME FOR DATAFILE 25 TO '/oradata/tbs/EAS_D_EAS75_INDEX1.ora';
SET NEWNAME FOR DATAFILE 24 TO '/oradata/tbs/EAS_D_EAS75_STANDARD3.ora';
SET NEWNAME FOR DATAFILE 14 TO '/oradata/tbs/EAS_D_EAS75_INDEX.ora';
SET NEWNAME FOR DATAFILE 13 TO '/oradata/tbs/EAS_D_EAS75_TEMP2.dbf';
SET NEWNAME FOR DATAFILE 12 TO '/oradata/tbs/EAS_D_EAS75_STANDARD.ora';
set until time "to_date('2017-01-28 23:30:00','YYYY-MM-DD HH24:MI:SS')";
restore datafile 42,55,49,47,43,40,38,32,21,58,50,31,30,25,24,14,13,12,1,2;
SWITCH DATAFILE ALL;
RECOVER datafile 42,55,49,47,43,40,38,32,21,58,50,31,30,25,24,14,13,12,1,2;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
alter database open resetlogs;
}



以下为报错信息:


RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore


LIST BACKUP是有的:


BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2584 Incr 0 38.89G DISK 00:00:00 29-JAN-17
BP Key: 2584 Status: AVAILABLE Compressed: YES Tag: TAG20170128T210120
Piece Name: /oradata/bak/lseas_LV0_f9rr84b1_1_1_20170129.bak
List of Datafiles in backup set 2584
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 0 Incr 14848704586 29-JAN-17 /mnt/eastest/systbs/system01.dbf
2 0 Incr 14848704586 29-JAN-17 /mnt/eastest/systbs/sysaux01.dbf
19 0 Incr 14848704586 29-JAN-17 /mnt/eastest/oradbf/edi.dbf
42 0 Incr 14848704586 29-JAN-17 /mnt/eastest/systbs/system02.dbf
56 0 Incr 14848704586 29-JAN-17 /mnt/eastest/testtable.dbf
58 0 Incr 14848704586 29-JAN-17 /mnt/eastest/systbs/undotbs0101.dbf
59 0 Incr 14848704586 29-JAN-17 /mnt/eastest/testtable01.dbf


VALIDATE检查也是正常的:


RMAN> validate backupset 2584;

Starting validate at 04-FEB-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=121 device type=DISK
channel ORA_DISK_1: starting validation of datafile backup set
channel ORA_DISK_1: reading from backup piece /oradata/bak/lseas_LV0_f9rr84b1_1_1_20170129.bak
channel ORA_DISK_1: piece handle=/oradata/bak/lseas_LV0_f9rr84b1_1_1_20170129.bak tag=TAG20170128T210120
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: validation complete, elapsed time: 02:45:07
Finished validate at 04-FEB-17



以下为备份脚本:

#!/bin/bash
source /home/oracle/.bash_profile
LOG_DIR=/mnt/disk2/rman/log
RMAN_LOG_FILE=${LOG_DIR}/$(date "+%Y%m%d%H").log
/oracle/product/ora11g/bin/rman nocatalog TARGET abcd/abcd msglog $RMAN_LOG_FILE append <<EOF
run
{
allocate channel t1 type DISK;
allocate channel t2 type DISK;
allocate channel t3 type DISK;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
delete noprompt expired archivelog all;
crosscheck archivelog all;
delete noprompt archivelog all completed before 'sysdate-1';
crosscheck archivelog all;
backup as compressed backupset incremental level 0 skip inaccessible filesperset 80 Database format='/mnt/disk2/rman/rmandata/lseas_LV0_%U_%T.bak';
sql 'alter system archive log current';
backup as compressed backupset filesperset 20 archivelog all not backed up 1 times format='/mnt/disk2/rman/rmandata/arch_%U_%T' delete input;
backup spfile format='/mnt/disk2/rman/rmandata/spfile_%U_%T';
backup current controlfile format '/mnt/disk2/rman/rmandata/control_%U_%T';
release channel t1;
release channel t2;
release channel t3;
}
EOF


哪位大神帮我看一下咋回事 谢谢!
...全文
305 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2017-02-06
  • 打赏
  • 举报
回复
LIST BACKUP 里面只看到了增备的内容,看不到全备的信息啊。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧