Oracle 作為多使用者系統,透過完善的權限體系保障資料安全。本文系統整理使用者/角色建立、系統/物件權限授予回收、預定義角色、以及最高權限 SYSDBA/SYSOPER 的兩種認證模式配置細節。
CREATE TABLESPACE、CREATE USER、ALTER USER、DROP USER 等 80+ 系統權限。SELECT、INSERT、UPDATE、DELETE、EXECUTE、REFERENCES、INDEX 等操作權限。CREATE USER jxzy IDENTIFIED BY jxzy_passWord
DEFAULT TABLESPACE system
QUOTA 5M ON system;
ALTER USER jxzy IDENTIFIED BY jxzy_pw
QUOTA 10M ON system;
DROP USER jxzy CASCADE; -- 連同物件一併刪除
-- 授予含遞移授權選項
GRANT CREATE USER, ALTER USER, DROP USER TO jxzy_new WITH ADMIN OPTION;
-- 回收(無級聯回收)
REVOKE CREATE USER, ALTER USER, DROP USER FROM jxzy_new;
-- 查詢已授予系統權限
SELECT * FROM sys.dba_sys_privs;
-- 細粒度授予(欄位級)
GRANT SELECT, INSERT(office_num, office_name), UPDATE(desc) ON Office_organization
TO new_administrator WITH GRANT OPTION; -- 級聯授權
-- 全權限授予
GRANT ALL ON Office_organization TO new_administrator;
-- 回收(具級聯效果)
REVOKE UPDATE ON Office_organization FROM new_administrator;
REVOKE ALL ON Office_organization FROM new_administrator;
-- 查詢物件權限
SELECT * FROM sys.dba_tab_privs;
CONNECT:CREATE SESSION、CREATE TABLE、CREATE VIEW 等基本開發權限(10g 後僅保留 CREATE SESSION)。RESOURCE:CREATE PROCEDURE、CREATE TRIGGER、CREATE TABLE 等,隱含 UNLIMITED TABLESPACE(潛在風險)。DBA:所有系統權限。EXP_FULL_DATABASE/IMP_FULL_DATABASE:匯出/匯入權限。CREATE ROLE ICDYW NOT IDENTIFIED;
GRANT DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE TO ICDYW;
GRANT ICDYW TO ICDMAIN WITH ADMIN OPTION;
僅 SYSDBA 可執行 STARTUP、SHUTDOWN、RECOVER、ARCHIVELOG 等關鍵操作,連 DBA 角色也無法執行。認證方式有二:
ORA_<SID>_DBA 或 ORA_DBA 群組,將 OS 用戶加入。sqlnet.ora 設 SQLNET.AUTHENTICATION_SERVICES=(NTS),init.ora 設 REMOTE_LOGIN_PASSWORDFILE=NONE。登入:CONNECT / AS SYSDBA。dba 群組,Oracle 軟體擁有者加入。init.ora 設 REMOTE_LOGIN_PASSWORDFILE=NONE。登入同 CONNECT / AS SYSDBA。orapwd file=... password=... entries=...。init.ora 設 REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE(單實例專用,可加入多超級用戶)或 SHARED(多實例共用,僅限 SYS/INTERNAL)。sqlnet.ora 設 SQLNET.AUTHENTICATION_SERVICES=(NONE)。CONNECT SYS/password AS SYSDBA。SQLNET.AUTHENTICATION_SERVICES=NONE 強制密碼檔模式可解。internal/oracle、sys/change_on_install、system/manager。GRANT SYSDBA TO SCOTT,登入時需加 AS SYSDBA。SELECT * FROM v$pwfile_users。ENTRIES 需重建密碼檔(關庫、刪檔、重建、開庫、重新授權)。ALTER USER SYS IDENTIFIED BY 新密碼 或重建密碼檔。權限管理遵循「最小權限原則」,善用角色簡化授權,嚴守 SYSDBA 實體與邏輯雙重防線,是資料庫安全的基石。