12C多租戶關於CDB、PDB的常用SQL語句
檢視當前容器和當前使用者
show con_name user
select sys_context('userenv', 'con_name'),sys_context('userenv','session_user') from dual;
檢視所有PDB
show pdbs
select con_id, dbid, guid, name , open_mode from v$pdbs;
啟動PDB:
alter pluggable database all open; --開啟所有PDB
alter pluggable database PDBNAME open; --開啟名稱為PDBNAME的PDB
alter session set container=PDBNAME;--切換名稱為PDBNAME的PDB裡面去開啟
startup
關閉PDB:
alter pluggable database all close immediate; --關閉所有PDB,不加immediate就是預設的normal
alter pluggable database PDBNAME close immediate;--關閉名稱為PDBNAME的PDB,不加immediate就是預設的normal
alter session set container=PDBNAME;--切換名稱為PDBNAME的PDB裡面去關閉
shutdown immediate
建立一個新的PDB:(已經存在db_create_file_dest的情況下)
create pluggable database test admin user admin identified by admin;
alter pluggable database test open; --將test開啟
根據seed模板建立一個新PDB(不存在db_create_file_dest的情況下,必須加上file_name_convert)
create pluggable database pdb1 admin user pdb1 identified by pdb1 file_name_convert=('/u01/app/oracle/oradata/ocp/pdbseed','/u01/app/oracle/oradata/ocp1/pdb1');
alter pluggable database pdb1 open; --將test開啟
克隆PDB
create pluggable database test2 from test; --test必須是開啟的,才可以作為克隆源
alter pluggable database test2 open; --然後開啟這個pdb
刪除PDB
alter pluggable database test2 close immediate; --關閉之後才能刪除
drop pluggable database test2 including datafiles; --刪除PDB test2並同時把資料檔案也從磁碟上刪除了,必須加上including datafiles,不加including datafiles或加keep datafiles都會報錯ORA-65179: cannot keep datafiles for a pluggable database that is not unplugged
unplug拔下某個資料庫(必須要into到具體的xml格式的檔案)
SQL> alter pluggable database pocp1 close immediate;--之後執行cdb_data_files查不到該pdb的資料檔案,但是該pdb的資料檔案還在, show pdbs還可以看到該pdb
SQL> alter pluggable database pocp1 unplug into '/home/oracle/pocp1.xml';--之後執行cdb_data_files查不到該pdb的資料檔案,但是該pdb的資料檔案還在, show pdbs還可以看到該pdb
SQL> drop pluggable database pocp1; --unplug後drop database不加including datafiles就是預設的keep datafiles;該pdb的資料檔案還在,show pdbs看不到該pdb;加了including datafiles的話,該pdb的資料檔案被刪除了
drop pluggable database pocp1=drop pluggable database pocp1 keep datafiles
插上這個資料庫(上面的拔下操作執不執行第三步drop操作的話,執行如下語句會報錯ORA-65012: Pluggable database pocp1 already exists,上面的拔下操作執第三步時加了including datafiles則執行如下語句會報錯ORA-19505: failed to identify file,ORA-27037: unable to obtain file status)
SQL> create pluggable database pocp1 using '/home/oracle/pocp1.xml' nocopy tempfile reuse;
SQL> alter pluggable database pocp1 open;
插上一個資料庫時可以修改PDB名稱,/home/oracle/pocp1.xml是pocp1建立的,該xml檔案中顯示<pdbname>POCP1</pdbname>,但是可以利用該xml建立一個其他名稱的PDB,比如TDB101
SQL>create pluggable database TDB101 using '/home/oracle/pocp1.xml' nocopy tempfile reuse;
查詢CDB$ROOT的資料檔案
select file_name from cdb_data_files where con_id=1;
查詢某個PDB的資料檔案
select file_name from cdb_data_files a,cdb_pdbs b where a.con_id=b.con_id and b.pdb_name='XX'
查詢某個資料檔案對應的PDB
select pdb_name from cdb_data_files a,cdb_pdbs b where a.con_id=b.con_id and a.file_name like '%XX%';
查詢PDB$SEED的資料檔案
alter session set "_exclude_seed_cdb_view"=FALSE;
select file_name from cdb_data_files where con_id=2;
每個PDB執行如下語句只能看到自己這個容器下的資料檔案,CDB才能看到所有容器的資料檔案
select file_name,file_id,CON_ID from cdb_data_files;
每個容器執行如下語句只能看到自己這個容器下的資料檔案,CDB也只能看到自己這個容器的資料檔案
select file_name,file_id,from dba_data_files;
PDB下查cdb_data_files和dba_data_files的結果是一樣,都是PDB自己的檔案
PDB下show pdbs只能看到自己
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2676841/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12c 多租戶 CDB 與 PDB 備份Oracle
- Oracle 12c 多租戶在 CDB 中 Plug A PDB,Unplugging A PDBOracle
- Oracle 12c 多租戶配置和修改 CDB 和 PDB 引數Oracle
- Oracle 12c 多租戶 CDB 與 PDB之 shared undo 與 Local undo 切換Oracle
- Oracle12c多租戶如何連線到CDB或PDB、CDB與PDB容器切換Oracle
- Oracle12c多租戶如何啟動關閉CDB或PDB (PDB自動啟動)Oracle
- 4.3.2 關於使用SQL語句建立CDBSQL
- Oracle 12c 多租戶 手工建立 pdb 與 手工刪除 pdbOracle
- Oracle 12c 多租戶 CDB 與 PDB 級別 expdb 與 impdb(表、使用者、全庫)Oracle
- 12C關於CDB、PDB建立AWR的方法和總結
- 多租戶:在Oracle12.2中 從Non-CDB遷移到PDB,從PDB遷移另一個CDB中Oracle
- Oracle12c多租戶CDB 與 PDB 引數檔案位置探討、查詢 CDB 與 PDB 不同值的引數Oracle
- 12C關於CDB、PDB引數的區別和總結
- Oracle 12c多租戶特性詳解:PDB 的建立、克隆與維護Oracle
- Oracle 12c多租戶特性詳解:PDB 的出與入 InAndOutOracleNaN
- Oracle 12c多租戶特性詳解:PDB 的備份與恢復Oracle
- Oracle 12c 多租戶專題|CDB後設資料內幕Oracle
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- 12C關於CDB、PDB 臨時temp表空間的總結
- 12C關於CDB、PDB 回滾undo表空間的總結
- 12C關於CDB、PDB 日誌檔案redo log的總結
- 基於 SQL 解析的 JPA 多租戶方案SQL
- Oracle多租戶管理員指南-CDB共性概念03Oracle
- Oracle多租戶特性的常用操作Oracle
- 關於oracle 12c多租戶可插拔資料庫的啟停分析(一)Oracle資料庫
- ORACLE 12C新特性——CDB與PDBOracle
- 12c RAC 和 CDB/PDB 學習
- oracle 12c 多租戶 pdb 恢復(單個pdb資料檔案、非系統pdb表空間、整個pdb資料庫)Oracle資料庫
- 多租戶:防止意外建立可插拔資料庫(PDB)- Lone-PDB資料庫
- Oracle 12C RMAN transport tablespace from PDB of RAC CDB to remote PDBOracleREM
- oracle 12c PDB隨CDB啟動和連結PDB的方式Oracle
- 常用的SQL語句SQL
- 常用的SQL 語句SQL
- 關於sql語句的優化SQL優化
- Oracle 12C RMAN Duplicating the PDB to remote CDBOracleREM
- Oracle 12c CDB&PDB 基本維護Oracle
- Part III PDB建立概述-Oracle多租戶管理員指南Oracle
- Oracle 12c 多租戶專題|12cR2中PDB記憶體資源管理Oracle記憶體