1、通過seed方式建立
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/為種子資料庫資料檔案存放路徑,/disk1/oracle/dbs/salespdb/為新的pdb資料庫檔案存放路徑。
2、通過已有的pdb建立(pdb必須處於開啟模式)
ora-65036: 插接式資料庫 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、手工建立pdb後錯誤(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或插入或轉殖方法建立pdb後,可以通過查詢 cdb_pdbs 檢視的status 列檢視新 pdb 的狀態。
如果在開啟新 pdb 之前建立了公用使用者和角色,必須同步 pdb 才能從根檢索新的公用使用者和角色。
當 pdb 在讀/寫模式下開啟時,會自動執行同步。如果在唯讀模式下開啟 pdb,則會返回錯誤。
可以通過查詢 pdb_plug_in_violations 檢視檢視違規說明。
3. 方案
因此,唯一能做的就是在 pdbprod2 中建立該錶空間,關閉資料庫,再次進行同步即可。
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;
select instance_name,logins,status from **$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許可權用於臨時登入,記得revoke。
手工刪除Oracle 12C資料庫
oracle 12c資料庫除了可以使用dbca刪除掉以外,我們還可以使用drop database 命令將其刪除。這種刪除方法非常簡單,不過必須滿足以下2點要求 1 資料庫 必須處於mount狀態,不允許為open狀態 2 資料庫必須處於restricted受限制 模式下。oracle rhel6u...
手工刪除Oracle 12C資料庫例項
oracle 12c資料庫除了可以使用dbca刪除掉以外,我們還可以使用drop database命令將其刪除。這種刪除方法非常簡單,不過必須滿足以下2點要求 1 資料庫必須處於mount狀態,不允許為open狀態 2 資料庫必須處於restricted受限制 模式下。oracle rhel6u4 ...
oracle12c建立使用者
本人在centos7安裝好資料庫 oracle12c 準備建立乙個使用者的時候 報錯了,如下 sql create user bpmx3 identified by bpmx3 create user bpmx3 identified by bpmx3 error at line 1 ora 650...