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

本文介绍Oracle数据库中CDB(容器数据库)与PDB(可插拔数据库)的备份及恢复流程,包括冷备操作、整库备份、表空间时间点恢复等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

a. 创建备份目录
    $ mkdir -p ~/Safe_Database_Files/cdb2
b. 将数据库设置为归档模式
    $ sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
    SQL> 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 sysdba
        SQL> alter database begin backup
        SQL> !cp datafiles /backup_dir
        SQL> 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及时返回
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值