SQL> set linesize 1500 SQL> col con_id format99999 SQL> col propery_name format a17 SQL> col pdb_name format a9 SQL> col value format a12 SQL> select r.con_id, p.pdb_name, property_name,property_value as value, description FROM cdb_properties r,cdb_pdbs p where r.con_id = p.con_id and property_name LIKE 'MAX_PDB%' order by property_name;
默认快照最大数量为 8。
将当前 PDB 的快照数量设置为 7 :
1 2
SQL> alter session set container=PDB; SQL> alter pluggable database set max_pdb_snapshots=7;
删除所有的快照:
1
SQL> alter pluggable database set max_pdb_snapshots=0;
配置自动生成 PDB 快照
默认都是手动生成快照,可以使用 snapshot mode every 子句自动产生 PDB 快照。
1 2 3 4 5
SQL> select snapshot_mode "s_mode" , snapshot_interval/60"snap_int_hrs" FROM dba_pdbs;
s_mode snap_int_hrs ------ ------------ MANUAL
进入 PDB,更改自动创建模式为每 24 小时自动生成 PDB 快照:
1 2 3 4 5 6 7
SQL> alter session set container=PDB; SQL> alter pluggable database snapshot mode every 24 hours; alter pluggable database snapshot mode every 24 hours * ERROR at line 1: ORA-12754: Feature PDB SNAPSHOT CAROUSEL is disabled due to missing capability .
报错解决方法:
1 2 3 4 5 6 7 8
SQL> alter session set container=cdb$root; SQL> alter system set"_exadata_feature_on"=true scope=spfile; SQL> shutdown immediate; SQL> startup
SQL> alter pluggable database PDB open; SQL> alter session set container=PDB; SQL> alter pluggable database snapshot mode every 24 hours;
conn / as sysdba; SQL> create pluggable database PDB2 from PDB file_name_convert=('PDB','PDB2') snapshot mode every 120 minutes; SQL> alter pluggable database PDB2 open; SQL> alter pluggable database PDB2 save state;
查看创建的快照:
1
SQL> select p.con_id, p.pdb_name,p.snapshot_mode,p.snapshot_interval from cdb_pdbs p order by 1;
更改快照设置:
1 2 3 4 5 6 7 8 9 10 11 12 13
SQL> alter session set container=PDB2; SQL> alter pluggable database PDB2 snapshot mode every 30 minutes; SQL> select p.con_id, p.pdb_name,p.snapshot_mode,p.snapshot_interval from cdb_pdbs p order by 1;
SQL> alter pluggable database PDB2 snapshot mode every 1 hours; SQL> select p.con_id, p.pdb_name,p.snapshot_mode,p.snapshot_interval from cdb_pdbs p order by 1;
SQL> alter pluggable database snapshot; alter pluggable database snapshot * ERROR at line 1: ORA-65363: pluggable database PDB2 not enabled for snapshots
SQL> alter pluggable database snapshot test_snapshot; alter pluggable database snapshot test_snapshot * ERROR at line 1: ORA-65363: pluggable database PDB2 not enabled for snapshots
CDB 必须时 LOCAL UNDO 模式,用户必须有权限创建和删除 PDB。 如果不指定快照名,系统自动生成唯一名称的快照:
1 2 3 4 5 6
SQL> alter pluggable database snapshot mode manual; SQL> alter pluggable database snapshot test_snapshot; alter pluggable database snapshot test_snapshot * ERROR at line 1: ORA-64762: cannot create snapshot
此时失败的原因是快照最大数设置成了 0:
1 2 3 4 5
[oracle@oel7-host1 ~]$ oerr ORA 64762 64762, 0000, "cannot create snapshot" // *Cause: An attempt was made to create a snapshot while'max_pdb_snapshots' // was set to 0. // *Action: max_pdb_snapshots should be set greater than 0 to take pdb snapshots.
修改设置并创建快照:
1 2 3 4 5
SQL> alter session set container=PDB2; SQL> alter pluggable database set max_pdb_snapshots=8;
SQL> alter pluggable database snapshot; SQL> alter pluggable database snapshot test_snapshot;
SQL> col snapshot_name format a30 SQL> col full_snapshot_path format a80 SQL> select con_id,con_name,snapshot_name,snapshot_scn,full_snapshot_path FROM cdb_pdb_snapshots order by con_id,snapshot_scn;
SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/ORCL/PDB_snap_test';
SQL> create pluggable database PDB_snap_test from PDB2 using snapshot test_snapshot;
SQL> alter pluggable database PDB_SNAP_TEST open; SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO 4 PDB2 READ WRITE NO 5 PDB_SNAP_TEST READ WRITE NO
SQL> alter pluggable database PDB_SNAP_TEST close; SQL> drop pluggable database PDB_SNAP_TEST including datafiles;
评论· · · · · ·