Oracle 角色 自定義角色 Role

迎著太陽走向遠方發表於2017-03-27
1.查詢 oracle 所有的角色
select * from dba_roles;

2.介紹常用的 預定角色  connect ,resource,dba
1.connect 具有一般開發人員的大部分許可權,建立一個使用者多半情況下,賦予 connect 和 resource 角色 就夠了。
connect角色 所擁有的許可權有 :
   alter session 修改會話
   create cluster  建立簇
   create database link
   create session
   create table
   create view
   create sequence

2.resources 角色用開發人員選用的其他許可權,比如建立儲存過程,觸發器,resource 角色隱含了 unlimited tablespace 系統許可權 無限表空間許可權。
  create cluster
  create indextype
  create table
  create type
  create proecdure
  create trigger

3.dba角色具有 所有的系統許可權 以及 with admin option選項,預設的dba使用者為 sys和system 他們可以將任何系統許可權授予其他使用者,但是 dba角色不具備 sysdba和sysoper的特權(啟動和關閉資料庫)

3.舉例:授予 connect resource dba 系統角色
grant connect to luob 【with admin option】 //授予 連線許可權 是否遺傳下去
grant resource,dba to luob //授予 資源 和 dba 角色

4.收回角色
revoke connect,resource,dba from luob  //回收 連線 資源 dba 角色

5.自定義 角色 --一般是dba來建立,別的使用者需要 create role 的系統許可權(建立角色時候可以指定驗證方式(不驗證,資料庫驗證等)
create role 角色名  not identified;//不需要驗證的
alter role myrole identified by m123;//將上面定義的角色 修改成需要資料庫驗證的 角色
create role 角色名 identified by r111;//定義需要驗證的 角色 myrole

6.給 自定義角色 授予 系統許可權
grant create session to 角色名 【with admin option】 //給連線許可權給 角色

7.給自定 角色 授予 物件許可權
grant select on  scott.emp from 角色名  --都是 system 使用者登入 
grant update on scott.emp from 角色名  -- 如果用 scott  就沒有方案名 
grant delete on scott.emp from 角色名
grant all on emp from 角色

8.將自定義角色 授予 使用者
grant 角色名 to 使用者名稱 【with admin option】

9.刪除某個使用者的角色
 revoke 角色名 from 使用者名稱

10.刪除 自定義 角色
 drop role 角色名 //如果角色被刪除了, 擁有這個角色的人都沒有角色對應的許可權了

11.檢視當前使用者擁有的 角色
select * from user_role_privs

相關文章