一、Oracle內建角色connect與resource的許可權
grant connect,resource to user;
CONNECT角色: --是授予終端使用者的典型權利,最基本的
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫連結
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義字
CREATE VIEW --建立視圖
RESOURCE 角色: --是授予開發人員的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立類型
從dba_sys_privs裡可以查到(注意這裡必須以DBA角色登入):
select grantee,privilege from dba_sys_privs
where grantee='RESOURCE' order by privilege;
=================================================
一、何為角色?
在前面的篇幅中說明許可權和使用者。慢慢的在使用中你會發現一個問題:如果有一組人,他們的所需的許可權是一樣的,當對他們的許可權進行管理的時候會很不方便。因為你要對這組中的每個使用者的許可權都進行管理。 有一個很好的解決辦法就是:角色。角色是一組許可權的集合,將角色賦給一個使用者,這個使用者就擁有了這個角色中的所有許可權。那麼上述問題就很好處理了,只要第一次將角色賦給這一組使用者,接下來就只要針對角色進行管理就可以了。
以上是角色的一個典型用途。其實,只要明白:角色就是一組許可權的集合。
下面分兩個部分來對oracle角色進行說明。
二、系統預定義角色
預定義角色是在資料庫安裝後,系統自動建立的一些常用的角色。下介簡單的介紹一下這些預定角色。角色所包含的許可權可以用以下語句查詢:
sql>select * from role_sys_privs where role='角色名稱';
1.CONNECT, RESOURCE, DBA
這些預定義角色主要是為了向後相容。其主要是用於資料庫管理。
oracle建議使用者自己設計資料庫管理和安全的許可權規劃,而不要簡單的使用這些預定角色。 將來的版本中這些角色可能不會作為預定義角色。
2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
這些角色主要用於訪問資料字典視圖和包。
3.EXP_FULL_DATABASE, IMP_FULL_DATABASE
這兩個角色用於資料匯入匯出工具的使用。
4.AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
AQ:Advanced Query。這兩個角色用於oracle進階查詢功能。
5.SNMPAGENT
用於oracle enterprise manager和Intelligent Agent
6.RECOVERY_CATALOG_OWNER
用於建立擁有恢複庫的使用者。關於恢複庫的資訊,參考oracle文檔《Oracle9i User-Managed Backup and Recovery Guide》
7.HS_ADMIN_ROLE
A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary.