程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle 9i 角色的管理

Oracle 9i 角色的管理

編輯:關於Oracle數據庫

  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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved