Oracle12C多租戶管理用戶、角色、權(quán)限

在Oracle12C中,用戶權(quán)限的管理相對傳統(tǒng)的 Oracle 單數(shù)據(jù)庫環(huán)境稍有不同。在多租戶環(huán)境中有兩種類型的用戶。

創(chuàng)新互聯(lián)公司專注于荔灣企業(yè)網(wǎng)站建設(shè),自適應網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。荔灣網(wǎng)站建設(shè)公司,為荔灣等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

①:共同用戶(Common User): 該用戶存在所有容器 (根和所有的 Pdb) 中。

②:本地用戶(Local User): 用戶只有在特定的 PDB 中存在。同樣的用戶名中可以存在多個Pdb中創(chuàng)建,但它們之間沒有關(guān)系。

同樣,有兩種類型的角色:如

①:共同角色(Common Role): 該角色在所有容器 (根和所有的 Pdb) 中。

②:本地角色(Local Role): 該角色只存在于特定的 PDB。可以在多個 Pdb中創(chuàng)建相同的角色名稱,但它們之間沒有關(guān)系。

一些 DDL 語句有擴充,以使他們能夠定向到當前容器還是所有容器的CONTAINER子句。它的使用將在以下各節(jié)中進行演示。

注意:

   在 cdb 中創(chuàng)建公共用戶的時候, pdbs 中也會創(chuàng)建相同用戶。若CDB 下 GRANT 命令賦權(quán),如果賦權(quán)時未指定container=all,則賦權(quán)只在CDB中生效,并不會在PDB中生效,這個用戶要能夠訪問PDB,需要切換到 pdb 再賦權(quán)。。若賦權(quán)時指定 container=all,則賦權(quán)在CDB中生效,也在PDB中生效。

1、在CDB中,給用戶賦權(quán)時未指定container=all:

SQL> show con_name;

CON_NAME

------------------------------

CDB$ROOT

SQL> create user c##zhang identified by zhang;

SQL> grant create session to c##zhang;  --賦權(quán)給用戶,這個時候開啟另一個窗口使用該用戶登錄pdb的時候是沒有權(quán)限的,如下:

[oracle@localhost ~]$ sqlplus c##zhang/zhang@192.168.2.100/testpdb

SQL*Plus: Release 12.2.0.1.0 Production on Tue Jul 18 15:15:51 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:

ORA-01045: user C##ZHANG lacks CREATE SESSION privilege; logon denied

----切換到pdb中,給用戶賦權(quán)就可以登錄了:

SQL> alter session set container=testpdb;

SQL> grant create session to c##zhang;

2、在CDB中,給用戶賦權(quán)時指定container=all:

SQL> create user c##zhang1 identified by zhang;

SQL> grant create session to c##zhang1 container=all;

3、創(chuàng)建公共角色:

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT      

SQL> create role c##role;   ---創(chuàng)建角色

SQL> grant select on dba_objects to c##role container=all;  --給這個角色加權(quán)限

SQL> grant c##role to c##zhang1 container=all;  --將角色賦給公共用戶

SQL> alter session set container=testpdb;  ---切換到pdb

SQL> grant c##role to admin;   ---也可以把這個角色賦予pdb中的本地用戶

4、本地角色

  本地角色是以類似的方式到 pre-12 c 數(shù)據(jù)庫創(chuàng)建的。每個 PDB 可以具有與匹配的名稱,因為當?shù)氐淖饔梅秶鷥H限于當前 PDB 的角色。

必須滿足以下條件。

條件:

①:必須連接到具有CREATE ROLE權(quán)限的用戶。

②:如果您連接到公共用戶,容器必須設(shè)置為本地 PDB。

③:角色名稱為本地角色不必須與"C##"或"c##"作為前綴。

④:角色名稱必須是唯一在 PDB 內(nèi)。

⑤:本地角色可以賦權(quán)給公共用戶(作用范圍局限于pdb內(nèi)操作,不影響CDB權(quán)限)或者本地用戶。如:

SQL> show con_name;

CON_NAME

------------------------------

TESTPDB

SQL> create role pdb_role;    ---創(chuàng)建角色

SQL> grant select on dba_tables to pdb_role;  --給角色加權(quán)限

SQL> grant pdb_role to c##zhang;  --將角色賦予公共用戶

SQL> grant pdb_role to admin;   ---將角色賦予本地用戶

標題名稱:Oracle12C多租戶管理用戶、角色、權(quán)限
分享URL:http://muchs.cn/article22/ipgccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、小程序開發(fā)、軟件開發(fā)企業(yè)網(wǎng)站制作、App設(shè)計、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化