Oracle 12c PDB基礎(chǔ)

查看pdb開啟狀態(tài)

select con_id, dbid, guid, name , open_mode from v$pdbs;

建立連接

進(jìn)入cdb

sqlplus /nolog
conn sys/sys as dba
sqlplus sys/sys@localhost:1521/orcl as sysdba

進(jìn)入pdb(pdb可以通過alter session container進(jìn)入也可以直接通過tns方式(如下)登錄)
sqlplus sys/sys@localhost:1521/pdborcl as sysdba

顯示所有的plaggable db

show pdbs;

查看當(dāng)前連接名稱

show con_name;

新建pdb

CREATE PLUGGABLE DATABASE xff_db ADMIN USER xff IDENTIFIED BY xifenfei
STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M)
DEFAULT TABLESPACE xifenfei
DATAFILE '/u01/app/oracle/oradata/xifenfei/xff/xifenfei01.dbf' SIZE 25M AUTOEXTEND ON  5  PATH_PREFIX = '/u01/app/oracle/oradata/xifenfei/xff/'
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/xifenfei/pdbseed/', 
'/u01/app/oracle/oradata/xifenfei/xff/');
#### 刪除PDB
DROP PLUGGABLE DATABASE xff_db INCLUDING DATAFILES;

Unplugging PDB

alter pluggable database FF close immediate;
alter pluggable database ff UNPLUG into '/tmp/ff.xml';

Plug Unplugging PDB

create pluggable database ff using '/tmp/ff.xml' copy file_name_convert=('/u01/app/oracle/oradata/xifenfei/FF/','/u01/app/oracle/oradata/xff_l/xff');
exec DBMS_PDB.SYNC_PDB();

啟動(dòng)關(guān)閉PDB

  • pdb的管理可以在cdb中進(jìn)行也可以在pdb中進(jìn)行,
  • 如果是cdb中進(jìn)行,需要PLUGGABLE關(guān)鍵字(如下alter),
  • 如果是pdb中直接和普通數(shù)據(jù)庫一樣(startup/shutdown immediate)

打開單個(gè)pdb

lter pluggable database pdborcl open;

打開所有pdb

alter pluggable database all open;

關(guān)閉所有pdb

alter pluggable database all close immediate;

進(jìn)入pdb

alter session set container=pdborcl;
--//
conn sys/sys@localhost:1521/pdborcl as sysdba;

進(jìn)入cdb

alter session set container=cdb$root;
--//
conn / as sysdba;

創(chuàng)建用戶

  • 創(chuàng)建用戶默認(rèn)的是container=all,在cdb中只能創(chuàng)建全局用戶(c##開頭),
  • 會(huì)在cdb和所有的pdb中創(chuàng)建該用戶(但是pdb中的全局用戶需要另外授權(quán)才能夠在pdb中訪問)。
  • 在pdb中只能創(chuàng)建的用戶為本地用戶

創(chuàng)建全局用戶

create user c##xff identified by xifenfei;

創(chuàng)建本地用戶

alter session set container=pdborcl;
create user xxx identified by 123;

用戶授權(quán)

  • 用戶授權(quán)默認(rèn)情況下是只會(huì)給當(dāng)前container,在cdb中也可以指定container=all,對(duì)所有open的pdb且存在該用戶都進(jìn)行授權(quán)
grant connect to c##xff;
grant resource to c##xff container=all

修改參數(shù)

  • 在cdb中修改,pdb會(huì)繼承進(jìn)去;如果在pdb中修改會(huì)覆蓋pdb從cdb中繼承的參數(shù)含義
alter system set open_cursors=500 container=all;
show parameter open_cursors;
alter session set container=pdborcl;
show parameter open_cursors;
--//
alter system set open_cursors=100;
show parameter open_cursors;
conn / as sysdba
show parameter open_cursors;

使用觸發(fā)器實(shí)現(xiàn)PDB自動(dòng)啟動(dòng)

--先連接  
conn / as sysdba  
  
--創(chuàng)建觸發(fā)器  
CREATE OR REPLACE TRIGGER open_pdbs  
AFTER STARTUP ON DATABASE  
BEGIN  
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';  
END open_pdbs;
\   --sqlplus中結(jié)束腳本編寫
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容