oracle 18c 18.3 學習之三 dba_users cdb_users
阿新 • • 發佈:2018-11-28
os: centos 7.4
db: oracle 18c(18.3)
有了cdb,pdb之後,也多了一些檢視,下面簡單分析下 dba_users cdb_users 這兩個資料字典檢視,其它類似的檢視也是一樣的情況。
dba_users
檢視下dba_users的定義,下面貼了些重點程式碼。
from sys.user$ u left outer join sys.resource_group_mapping$ cgm on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and cgm.value = u.name) left outer join sys.ts$ ltts on (u.spare9 = ltts.ts#), sys.ts$ dts, sys.ts$ tts, sys.profname$ p, sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
可見 dba_users 獲取的都是都是底層的資料字典表,所以 dba_users 等被成為資料字典檢視。
不管登入的是 CDB(CDB$ROOT) 還是某個 PDB,都只顯示該 container 的使用者資訊。
cdb_users
一樣貼重點程式碼
FROM CONTAINERS("SYS"."DBA_USERS") k;
可以看出是從多個 CDB 獲取 dba_users。
如果以 sys/system 登入 CDB(CDB
ROOT)使用者返回,通過 con_id 區別。
如果登入某個 PDB 後,檢視 cdb_users,只會顯示該 PDB 的資料庫使用者資訊,和查詢 dba_users 是一樣的效果。