12c環境中的cdb與pdb

2021-07-16 03:06:43 字數 1555 閱讀 4462

oracle 12c引入了cdb與pdb的新特性,在oracle 12c資料庫引入的多租使用者環境(multitenant environment)中,允許乙個資料庫容器(cdb)承載多個可插拔資料庫(pdb)。cdb全稱為container database,中文翻譯為資料庫容器,pdb全稱為pluggable database,即可插拔資料庫。在oracle 12c之前,例項與資料庫是一對一或多對一關係(rac):即乙個例項只能與乙個資料庫相關聯,資料庫可以被多個例項所載入。而例項與資料庫不可能是一對多的關係。當進入oracle 12c後,例項與資料庫可以是一對多的關係。下面是官方文件關於cdb與pdb的關係圖。

cdb元件(componentsof a cdb)

乙個cdb資料庫容器包含了下面一些元件:

root元件

root又叫cdb$root,儲存著oracle提供的元資料和commonuser,元資料的乙個例子是oracle提供的pl/sql包的源**,common user是指在每個容器中都存在的使用者。

seed元件

seed又叫pdb$seed,這個是你建立pdbs資料庫的模板,你不能在seed中新增或修改乙個物件。乙個cdb中有且只能有乙個seed. 這個感念,個人感覺非常類似sql server中的model資料庫。

pdbs

cdb中可以有乙個或多個pdbs,pdbs向後相容,可以像以前在資料庫中那樣操作pdbs,這裡指大多數常規操作。這些元件中的每乙個都可以被稱為乙個容器。因此,root(根)是乙個容器,seed(種子)是乙個容器,每個pdb是乙個容器。每個容器在cdb中都有乙個獨一無二的的id和名稱。

建立使用者預設的是

container=all,

在cdb

中只能建立全域性使用者

(c##

開頭),

會在cdb

和所有的

pdb中建立該使用者(但是

pdb中的全域性使用者需要另外授權才能夠在

pdb中訪問)。在

pdb中只能建立的使用者為本地使用者

--檢視當前容器

select sys_context('userenv', 'con_name')"container db" from dual;

--檢視pdbs及相關操作

select * from v$pdbs

alter pluggable database pdb1 open;

alter  session set container=pdb1;

select con_id,dbid,name,open_modefrom v$pdbs;

alter pluggable database pdb1 close;

alter pluggable database all close;

--檢視容器庫和外掛程式庫名

select name,pdb from v$services;

12C的審計模式

1.mixed auditing policy 混合審計模式支援新的審計引擎和老的審計引擎一起工作 資料庫公升級後,已有的審計設定不會受到影響。但是官方建議遷移到統一審計模式。資料庫建立後,預設是使用混合模式。在決定使用unified auditing模式之前,可以使用混合模式建立審計策略然後開啟該...

12 C 標準庫中STL體系結構

通常所說的c 的stl是指標準模板庫,只要安裝了c 的編譯器就會存在。其範圍比c 標準庫要小,主要包括六大部件 容器containers 分配器allocators 演算法algorithms 迭代器iterators 介面卡adapter以及仿函式functors,下面對著6大部件。做乙個簡單的解...

Oracle資料庫12c入門與SQL基礎學習

安裝教程網上很多就不寫了,特別注意,最好一次安裝成功,別出意外。按照教程好好裝。解除安裝很麻煩。廢話不多說開始 一 使用者登陸 oracle資料庫初始使用者有點煩人,對初學者也不太友好,我表示我剛開始連登陸都登不進去。系統使用者 sys,system,sysman 這三個使用者的密碼是你裝的時候設定...