oracle 角色和許可權,補充

2021-07-26 01:44:23 字數 2337 閱讀 3581

管理許可權和角色,oracle資料庫的許可權很多,可以細緻到表的某一列的操作許可權,如果每個許可權取管理是很繁雜的。所以角色是許可權的集合,會有一些許可權經常會被呼叫,可以把使用這些許可權的角色提取出來。角色分為預定義角色和自定義角色。

授予系統許可權

grant create session,create table to ken with admin option;授予了ken同學2個系統許可權,並且允許他向下分發(with admin option)

grant create view to ken;

**系統許可權

一般**是由dba完成。

其他使用者**系統許可權,要求該使用者必須具有相應系統許可權及轉授系統許可權的選項。

使用revoke,系統許可權不是級聯**的。如果a授權給b,b又授權給c。如果a收回了b的許可權,則c的許可權不受影響

revoke create session from ken;

物件許可權,指使用者訪問其他方案物件的權利,使用者可以直接訪問自己方案的物件。

常用的有

alter修改表結構 delete刪除 select查詢     insert新增

update修改內容  index索引  references引用 execute執行

顯示物件許可權

資料字典檢視dba_tab_privs

conn system/hy820930;

select grantor ,owner ,table_name,privilege from dba_tab_privs where granteee='blake';

授予物件許可權

由物件的所有者完成,oracle9以後dba使用者可以授予

物件許可權可以授予使用者、角色、public。with grant option 則可以分發。但是角色不能被授予分發許可權

grant select on emp to scott;

grant select on emp(sal) to scott; 意思是只能查詢emp表的sal欄位

grant all on emp to monkey;把emp上的所有許可權都賦予

使用revoke,物件許可權是級聯**的。如果a授權給b,b又授權給c。如果a收回了b的許可權,則c的許可權無法使用。

這點和系統許可權不同,需要注意。

角色是許可權的集合

分為自定義角色和預定義角色

常用的預定義角色 connect ,resource ,dba

dba角色

具有所有的系統許可權,及with admin option許可權,預設的dba使用者為sys和system,但要注意的是dba角色不具備sysdba和sysoper的特權(啟動和關閉資料庫)

自定義角色

一般是dba建立,如果是普通使用者建立,需要create_role的系統許可權。

建立角色時可以指定驗證方式(不驗證,資料庫驗證等)

1.不驗證建立角色,如果是公用的角色可以不驗證

create role 角色名稱 not identified;

2.資料庫驗證建立角色,需要為其提供密碼口令,啟用時需要口令

create role 角色名稱 identified by 密碼口令;

角色授權

conn system/hy820930;

grant create session to 角色名 with admin option;

conn scott/hy820930;

grant select on emp to 角色名;

grant insert on emp to 角色名;

grant update on emp to 角色名;

grant delete on emp to 角色名;

刪除角色,一般dba執行

其他人執行需要 drop_any_role系統許可權;

drop role 角色名;

顯示角色資訊

1.顯示所有角色

select * from dba_roles;

2.顯示角色擁有的系統許可權

select privilege ,admin_option from role_sys_privs where role='角色名';

3.顯示角色具有的物件許可權

通過資料字典檢視 dba_tab_privs可以檢視

4.顯示使用者具有的角色,及預設角色

通過查詢資料字典檢視dba_role_privs可以顯示某個使用者具有的所有角色及當前預設的角色

select granted_role ,default_role from dba_role_privs where grantee='使用者名稱';

精細訪問控制

可以根據訪問使用者的不同,返回不同的資訊,把使用者的sql語句,系統加上where子句

Oracle建立使用者 角色和許可權

我們來看看在我們學習過程中一般的使用者如何建立,分配何種角色和許可權。1 我們只需要對 資料庫 進行簡單的維護和開發操作,最好不要用sys或system使用者。最簡單的建立新使用者的命令 create user 使用者名稱 identified by 口令 2 一般現在分配給使用者以下許可權 1 c...

Oracle使用者許可權角色

skd和rh使用者的表都會保留,skd不能建立新錶,如a答案解析,但是rh使用者可以建立新錶。dba只是把skd的建立表許可權收回,oracle系統許可權不具有級聯收回的功能 sys test0910 grant mgrrole,drop any table,create any directory...

Oracle 許可權 使用者 角色

drop user ctq cascade 注意 cascade 先刪除使用者下的所有物件然後再刪除使用者 當前登入的使用者不能夠被刪除 登入 create session 建表許可權 create table 最高許可權 dba 1.建立使用者 create urser ctq identifie...