Oracle 18c PDB快照

在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 ;
create pluggable database pdb1_day_2 from pdb1 using snapshot at scn ;

在出现用户错误或其他极端情况时,PDB快照还可用于对PDB的闪回。实施步骤如下:
  1. 关闭PDB1
  2. 从指定PDB快照创建新的PDB
  3. 删除PDB1
  4. 重命名新的PDB为PDB1
  5. 打开PDB1

你可能感兴趣的:(18c,pdb)