admin 管理员组

文章数量: 887019

多租户Lesson 07. Backup, Recovery, Flashback CDB and PDBs

多租户Lesson 07. Backup, Recovery, Flashback CDB and PDBs

      • 1. 如何执行CDB 和 PDB 的冷备? 习题册7-1
      • 2. 如何执行CDB 和 PDB 的整库备份? 7-6.. 7-10 习题册7-2
      • 3. 如何从 ROOT 系统表空间数据文件丢失后进行恢复? 习题册7-10
      • 4. 如何从 PDB 系统表空间数据文件丢失后进行恢复? 习题册7-4
      • 5. 如何从所有当前控制文件丢失后进行恢复? 7-17 习题册7-8
      • 6. 如何从丢失了重做日志组后进行恢复? 7-18 习题册7-9
      • 7. 如何对 PDB 进行 TSPITR (表空间时间点恢复)? 7-26 习题册7-13
      • 8. 如何在 CDB 上进行闪回数据库的操作? 7-28 7-29 习题册7-14
      • 9. 如何在 PDB 上执行完全和不完全的介质恢复? 7-12

1. 如何执行CDB 和 PDB 的冷备? 习题册7-1

a. 创建备份目录$ mkdir -p ~/Safe_Database_Files/cdb2
b. 将数据库设置为归档模式$ sqlplus / as sysdbaSQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> alter database open;SQL> shutdown immediate
c. 将文件复制到备份目录(打包压缩)$ tar -czf /home/oracle/Safe_Database_Files/cdb2/db.tar.gz /u01/app/oracle/oradata/cdb2

2. 如何执行CDB 和 PDB 的整库备份? 7-6… 7-10 习题册7-2


```bash
CDB整库备份 | 策略RMAN> connect target /RMAN> configure controlfile autobackup on; #最佳实践原则、控制文件自动备份RMAN> backup database plus archivelog;用户管理的热备(防止块碎片化) | 模式SQL> connect / as sysdbaSQL> alter database begin backupSQL> !cp datafiles /backup_dirSQL> alter database end backup部分数据库备份 | 类型RMAN> connect target /RMAN> backup pluggable database "CDB$ROOT", sales_pdb;RMAN> backup pluggable database hr_pdb plus archivelog;      
PDB整库备份 | 策略RMAN> connect target /RMAN> backup pluggable database sales_pdb;RMAN> backup pluggable database sales_pdb,hr_pdb;部分数据库备份 | 类型RMAN> connect target /RMAN> report schema;RMAN> backup database sales_pdb:tbs2; #限制RMAN> backup database hr_pdb:system,sales_pdb;sysaux;RMAN> backup database system,sales_pdb;sysaux; #根容器缺省

3. 如何从 ROOT 系统表空间数据文件丢失后进行恢复? 习题册7-10

$ rman target /
RMAN> shutdown abort; 
RMAN> startup mount;
RMAN> restore tablespace system;
RMAN> recover tablespace system;
RMAN> alter databaspace open;

4. 如何从 PDB 系统表空间数据文件丢失后进行恢复? 习题册7-4

$ rman target /
RMAN> shutdown abort; 
RMAN> startup mount;
RMAN> restore tablespace pdb2:system;
RMAN> recover tablespace pdb2:system;
RMAN> alter databaspace open;

5. 如何从所有当前控制文件丢失后进行恢复? 7-17 习题册7-8

$ rman target /
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>recover database;
RMAN>alter database open resetlogs; #resetlogs
RMAN>alter pluggable database all open;

6. 如何从丢失了重做日志组后进行恢复? 7-18 习题册7-9

a. 连接到根容器
b. 检查丢失文件的状态:active inactive current
c. 同non-CDBs

7. 如何对 PDB 进行 TSPITR (表空间时间点恢复)? 7-26 习题册7-13

a. 将表空间脱机
$ sqlplus sys/oracle_4U@pdb2_2
SQL> alter tablespace dj_pdb2_2 offline immediate;
b. 执行表空间时间点恢复
$ rman target /
RMAN> recover tablespace pdb2_2:dj_pdb2_2 until scn #select timestamp_to_scn(sysdate) from v$database;auxiliary destination '/u01/app/oracle/oradata';
c. 将表空间联机
$ sqlplus sys/oracle_4U@pdb2_2
SQL> alter tablespace dj_pdb2_2 online;    

8. 如何在 CDB 上进行闪回数据库的操作? 7-28 7-29 习题册7-14

SQL> shutdown immediate
SQL> startup mount 
SQL> flashback database to scn #select timestamp_to_scn(current_timestamp) from v$database; 
SQL> alter database open resetlogs;

9. 如何在 PDB 上执行完全和不完全的介质恢复? 7-12

完全介质恢复打开PDB:除了SYSTEM之外的任何PDB数据文件
不完全介质恢复PDB关闭:一个完整的PDB及时返回

本文标签: 多租户Lesson 07 Backup Recovery Flashback CDB and PDBs