Avamar 备份恢复 Oracle

来源:这里教程网 时间:2026-03-03 20:10:25 作者:

--------------------------------------------------------------------------------------------------------------------------- 源端创建pfile #create pfile='/home/oracle/pfile_20230601.ora' from spfile; --------------------------------------------------------------------------------------------------------------------------- 目标端创建对应的目录 mkdir -p /u01/app/oracle/admin/AMSDB/adump mkdir -p /u01/app/oracle/oradata/AMSDB/ mkdir -p /u01/app/oracle/fast_recovery_area --------------------------------------------------------------------------------------------------------------------------- 目标端修改参数启动到nomount状态 export ORACLE_SID=AMSDB1 create spfile from pfile='/home/oracle/pfile_20230601.ora'; startup nomount --------------------------------------------------------------------------------------------------------------------------- 目标端编辑avamar参数文件 cat my-avtar-flages.txt  #NAME? #NAME? --logfile=/usr/local/avamar/etc/avtar.log --vardir=/usr/local/avamar/var/clientlogs #NAME? #NAME? --path=/zhfa_cim/zhrptdb #NAME? #NAME? #NAME? avamar平台上可以找到对应的备份集和数据库id--在备份集的控制文件后缀中 rman target / set dbid=99242286; set controlfile autobackup format for device type sbt to 'CONTROLFILE.AMSDB.%F'; run{ allocate channel c1 type sbt PARMS="SBT_LIBRARY=/usr/local/avamar/lib/libobk_avamar64.so" FORMAT '%d_%U'trace 2; send '"--prefix=11g/AMSDB/" "--flagfile=/home/oracle/my-avtar-flages.txt" "--sysdir=/usr/local/avamar/etc" "--bindir=/usr/local/avamar/bin" "--vardir=/usr/local/avamar/var/clientlogs" "--logfile=/usr/local/avamar/var/clientlogs/restore.log"'; restore controlfile from autobackup MAXSEQ=0 until time ="TO_DATE('20230531','YYYYMMDD')"; release channel c1; } alter database mount; --------------------------------------------------------------------------------------------------------------------------- set pages 2000 line 2000 select 'set newname for datafile ' || a.FILE# || ' to "' || a.NAME || '";' from v$datafile a union all select 'set newname for tempfile ' || a.FILE# || ' to "' || a.NAME || '";' from v$tempfile a union all SELECT 'SQL "ALTER DATABASE RENAME FILE ''''' || a.MEMBER || '''''  to  ''''' || a.MEMBER || ''''' ";' FROM v$logfile a; --------------------------------------------------------------------------------------------------------------------------- run{ allocate channel c1 type sbt PARMS="SBT_LIBRARY=/usr/local/avamar/lib/libobk_avamar64.so" FORMAT '%d_%U'trace 2; send '"--prefix=11g/AMSDB/" "--flagfile=/home/oracle/my-avtar-flages.txt" "--sysdir=/usr/local/avamar/etc" "--bindir=/usr/local/avamar/bin" "--vardir=/usr/local/avamar/var/clientlogs" "--logfile=/usr/local/avamar/var/clientlogs/restore.log"'; set newname for datafile 1 to "/u01/app/oracle/oradata/AMSDB/system.256.dbf"; set newname for datafile 2 to "/u01/app/oracle/oradata/AMSDB/sysaux.257.dbf"; set newname for datafile 3 to "/u01/app/oracle/oradata/AMSDB/undotbs1.258.dbf"; set newname for datafile 4 to "/u01/app/oracle/oradata/AMSDB/users.259.dbf"; set newname for datafile 5 to "/u01/app/oracle/oradata/AMSDB/undotbs2.267.dbf"; set newname for datafile 6 to "/u01/app/oracle/oradata/AMSDB/ts_alm_work.276.dbf"; set newname for datafile 7 to "/u01/app/oracle/oradata/AMSDB/ts_alm_work_info.277.dbf"; set newname for datafile 8 to "/u01/app/oracle/oradata/AMSDB/ts_alm_ignored.278.dbf"; set newname for datafile 9 to "/u01/app/oracle/oradata/AMSDB/ts_alm_invalid.279.dbf"; set newname for datafile 10 to "/u01/app/oracle/oradata/AMSDB/ts_alm_setting.280.dbf"; set newname for datafile 11 to "/u01/app/oracle/oradata/AMSDB/ts_alm_log.281.dbf"; set newname for tempfile 1 to "/u01/app/oracle/oradata/AMSDB/temp.266.dbf"; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_2.264.1052959409''  to  ''/u01/app/oracle/oradata/AMSDB/group_2.264.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_2.265.1052959409''  to  ''/u01/app/oracle/oradata/AMSDB/group_2.265.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_1.262.1052959409''  to  ''/u01/app/oracle/oradata/AMSDB/group_1.262.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_1.263.1052959409''  to  ''/u01/app/oracle/oradata/AMSDB/group_1.263.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_3.268.1052959459''  to  ''/u01/app/oracle/oradata/AMSDB/group_3.268.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_3.269.1052959459''  to  ''/u01/app/oracle/oradata/AMSDB/group_3.269.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_4.270.1052959461''  to  ''/u01/app/oracle/oradata/AMSDB/group_4.270.log'' "; SQL "ALTER DATABASE RENAME FILE ''+AMSDATA/amsdb/onlinelog/group_4.271.1052959461''  to  ''/u01/app/oracle/oradata/AMSDB/group_4.271.log'' "; RESTORE DATABASE; SWITCH DATAFILE ALL; SWITCH TEMPFILE ALL; recover database; release channel c1; } 根据报错提示,找对应的归档日志文件。 archived log file name=/u01/app/oracle/product/11.2/dbhome_1/dbs/arch2_3150_1052959408.dbf thread=2 sequence=3150 unable to find archived log archived log thread=1 sequence=3450 released channel: c1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 06/01/2023 10:31:57 RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 3450 and starting SCN of 72292228095 catalog start with '/home/oracle/rec_20230601'; #NAME? 再次recover unable to find archived log archived log thread=2 sequence=3153 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 06/01/2023 10:58:58 RMAN-06054: media recovery requesting unknown archived log for thread 2 with sequence 3153 and starting SCN of 72292403969 根据日志提示,系统再次被推进, 接下来恢复redo,一个一个尝试即可,或者计算 (dd if=/home/oracle/rec_20230601/group_3.268.1052959459 skip=1 bs=512 count=1|od -x)第6位16进制转换为10进制。 recover database using BACKUP CONTROLFILE until cancel; recover database using BACKUP CONTROLFILE until cancel; recover database using BACKUP CONTROLFILE until cancel; recover database using BACKUP CONTROLFILE until cancel; 提示: Log applied. Media recovery complete. 完全一致性恢复成功 源端创建测试表,数据还在redo中。非必要不操作,不动生产。 create table rec_20230601(id int,name varchar2(50)); insert into rec_20230601 (id,name) values (2,'2023-6-1'); commit; exit su - grid export ORACLE_SID=+ASM1 asmcmd cp group_1.262.1052959409 /tmp/rec_20230601/ cp group_1.263.1052959409 /tmp/rec_20230601/ cp group_2.264.1052959409 /tmp/rec_20230601/ cp group_2.265.1052959409 /tmp/rec_20230601/ cp group_3.268.1052959459 /tmp/rec_20230601/ cp group_3.269.1052959459 /tmp/rec_20230601/ cp group_4.270.1052959461 /tmp/rec_20230601/ cp group_4.271.1052959461 /tmp/rec_20230601/

相关推荐

热文推荐