1 文件结构图如下:
Oracle 12c中当对指定的PDB进行不完全恢复的时候,其它的PDBS是完全不受影响的,
多租户特性的好处就在于此,并且在恢复完成后老的PDB备份仍然有效,我们也不用为这个PDB创建新的备份。在实验的时候我遇到了一个小问题,就是在进行recover操作时会启动辅助实例,辅助实例则会使用到fast recovery area,如果fast recovery area的空间不够了,recover时会报错。后来手动使用AUXILIARY DESTINATION子句来为辅助实例指定一个临时的位置,就没有问题了。
在执行select * from v$datafile可以查询到所有的数据文件 ,
但是在cdb条件下管理pdb表空间对应的数据文件是不可以的,会报错
ORA-01516 : nonexistent log file, datafile, or tempfile "/u01/app/oracle/product/12.1.0/dbhome_1/dbs/UNNAMED00087"
需要切换到对应的pdb进行实际管理
share undo模式。
1 修改归档模式:
shutdown immediate;
startup mount
alter database archivleog;
alter database open;
12.2版本出现local undo方式,UNDO文件也单独使用。
2 备份cdb
backup database root;
3 备份pdb
rman target /
backup pluggable database pdb1;
backup pluggable database pdb2;
backup database orclpdb1;
backup database orclpdb2;
backup database orclpdb3;
3 还原操作 ;
RUN {
set newname for database to '+DATAC1';
restore database root;
restore database "PDB$SEED";
restore pluggable database BPMDB_PRD;
}RUN {
switch database "PDB$SEED" to copy;
switch pluggable database BPMDB_PRD to copy;
switch database root to copy;
}
3 恢复操作
3.1 完全恢复整个pdb1
- 备份pdb orcl
backup pluggable database orcl;
alter pluggable database close immediate;
rm 全部orcl对应的数据文件
- 完全恢复pdb orcl
正常开启pdb,
sqlplus / as sysdba
startup
show pdbs
orcl mounted
rman target /
restore pluggable database orcl;
recover pluggable database orcl;
- 不完全恢复pdb orcl
Oracle 12c中当对指定的PDB进行不完全恢复的时候,其它的PDBS是完全不受影响的,多租户特性的好处就在于此,并且在恢复完成后老的PDB备份仍然有效,我们也不用为这个PDB创建新的备份。在实验的时候我遇到了一个小问题,就是在进行recover操作时会启动辅助实例,辅助实例则会使用到fast recovery area,如果fast recovery area的空间不够了,recover时会报错。后来手动使用AUXILIARY DESTINATION子句来为辅助实例指定一个临时的位置,就没有问题了。
在cdb启动到mount的状态下进行恢复pdb报错如下:
RMAN-05141:TARGET DATABASE MUST BE OPEND FOR FLASHBACK PDB OR PDB POINT-IN-TIME-RECOVERY.
srvctl start instance -d orcl -n rac1
show pdbs;
rman target /
recover pluggable database orcl until scn xxxxxxx auxiliary destination '/home/oracle';
alter pluggable database orcl open resetlogs;(整体的redo sequence未重置)
脚本:
run {
set until scn 123829238;
restore pluggable database orcl;
recover pluggable database orcl auxiliary destination '/home/oracle';
alter pluggable database orcl open resetlogs;
}
- 恢复单个表空间
restore tablespace orcl:sysaux;
- recover tablespace orcl:sysaux;
- alter pluggable database orcl open;
- 普通 表空间
- alter session set congtainer=orcl;
- alter tablespace users offline;
- rman target /
- restore tablespace orcl:users;
- recover tablespace orcl:USERS;
- alter tablespace users online;
实战案例1 完全恢复RMMDB数据库
sqlplus / as sysdba
show pdbs
alter pluggable database rmmdb close immediate;
rman target /
restore pluggable database rmmdb;
recover pluggable databsae rmmdb;
alter pluggable databsae rmmdb open;