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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12C關於CDB、PDB的官方解釋
- 4.3.2 關於使用SQL語句建立CDBSQL
- 12C關於CDB、PDB建立AWR的方法和總結
- 多租戶:在Oracle12.2中 從Non-CDB遷移到PDB,從PDB遷移另一個CDB中Oracle
- 12C關於CDB、PDB引數的區別和總結
- 12C關於CDB、PDB 臨時temp表空間的總結
- 12C關於CDB、PDB 回滾undo表空間的總結
- 12C關於CDB、PDB 日誌檔案redo log的總結
- Oracle 12c 多租戶專題|CDB後設資料內幕Oracle
- 【12c cdb pdb】實驗
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- 基於 SQL 解析的 JPA 多租戶方案SQL
- sql常用語句SQL
- oracle 12c PDB隨CDB啟動和連結PDB的方式Oracle
- 12C多租戶rman備份文件
- Oracle多租戶管理員指南-CDB共性概念03Oracle
- 關於Mybatis中SQL語句的整理MyBatisSQL
- MySQL中常用的SQL語句MySql
- sqlserver dba常用的sql語句SQLServer
- Part III PDB建立概述-Oracle多租戶管理員指南Oracle
- 1.1. 關於多租戶體系結構
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(一)什麼是CDB與PDB?Oracle
- 常用sql進階語句SQL
- SQL 常用語句一覽SQL
- oracle 12c 多租戶體系結構概念Oracle
- 資料庫常用的sql語句大全--sql資料庫SQL
- Oracle 18c新特性:多租戶艦隊 CDB FleetOracle
- python關於pymysql 執行sql語句in的用法PythonMySql
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 【PDB】Oracle pdb維護常用sql命令OracleSQL
- Oracle 12c系列(七) | Non-CDB轉換為PDBOracle
- Part II 建立和配置CDB-Oracle多租戶管理員指南Oracle
- Android原生SQLite常用SQL語句AndroidSQLite
- mysql 常用sql語句 簡介MySql
- Oracle 12c系列(一)|多租戶容器資料庫Oracle資料庫
- oracle 12c中CDB和PDB的備份還原實驗Oracle
- 12C把non-CDB的單庫匯入到CDB裡面當成PDB的方法