多租户-完全恢复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

修改

多租户-完全恢复switch to copy

2.2 连接pdb执行脚本

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

多租户-完全恢复switch to copy

2.3 Image copy备份

rman target sys/oracle@cdb3
report schema;

多租户-完全恢复switch to copy

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

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

多租户-完全恢复switch to copy

list datafilecopy all;

多租户-完全恢复switch to copy

2.4 模拟故障

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

多租户-完全恢复switch to copy

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

多租户-完全恢复switch to copy

2.5 故障恢复

alter database datafile 16 offline;

多租户-完全恢复switch to copy

switch datafile 16 to copy; 
recover datafile 16;

多租户-完全恢复switch to copy

alter database datafile 16 online;

多租户-完全恢复switch to copy

2.6 修改数据文件路径

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

多租户-完全恢复switch to copy

修改路径

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;

多租户-完全恢复switch to copy

2.7 验证数据

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

多租户-完全恢复switch to copy

 

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备份

多租户-完全恢复switch to copy

上一篇:Mongodb DB shell数据操作


下一篇:python分割sql文件