Oracle 12c及以上手工建立pdb

2021-09-27 05:03:50 字數 2433 閱讀 3022

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...