溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Oracle 12c及以上手工創(chuàng)建pdb

發(fā)布時(shí)間:2020-02-29 13:56:07 來源:網(wǎng)絡(luò) 閱讀:598 作者:18620626259 欄目:關(guān)系型數(shù)據(jù)庫(kù)

1、通過seed方式創(chuàng)建

CREATE PLUGGABLE DATABASE salespdb

ADMIN USER salesadm IDENTIFIED BY password

ROLES = (dba)

DEFAULT TABLESPACE sales

DATAFILE '/home/oracle/scripts/ORCL/salespdb/sales01.dbf' SIZE 250M AUTOEXTEND ON

FILE_NAME_CONVERT = ('/home/oracle/scripts/ORCL/pdbseed/','/home/oracle/scripts/ORCL/salespdb/')

STORAGE (MAXSIZE 2G)

PATH_PREFIX = '/home/oracle/scripts/ORCL/salespdb/'


說明:/disk1/oracle/dbs/pdbseed/為種子數(shù)據(jù)庫(kù)數(shù)據(jù)文件存放路徑,/disk1/oracle/dbs/salespdb/為新的pdb數(shù)據(jù)庫(kù)文件存放路徑。



2、通過已有的pdb創(chuàng)建(pdb必須處于打開模式)

ORA-65036: 插接式數(shù)據(jù)庫(kù) SALESPDB 未在所需模式下打開

CREATE PLUGGABLE DATABASE salespdb1 FROM salespdb

FILE_NAME_CONVERT = ('/home/oracle/scripts/ORCL/salespdb/', '/home/oracle/scripts/ORCL/salespdb1/')

PATH_PREFIX = '/home/oracle/scripts/ORCL/salespdb1';



3、手工創(chuàng)建pdb后錯(cuò)誤(RESTRICTED值屬于yes)

SQL> show pdbs;

? ? CON_ID CON_NAME? ? ? ? ? ? ? ? ? ? ? ?OPEN MODE? RESTRICTED

---------- ------------------------------ ---------- ----------

? ? ? ? ?2 PDB$SEED? ? ? ? ? ? ? ? ? ? ? ?READ ONLY? NO

? ? ? ? ?3 PDB? ? ? ? ? ? ? ? ? ? ? ? ? ? READ WRITE NO

? ? ? ? ?4 SALESPDB? ? ? ? ? ? ? ? ? ? ? ?READ WRITE YES

? ? ? ? ?5 HQ_PDB? ? ? ? ? ? ? ? ? ? ? ? ?READ WRITE YES

? ? ? ? ?6 SALESPDB1? ? ? ? ? ? ? ? ? ? ? READ WRITE NO



select? * from? ?PDB_PLUG_IN_VIOLATIONS?


原因

?用種子PDB或插入或克隆方法創(chuàng)建PDB后,可以通過查詢 CDB_PDBS 視圖的STATUS 列查看新 PDB 的狀態(tài)。

如果在打開新 PDB 之前創(chuàng)建了公用用戶和角色,必須同步 PDB 才能從根檢索新的公用用戶和角色。

當(dāng) PDB 在讀/寫模式下打開時(shí),會(huì)自動(dòng)執(zhí)行同步。如果在只讀模式下打開 PDB,則會(huì)返回錯(cuò)誤。

可以通過查詢 PDB_PLUG_IN_VIOLATIONS 視圖查看違規(guī)說明。



3. 方案

?因此,唯一能做的就是在 PDBPROD2 中創(chuàng)建該表空間,關(guān)閉數(shù)據(jù)庫(kù),再次進(jìn)行同步即可。

? create tablespace? sqlaudit_mon datafile '/home/oracle/scripts/ORCL/salespdb/sqlaudit_mon.dbf' size 10m;?

? create tablespace? sqlaudit_mon datafile '/home/oracle/scripts/ORCL/salespdb1/sqlaudit_mon.dbf' size 10m;?


? 在CDB下查詢受限的PDB:

select con_id, name,open_mode,restricted from v$pdbs;

在PDB中查詢相關(guān)受限的PDB:

select instance_name,logins,status from gv$instance (v$containers也可以查詢)


cdb下更換 pdb restricted 模式:


alter pluggable database pdb_name close immediate instance=all;(all except pdb1)

alter pluggable database pdb_name open read write instance=all;


pdb下更換 pdb restricted 模式:


alter session set container=pdb_name;

alter session set container=SALESPDB;

alter pluggable database close immediate;

alter pluggable database open;


在受限模式下,可以授予特定用戶 restricted session權(quán)限用于臨時(shí)登錄,記得revoke。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI