需要两个实例的例子和PDB快照

应该是这么玩的

克隆远程PDB

需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
查看CDB1实例
需要两个实例的例子和PDB快照
查看CDB2实例
. oraenv
需要两个实例的例子和PDB快照
连接到张三,创建用户,在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;
需要两个实例的例子和PDB快照
CONN / AS SYSDBA
ALTER PLUGGABLE DATABASE zspdb CLOSE;
ALTER PLUGGABLE DATABASE zspdb OPEN READ ONLY;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
创建数据库连接,在CDB1
CREATE DATABASE LINK clone_link
CONNECT TO remote_clone_user IDENTIFIED BY remote_clone_user USING ‘zspdb’;
需要两个实例的例子和PDB快照
DESC [email protected]_link
需要两个实例的例子和PDB快照
CREATE PLUGGABLE DATABASE zspdbnew FROM [email protected]_link;
需要两个实例的例子和PDB快照
ALTER PLUGGABLE DATABASE zspdbnew OPEN;
需要两个实例的例子和PDB快照
查看创建
需要两个实例的例子和PDB快照

代理PDB

同上面一样,两个实例
需要两个实例的例子和PDB快照
CREATE USER c##zs_user IDENTIFIED BY aabb123;
需要两个实例的例子和PDB快照
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##zs_user
CONTAINER=ALL;
需要两个实例的例子和PDB快照
查看CDB1
需要两个实例的例子和PDB快照
CREATE DATABASE LINK clone_link
CONNECT TO c##zs_user IDENTIFIED BY aabb123 USING ‘cdb2’;
需要两个实例的例子和PDB快照
CREATE PLUGGABLE DATABASE zspdb_proxy AS PROXY FROM [email protected]_link;
需要两个实例的例子和PDB快照
ALTER PLUGGABLE DATABASE zspdb_proxy OPEN;
需要两个实例的例子和PDB快照
查看哪些代理PDB
COLUMN name FORMAT A30
SELECT name, proxy_pdb
FROM v$pdbs;
需要两个实例的例子和PDB快照

SELECT pdb_name, is_proxy_pdb
FROM cdb_pdbs;
需要两个实例的例子和PDB快照
删除CDB2原来创建的用户
conn sys/[email protected] as sysdba
需要两个实例的例子和PDB快照
DROP USER c##zs_user CASCADE;
需要两个实例的例子和PDB快照
切换到CDB1
conn sys/[email protected] AS SYSDBA
select name from v$database;
alter session set container = zspdb_proxy;
需要两个实例的例子和PDB快照
创建用户测试
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;
需要两个实例的例子和PDB快照
创建表查看
CONN test/[email protected]_proxy
INSERT INTO t1 VALUES (1);
COMMIT;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
conn [email protected]_proxy as sysdba
需要两个实例的例子和PDB快照

SET LINESIZE 100
SELECT name FROM v$datafile;
需要两个实例的例子和PDB快照

PDB快照

开启_exadata_feature_on=true
show PARAMETERS _exadata_feature_on
需要两个实例的例子和PDB快照
alter system set “_exadata_feature_on”=true scope=spfile;
需要两个实例的例子和PDB快照
shutdown immediate;
需要两个实例的例子和PDB快照
startup
需要两个实例的例子和PDB快照
创建PDB5和快照
CREATE PLUGGABLE DATABASE pdb5
ADMIN USER pdb_admin IDENTIFIED BY Password1
FILE_NAME_CONVERT=(‘pdbseed’,‘pdb5’)
SNAPSHOT MODE EVERY 24 HOURS;
需要两个实例的例子和PDB快照
ALTER PLUGGABLE DATABASE pdb5 OPEN;
ALTER PLUGGABLE DATABASE pdb5 SAVE STATE;
需要两个实例的例子和PDB快照
查看创建的快照
SELECT p.con_id, p.pdb_name,
p.snapshot_mode,p.snapshot_interval
FROM cdb_pdbs p
ORDER BY 1;
需要两个实例的例子和PDB快照

更改快照,必须连接到PDB才能更改快照设置
需要两个实例的例子和PDB快照
切换到要修改的容器
ALTER SESSION SET CONTAINER = pdb5;
需要两个实例的例子和PDB快照
更改快照设置,查看,修改几个查看
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE EVERY 2999 MINUTES;
需要两个实例的例子和PDB快照
SELECT p.con_id, p.pdb_name,
p.snapshot_mode,p.snapshot_interval
FROM cdb_pdbs p
ORDER BY 1;
需要两个实例的例子和PDB快照
修改成小时
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE EVERY 1999 HOURS;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
手动创建快照
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE MANUAL;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
关闭快照
ALTER PLUGGABLE DATABASE
SNAPSHOT MODE NONE;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
查询最大的快照数量
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;
需要两个实例的例子和PDB快照
修改快照数量
ALTER PLUGGABLE DATABASE SET
MAX_PDB_SNAPSHOTS=0;
需要两个实例的例子和PDB快照
最多8个
ALTER PLUGGABLE DATABASE SET
MAX_PDB_SNAPSHOTS=8;
需要两个实例的例子和PDB快照
需要两个实例的例子和PDB快照
超过会报错
需要两个实例的例子和PDB快照
手动快照
显示快照信息,现在没有
需要两个实例的例子和PDB快照
生成快照,一个系统,一个自定义快照
ALTER PLUGGABLE DATABASE SNAPSHOT;
ALTER PLUGGABLE DATABASE SNAPSHOT lihao_kuaizhao;
需要两个实例的例子和PDB快照
查看生成的快照
需要两个实例的例子和PDB快照
删除快照
ALTER PLUGGABLE DATABASE
DROP SNAPSHOT SNAP_2153842904_1048004195;
需要两个实例的例子和PDB快照
查看删除
需要两个实例的例子和PDB快照