暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 18c pdb异机恢复之cv工具

Vagrant Boy Awy 2019-03-17
886
  1. 异机安装cv客户端

上传软件并解压



输入要安装客户端的IP


安装位置选择








输入server端ip地址


管理员用户名密码


选择不配置,进入管理界面手工配置



安装完毕

2.查看要恢复数据库对策备份历史及历史备份介质确保介质在带库上。

如恢复19年3月11日备份右键查看备份介质

可以看到在两个磁带上123L7和122L7


查看磁带是否在磁带库

可以看到在磁带库上,如果不在需要找到备份磁带放在磁带机上。

3.恢复数据库(基于时间点的不完全恢复)

在如下图中点恢复

暂时不选时间间隔,直接点查看内容

选择要恢复的pdb如hsgz,并且要选择容器数据库和模板库CDB$ROOT和PDB$SEED如下图

选择恢复目标机,并勾选恢复控制文件,并进入高级选项

选择恢复类型

选择恢复控制文件的时间

选择恢复数据库的时间

设置sid

重定向所有数据文件

点ok,完成后点脚本预览然后手工执行恢复,如果脚本不对需要手工进行改动

启动数据库至nomount状态下,并恢复控制文件

rman target /

SET DBID 2540737271;

run {

allocate channel ch1 type 'sbt_tape'

PARMS="SBT_LIBRARY=/opt/commvault/Base/libobk.so, BLKSIZE=1048576 ENV=(CV_mmsApiVsn=2,CV_channelPar=ch1)"

TRACE 0;

## send " -jm 16908298 -a 2:-1 -cl 131 -ins 171 -at 22 -j 49180 -rcp 0 -ms 1 -p 1 -df -PREVIEW";

 restore controlfile  from autobackup  until time = "TO_DATE('03/12/2019 15:03:21','MM/DD/YYYY HH24:MI:SS')" ;

sql 'alter database mount';

}

恢复数据文件

run {

allocate channel ch1 type 'sbt_tape'

PARMS="SBT_LIBRARY=/opt/commvault/Base/libobk.so, BLKSIZE=1048576 ENV=(CV_mmsApiVsn=2,CV_channelPar=ch1)"

TRACE 0;

## send " -jm 17039374 -a 2:-1 -cl 131 -ins 171 -at 22 -j 49180 -rcp 0 -ms 1 -p 2 -df -PREVIEW";

set newname for database to '/oradata/zqcdb/%U';

set until time = "TO_DATE('03/12/2019 08:00:00','MM/DD/YYYY HH24:MI:SS')";

 restore database ROOT;

 restore database "PDB$SEED";

 restore pluggable database HSGZ;

 switch datafile all;

}

有时候会报如下错误

解决方法:执行如下命令

allocate channel for maintenance type disk;

恢复完选择的pdb的数据文件会报如下错误

说22号文件不能做switch,其实这里不是全库恢复不能用switch datafile all;   report schema看一下,发现22号文件是其他pdb的数据文件,如下图,可以忽略。

重新做switch

run {

 switch database "PDB$SEED" to copy;

 switch pluggable database HSGZ to copy;

 switch database root to copy; 

}

做完后查看控制文件中数据文件的路径及对应数据文件的scn号,如果没有问题进行recover

run

{

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' 

PARMS="SBT_LIBRARY=/opt/commvault/Base/libobk.so, BLKSIZE=1048576 ENV=(CV_mmsApiVsn=2,CV_channelPar=ch1)"

;

CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

## set until time = "TO_DATE('03/12/2019 08:00:00','MM/DD/YYYY HH24:MI:SS')";

 recover database skip forever tablespace JXPJ:SYSTEM,JXPJ:SYSAUX,JXPJ:UNDOTBS1,JXPJ:TEMP,JXPJ:UNDO_2,JXPJ:USERS,JXPJ:TS_RISK3,JXPJ:TS_ODS,JXPJ:TBS_HSFA,JXPJ:OGG,XTCRM:SYSTEM,XTCRM:SYSAUX,XTCRM:UNDOTBS1,XTCRM:TEMP,XTCRM:UNDO_2,XTCRM:USERS,XTCRM:TBS_BSS_XTDC,XTCRM:XTCRM,XTCRM:CFCA,XTCRM:OGG,FISP:SYSTEM,FISP:SYSAUX,FISP:UNDOTBS1,FISP:TEMP,FISP:UNDO_2,FISP:USERS,FISP:ETS,FISP:OGG until time = "TO_DATE('03/12/2019 08:00:00','MM/DD/YYYY HH24:MI:SS')";

}

进行到一半的时候报如上错误,发现是没有归档目录,重新指定归档目录进行recover

recover完成,发现无法open resetlogs,查看redo路劲发现不对,用如下命令修改并重新open resetlogs

alter database rename file '+SASDATA/ZQCDB/ONLINELOG/group_1.366.994517199' to '/oradata/ZQCDB/ONLINELOG/group_1.366.994517199';   

alter database rename file '+FRA/ZQCDB/ONLINELOG/group_1.5739.994517199' to '/oradata/ZQCDB/ONLINELOG/group_1.5739.994517199';   

alter database rename file '+SASDATA/ZQCDB/ONLINELOG/group_2.268.994517201' to '/oradata/ZQCDB/ONLINELOG/group_2.268.994517201';   

alter database rename file '+FRA/ZQCDB/ONLINELOG/group_2.5694.994517203' to '/oradata/ZQCDB/ONLINELOG/group_2.5694.994517203';   

alter database open resetlogs;

至此数据恢复完成,但是发现pdb的temp位置不对,进行重建pdb的temp表空间。

文章转载自Vagrant Boy Awy,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论