溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

12C多租戶關于CDB、PDB的常用SQL語句

發布時間:2020-08-09 05:46:39 來源:ITPUB博客 閱讀:212 作者:lusklusklusk 欄目:關系型數據庫

查看當前容器和當前用戶

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,CON_ID from cdb_data_files;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女