--查看PDB信息(在CDB模式下)
show pdbs? --查看所有pdb
select name,open_mode from v$pdbs;? --v$pdbs為PDB信息視圖
select con_id, dbid, guid, name , open_mode from v$pdbs;
--切換容器
alter session set container=orcl1? --切換到PDBorcl1容器
alter session set container=CDB$ROOT? ? --切換到CDB容器
--查看當(dāng)前屬于哪個(gè)容器
select sys_context('USERENV','CON_NAME') from dual; --使用sys_context查看屬于哪個(gè)容器
show con_name? --用show查看當(dāng)前屬于哪個(gè)容器
--啟動(dòng)PDB
alter pluggable database orcl1 open;? ? --開(kāi)啟指定PDB
alter pluggable database all open;? --開(kāi)啟所有PDB
alter session set container=orcl1;? --切換到PDB進(jìn)去開(kāi)啟數(shù)據(jù)庫(kù)
startup
--關(guān)閉PDB
alter pluggable database orcl1 close;? ? ? --關(guān)閉指定的PDB
alter pluggable database all close;? ? --關(guān)閉所有PDB
alter session set container=orcl1;? --切換到PDB進(jìn)去關(guān)閉數(shù)據(jù)庫(kù)
shutdown immediate
--創(chuàng)建或克隆前要指定文件映射的位置(需要CBD下sysdba權(quán)限)
alter system set db_create_file_dest='/u01/app/oracle/oradata/orcl/orcl2';
--創(chuàng)建一個(gè)新的PDB:(需要CBD下sysdba權(quán)限)
create pluggable database test admin user admin identified by admin;? ?
alter pluggable database test_pdb open;? ? --將test_pdb 打開(kāi)
--克隆PDB(需要CBD下sysdba權(quán)限)
create pluggable database orcl2 from orcl1;? --test_pdb必須是打開(kāi)的,才可以被打開(kāi)
alter pluggable database orcl2 open;? --然后打開(kāi)這個(gè)pdb
--刪除PDB(需要CBD下sysdba權(quán)限)
alter pluggable database? orcl2 close;? --關(guān)閉之后才能刪除
drop pluggable database orcl2 including datafiles;? --刪除PDB orcl2
--設(shè)置CDB啟動(dòng)PDB自動(dòng)啟動(dòng)(在這里使用的是觸發(fā)器)
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/