多租户-完全恢复switch to copy

多租户-完全恢复switch to copy

1 使用switch to copy来恢复CDB中的数据文件

To switch a data file in a CDB, connect to the root and use the same steps that you would use for a non-CDB.

针对于CDB中的数据文件丢失,利用Image copy备份来恢复和non-CDB恢复方式一样

直通车:点我查看non-CDB Image copy备份

 

2 在CDB中使用switch to copy来恢复PDB中的数据文件

2.1 在pdb中创建scott用户

cp $ORACLE_HOME/rdbms/admin/utlsampl.sql $ORACLE_HOME/rdbms/admin/utlsampl.sql.bak
vi $ORACLE_HOME/rdbms/admin/utlsampl.sql

修改

2.2 连接pdb执行脚本

sqlplus sys/oracle@pdb2 as sysdba
@$ORACLE_HOME/rdbms/admin/utlsampl.sql

2.3 Image copy备份

rman target sys/oracle@cdb3
report schema;

为PDB2的16号文件执行Image copy备份

backup as copy datafile 16 format '/u01/app/cp_bak/df16.bak';

list datafilecopy all;

2.4 模拟故障

rm /u01/app/oracle/oradata/CDB3/pdb2/users01.dbf

sqlplus sys/oracle@pdb2 as sysdba
alter system flush buffer_cache;
select * from scott.emp;

2.5 故障恢复

alter database datafile 16 offline;

switch datafile 16 to copy; 
recover datafile 16;

alter database datafile 16 online;

2.6 修改数据文件路径

col name for a50
select file#,name from v$datafile;

修改路径

alter tablespace users offline;
!mv /u01/app/cp_bak/df16.bak /u01/app/oracle/oradata/CDB3/pdb2/users01.dbf
alter tablespace users rename datafile '/u01/app/cp_bak/df16.bak' to '/u01/app/oracle/oradata/CDB3/pdb2/users01.dbf';
alter tablespace users online;

2.7 验证数据

alter system flush buffer_cache;
select * from scott.emp;

 

3 在PDB中使用switch to copy来恢复PDB中的数据文件

use the SWITCH DATABASE or SWITCH DATAFILE command to switch data files in that PDB.

使用SWITCH DATABASE或SWITCH DATAFILE命令切换该PDB中的数据文件

类似于non-CDB操作

直通车:点我查看non-CDB Image copy备份

posted @ 2021-07-21 11:44  chchcharlie、  阅读(168)  评论(0)    收藏  举报