Oracle 9i預定義的角色
表8.2 Oracle 9i預定義的角色 角色名稱說明CONNECT數據庫連接角色,用於連接數據庫,具有創建簇、數據庫鏈接、序列、同義詞、表和視圖,以及修改會話的權利DBA數據庫管理員角色,具有所有使用ADMIN選項創建的系統權限,可以將系統權限授予其他用戶或角色DELETE_CATALOG_ROLE刪除目錄角色,可以刪除或重建數據字典EXECUTE_CATALOG_ROLE執行目錄角色,能夠執行所有系統包EXP_FULL_DATABASE能夠使用導出程序執行數據庫的完全和增量導出IMP_FULL_DATABASE能夠使用導入程序執行數據庫的完全導入RESOURCE可以創建簇、表、序列以及PL/SQL編程用方案對象,包括過程、程序包、觸發器等SELECT_CATALOG_ROLE查詢數據字典表或視圖
在【企業管理器】中創建角色
(1)如圖8.16所示。
(2)出現如圖8.17所示的創建角色的【一般信息】選項卡。
(3)圖8.18所示為創建角色的【角色】選項卡。用於為多個角色分配子角色。
(4)圖8.19所示為創建角色的【系統權限】選項卡。
(5)如圖8.20所示為創建角色的【對象權限】選項卡。
(6)圖8.21所示為創建角色的【使用者組】選項卡。
(7)成功創建角色後出現如圖8.22所示界面。
(8)上述過程創建角色的SQL代碼如下。
――――――――――――――――――――――――――――――――――――― CREATE ROLE "TEMPROLE" IDENTIFIED BY "temprole"; GRANT ALTER ANY INDEX TO "TEMPROLE" WITH ADMIN OPTION; GRANT SELECT ANY TABLE TO "TEMPROLE" WITH ADMIN OPTION; GRANT "CONNECT" TO "TEMPROLE" WITH ADMIN OPTION; GRANT "DBA" TO "TEMPROLE" WITH ADMIN OPTION; BEGIN dbms_resource_manager_privs.grant_switch_consumer_group( grantee_name => 'TEMPROLE', consumer_group => 'DEFAULT_CONSUMER_GROUP', grant_option => FALSE ); END; ―――――――――――――――――――――――――――――――――――――
【參見光盤文件】:第8章\createrole.sql。
在【SQLPlus Worksheet】中創建角色
(1)在【SQLPlus Worksheet】中直接執行createrole.sql文件將完成角色的創建,執行結果如圖8.23所示。
(2)表明已經成功創建角色TEMPROLE。
角色的修改
(1)如圖8.24所示。
(2)在出現的各選項卡中可以修改角色的各種配置參數,對應角色的修改的SQL語句為“ALTER ROLE”或者“REVOKE”。
實例1:將角色的驗證方式更改為“外部”的SQL代碼如下。
――――――――――――――――――――――――――――――――――――― ALTER ROLE "TEMPROLE" IDENTIFIED EXTERNALLY; ―――――――――――――――――――――――――――――――――――――
【參見光盤文件】:第8章\alterrole.sql。
實例2:將角色的系統權限“DBA”刪除的SQL代碼如下。
――――――――――――――――――――――――――――――――――――― REVOKE "DBA" FROM "TEMPROLE"; ―――――――――――――――――――――――――――――――――――――
【參見光盤文件】:第8章\revokerole.sql。
角色的刪除
(1)如圖8.25所示【角色刪除確認】界面。
(2)上述過程對應的SQL代碼如下。
――――――――――――――――――――――――――――――――――――― DROP ROLE TEMPROLE; ―――――――――――――――――――――――――――――――――――――
【參見光盤文件】:第8章\droprole.sql。