12c多租戶架構裡給Common/local user賦權的幾種可能場景
12c 多租戶架構引入了common user、local user的概念後,對於使用者許可權的控制沒有原先那麼簡單明瞭,本文列舉了12c多租戶架構中能夠實現的八種賦權的場景,旨在更清晰的瞭解12c所帶來的使用者許可權管理上的變化
首先在CDB$ROOT上建立Common user和 common role:
create user c##guser1 identified by chh;
select * from dba_roles;
create role c##grole1; ----建立common role,不指定container,預設為container=ALL
1、 common role granted locally to common user only in CDB$ROOT,executed in CDB$ROOT
grant c##grole1 to c##guser1; ---不指定container,預設為container=current
2、 common role granted commonly to common user in CDB and all its PDBs,executed in CDB$ROOT
grant c##grole1 to c##guser1 container=all;
3、 privilege granted locally to common user/role only in CDB$ROOT,executed in CDB$ROOT
SQL> grant select any table to c##grole1; –-不指定container,預設為container=current
Grant succeeded
select * from dba_sys_privs where grantee='C##GROLE1';
4、 privilege granted commonly to common user/role in CDB and all its PDBs,executed in CDB$ROOT
SQL> grant select any table to c##grole1 container=all;
Grant succeeded
select * from dba_sys_privs where grantee='C##GROLE1'; ---和上一結果相比多了一行Common=yes
5、 privilege granted locally to common user/role in PDB,executed in PDB
grant insert any table to c##guser1;
6、 common role granted locally to local user/role in PDB,executed in PDB
grant c##grole1 to scott;
7、 local role granted locally to common user/role in PDB,executed in PDB
create role lrole1;
grant lrole1 to c##guser1;
8、 if a common role is granted commonly(grant … container=ALL) from CDB to all it PDBs, then it should only be revoked from CDB
select * from dba_role_privs where grantee='C##GUSER1'
SQL> revoke C##GROLE1 from C##GUSER1; --- if revoked from PDB,ORA errors appears
revoke C##GROLE1 from C##GUSER1
ORA-01951: ROLE 'C##GROLE1' not granted to 'C##GUSER1'
SQL> revoke c##grole1 from c##guser1 container=ALL; ---should be revoked from CDB$ROOT with container=ALL
Revoke succeeded
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/53956/viewspace-1280016/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何理解多租戶架構?架構
- oracle 12c 多租戶體系結構概念Oracle
- 多租戶系統的應用架構應用架構
- SaaS架構:多租戶系統架構設計架構
- 什麼是多租戶架構? - Codonomics架構
- Oracle多租戶架構優勢分析Oracle架構
- 多租戶軟體開發架構架構
- 12C多租戶rman備份文件
- 1.2.1. 非多租戶架構帶來的挑戰架構
- 新零售SaaS架構:多租戶系統架構設計架構
- SaaS多租戶的3種隔離模式模式
- Oracle 12c系列(一)|多租戶容器資料庫Oracle資料庫
- 12C多租戶關於CDB、PDB的常用SQL語句SQL
- Spring Cloud Alibaba 多租戶 saas 設計的企業開發架構SpringCloud架構
- 多租戶
- 一種Django多租戶解決方案Django
- Uber在微服務架構中如何利用多租戶玩轉生產現場測試?微服務架構
- oracle 12c 多租戶體系結構概念之資料字典、服務、使用者、角色與許可權Oracle
- 【解決方案】多租戶技術架構設計入門(一)架構
- ASP.NET Core + SaasKit + PostgreSQL + Citus 的多租戶應用程式架構示例ASP.NETSQL架構
- Part I Multitenant Architecture (多租戶結構)NaN
- 2 多租戶體系結構概述
- Oracle Database 12cR2多租戶權威指南OracleDatabase
- 1.2. 多租戶體系結構的優點
- Oracle 12c 多租戶專題|CDB後設資料內幕Oracle
- Spring Cloud Alibaba 分散式微服務+多租戶saas企業開發架構SpringCloud分散式微服務架構
- Spring Cloud Alibaba 分散式微服務+多租戶saas企業開發架構SpringCloud分散式微服務架構
- 事物系統的幾種異常場景
- 12C PDB使用RMAN的4種完全恢復場景
- 2.2.5 Overview of Common and Local Objects in a CDBViewObject
- 2.2.2 Overview of Common and Local Users in a CDBView
- 1.1. 關於多租戶體系結構
- 重構:你可能不知道的重構場景
- 基於 Ionic 2 多主題、多租戶構建方案探索
- 多租戶解析與Demo
- 3.3.2 多租戶環境的工具
- PHP 併發場景的幾種解決方案PHP
- spring事務失效的幾種場景以及原因Spring
- 常用的幾種大資料架構剖析大資料架構