需要两个实例的例子和PDB快照
应该是这么玩的
克隆远程PDB
查看CDB1实例
查看CDB2实例
. oraenv
连接到张三,创建用户,在CDB2
ALTER SESSION SET CONTAINER=zspdb;
CREATE USER remote_clone_user IDENTIFIED BY remote_clone_user;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO remote_clone_user;
CONN / AS SYSDBA
ALTER PLUGGABLE DATABASE zspdb CLOSE;
ALTER PLUGGABLE DATABASE zspdb OPEN READ ONLY;
创建数据库连接,在CDB1
CREATE DATABASE LINK clone_link
CONNECT TO remote_clone_user IDENTIFIED BY remote_clone_user USING ‘zspdb’;
DESC [email protected]_link
CREATE PLUGGABLE DATABASE zspdbnew FROM [email protected]_link;
ALTER PLUGGABLE DATABASE zspdbnew OPEN;
查看创建
代理PDB
同上面一样,两个实例
CREATE USER c##zs_user IDENTIFIED BY aabb123;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##zs_user
CONTAINER=ALL;
查看CDB1
CREATE DATABASE LINK clone_link
CONNECT TO c##zs_user IDENTIFIED BY aabb123 USING ‘cdb2’;
CREATE PLUGGABLE DATABASE zspdb_proxy AS PROXY FROM [email protected]_link;
ALTER PLUGGABLE DATABASE zspdb_proxy OPEN;
查看哪些代理PDB
COLUMN name FORMAT A30
SELECT name, proxy_pdb
FROM v$pdbs;
SELECT pdb_name, is_proxy_pdb
FROM cdb_pdbs;
删除CDB2原来创建的用户
conn sys/[email protected] as sysdba
DROP USER c##zs_user CASCADE;
切换到CDB1
conn sys/[email protected] AS SYSDBA
select name from v$database;
alter session set container = zspdb_proxy;
创建用户测试
CREATE TABLESPACE test_ts DATAFILE SIZE 1M AUTOEXTEND ON NEXT 1M;
CREATE USER test IDENTIFIED BY test
DEFAULT TABLESPACE test_ts
QUOTA UNLIMITED ON test_ts;
GRANT CREATE SESSION, CREATE TABLE TO test;
创建表查看
CONN test/[email protected]_proxy
INSERT INTO t1 VALUES (1);
COMMIT;
conn [email protected]_proxy as sysdba
SET LINESIZE 100
SELECT name FROM v$datafile;
PDB快照
开启_exadata_feature_on=true
show PARAMETERS _exadata_feature_on
alter system set “_exadata_feature_on”=true scope=spfile;
shutdown immediate;
startup
创建PDB5和快照
CREATE PLUGGABLE DATABASE pdb5
ADMIN USER pdb_admin IDENTIFIED BY Password1
FILE_NAME_CONVERT=(‘pdbseed’,‘pdb5’)
SNAPSHOT MODE EVERY 24 HOURS;
ALTER PLUGGABLE DATABASE pdb5 OPEN;
ALTER PLUGGABLE DATABASE pdb5 SAVE STATE;
查看创建的快照
SELECT p.con_id, p.pdb_name,
p.snapshot_mode,p.snapshot_interval
FROM cdb_pdbs p
ORDER BY 1;
更改快照,必须连接到PDB才能更改快照设置
切换到要修改的容器
ALTER SESSION SET CONTAINER = pdb5;
更改快照设置,查看,修改几个查看
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE EVERY 2999 MINUTES;
SELECT p.con_id, p.pdb_name,
p.snapshot_mode,p.snapshot_interval
FROM cdb_pdbs p
ORDER BY 1;
修改成小时
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE EVERY 1999 HOURS;
手动创建快照
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE MANUAL;
关闭快照
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE NONE;
查询最大的快照数量
SELECT pr.con_id,
p.pdb_name,
pr.property_name,
pr.property_value,
pr.description
FROM cdb_properties pr
JOIN cdb_pdbs p ON pr.con_id = p.con_id
WHERE pr.property_name = ‘MAX_PDB_SNAPSHOTS’
ORDER BY pr.property_name;
修改快照数量
ALTER PLUGGABLE DATABASE SET
MAX_PDB_SNAPSHOTS=0;
最多8个
ALTER PLUGGABLE DATABASE SET
MAX_PDB_SNAPSHOTS=8;
超过会报错
手动快照
显示快照信息,现在没有
生成快照,一个系统,一个自定义快照
ALTER PLUGGABLE DATABASE SNAPSHOT;
ALTER PLUGGABLE DATABASE SNAPSHOT lihao_kuaizhao;
查看生成的快照
删除快照
ALTER PLUGGABLE DATABASE
DROP SNAPSHOT SNAP_2153842904_1048004195;
查看删除