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

Oracle 使用者權限管理完整手冊:建立、登入、授權、撤銷、角色、傳遞

     編輯:Oracle 資料庫基礎

預設帳戶與登入方式

帳戶角色預設密碼登入指令
SYS最高管理員CHANGE_ON_INSTALLSQLPLUS / AS SYSDBA 或 SQLPLUS SYS AS SYSDBA
SYSTEM本地管理員MANAGERSQLPLUS SYSTEM/MANAGER
SCOTT範例用戶TIGERSQLPLUS SCOTT/TIGER(預設鎖定)

使用者生命週期管理

建立使用者

CREATE USER zhangsan IDENTIFIED BY password
  DEFAULT TABLESPACE users
  TEMPORARY TABLESPACE temp;

修改密碼

ALTER USER scott IDENTIFIED BY tiger;

系統權限授權(由 DBA 執行)

GRANT CREATE SESSION TO zhangsan;        -- 登入權限
GRANT UNLIMITED TABLESPACE TO zhangsan;  -- 無限制表空間
GRANT CREATE TABLE TO zhangsan;          -- 建表權限
GRANT DROP TABLE TO zhangsan;            -- 刪表權限
-- 給所有用戶所有權限(極度不建議生產環境使用)
GRANT ALL TO PUBLIC;

物件權限授權(由物件擁有者執行)

GRANT SELECT ON tablename TO zhangsan;
GRANT INSERT ON tablename TO zhangsan;
GRANT UPDATE ON tablename TO zhangsan;
GRANT DELETE ON tablename TO zhangsan;

-- 欄位級授權(僅 INSERT/UPDATE 支援)
GRANT INSERT (col_id) ON tablename TO zhangsan;
GRANT UPDATE (col_id) ON tablename TO zhangsan;

-- 授權所有表 ALTER(慎用)
GRANT ALTER ANY TABLE TO zhangsan;

撤銷權限

REVOKE CREATE SESSION FROM zhangsan;
REVOKE SELECT ON tablename FROM zhangsan;
-- 語法同 GRANT,關鍵字改為 REVOKE

權限查詢

SELECT * FROM USER_SYS_PRIVS;   -- 當前用戶系統權限
SELECT * FROM USER_TAB_PRIVS;   -- 當前用戶表物件權限
SELECT * FROM USER_COL_PRIVS;   -- 當前用戶欄位權限

跨 Schema 存取

SELECT * FROM zhangsan.tablename;  -- 需前綴擁有者名稱

權限傳遞

類型語法效果
系統權限傳遞GRANT ALTER ANY TABLE TO zhangsan WITH ADMIN OPTION;zhangsan 可將此權限再授予他人
物件權限傳遞GRANT SELECT ON tablename TO zhangsan WITH GRANT OPTION;zhangsan 可將此權限再授予他人

角色管理:權限集合

CREATE ROLE myrole;
GRANT CREATE SESSION TO myrole;
GRANT CREATE TABLE TO myrole;
GRANT MYROLE TO zhangsan;

DROP ROLE myrole;

限制: UNLIMITED TABLESPACE、ANY 關鍵字權限無法授予角色。

帳戶狀態控制


ALTER USER username ACCOUNT LOCK;     -- 鎖定
ALTER USER username ACCOUNT UNLOCK;   -- 解鎖
ALTER USER username PASSWORD EXPIRE;  -- 密碼立即過期

刪除使用者


DROP USER username;           -- 無物件時
DROP USER username CASCADE;   -- 有物件時,強制連帶刪除
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved