多租户-完全恢复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恢复方式一样
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操作

浙公网安备 33010602011771号