ITPub博客

首页 > 数据库 > Oracle > Avamar 备份恢复 Oracle

Avamar 备份恢复 Oracle

原创 Oracle 作者:winnzheng 时间:2024-07-11 11:40:12 0 删除 编辑


---------------------------------------------------------------------------------------------------------------------------

源端创建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/



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70031606/viewspace-3021942/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Happy --开心 Appreciation --心怀感恩 Passion --激情四溢 Performance --出类拔萃 Young --充满活力

注册时间:2023-09-04

  • 博文量
    30
  • 访问量
    24390