共计 903 个字符,预计需要花费 3 分钟才能阅读完成。
在 Oracle 18C 数据库中,创建 PDB 时可以同时为 PDB 创建快照,完整的保存快照创建时间点的 PDB 数据。PDB 快照主要有两个作用:
- 通过闪回恢复数据到快照时间点
- 使用快照 PDB 查询历史数据
每个 PDB 快照都会关联一个快照名称,可以在创建时定义也可以由系统自动生成。同时,每个快照也会关联创建时的时间戳和 SCN。每个 PDB 允许保存的最大 PDB 快照数量由 MAX_PDB_SNAPSHOTS 属性控制,最大和默认值均为 8。当创建的 PDB 快照数量超过定义时,最先创建的 PDB 快照将会被删除。使用 alter database 命令可以修改最大允许的 PDB 快照数量,如果将限制设为 0,则会删除所有的 PDB 快照。
PDB 创建时默认开始快照功能,可以通过两种方式对 PDB 快照进行定义:
1. 手工方式
创建或修改 PDB 是指定 snapshot mode manual 字句,这是 PDB 创建时的默认行为
create pluggable database pdb1 snapshot mode manual;
2. 定义一个自动创建的时间周期
alter pluggable database pdb1 snapshot mode every 24 hours;
当时间量以分钟表示时,指定值必须小于 3000;当时间量以小时表示时,指定值不能超过 2000。
PDB 快照创建完成后,可以利用其创建新的 PDB。使用的 PDB 快照可通过快照名称、快照 SCN 或者快照时间戳来指定。
create pluggable database pdb1_day_1 from pdb1 using snapshot <snapshot_name>;
create pluggable database pdb1_day_2 from pdb1 using snapshot at scn <snapshot_SCN>;
在出现用户错误或其他极端情况时,PDB 快照还可用于对 PDB 的闪回。实施步骤如下:
1. 关闭 PDB1
2. 从指定 PDB 快照创建新的 PDB
3. 删除 PDB1
4. 重命名新的 PDB 为 PDB1
5. 打开 PDB1
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: