首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 系統權限分類詳解:資料庫、索引、作業、程序與角色管理

     編輯:Oracle 資料庫基礎

系統權限概述

系統權限授權使用者執行系統級 DDL(CREATE/ALTER/DROP)或 DML 操作。Oracle 10g 含 170+ 種系統權限,記錄於 SYSTEM_PRIVILEGE_MAP 視圖。本文依功能領域分類說明核心權限。

資料庫管理權限

  • ALTER DATABASE:執行 ALTER DATABASE 語句
  • ALTER SYSTEM:執行 ALTER SYSTEM 語句(動態調整參數等)
  • AUDIT SYSTEM:語句級稽核
  • AUDIT ANY:任意結構描述的物件級稽核

偵錯權限

  • DEBUG CONNECT SESSION:將當前 Session 連接至偵錯器
  • DEBUG ANY PROCEDURE:偵錯資料庫中所有 PL/SQL 與 Java 程式碼

索引管理權限

  • CREATE ANY INDEX:任意結構描述建立索引
  • ALTER ANY INDEX:修改任意結構描述索引
  • DROP ANY INDEX:刪除任意結構描述索引

作業排程權限 (Scheduler)

  • CREATE JOB:自身結構描述建立作業/程式/排程
  • CREATE ANY JOB:高風險,任意結構描述建立作業,可使用其他用戶憑證執行,謹慎授予
  • EXECUTE ANY PROGRAM:引用任意程式於自身作業
  • EXECUTE ANY CLASS:指定任意作業類別
  • MANAGE SCHEDULER:建立/修改/刪除任意作業類別

程序/函數/套件權限

  • CREATE PROCEDURE:自身結構描述建立程序
  • CREATE ANY PROCEDURE:任意結構描述建立程序
  • ALTER ANY PROCEDURE:重新編譯任意程序
  • DROP ANY PROCEDURE:刪除任意程序
  • EXECUTE ANY PROCEDURE:執行任意程序

設定檔與角色權限

設定檔

  • CREATE PROFILE / ALTER PROFILE / DROP PROFILE

角色

  • CREATE ROLE:建立新角色
  • ALTER ANY ROLE:修改任意角色密碼
  • DROP ANY ROLE:刪除任意角色
  • GRANT ANY ROLE:極高風險,可授予 SCHEDULER_ADMIN、IMP_FULL_DATABASE 等強力角色,極度謹慎授予

授權與回收語法

GRANT 系統權限 TO 用戶|角色 [WITH ADMIN OPTION];
REVOKE 系統權限 FROM 用戶|角色;

原則:遵循最小權限原則,定期審核 DBA_SYS_PRIVS 移除過度授權。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved