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

Oracle 表空間、用戶、授權完整實戰手冊:從建立到權限審計的標準化流程

     編輯:Oracle 資料庫基礎

一、建立暫存表空間 (標準範本)

CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE 'C:\Oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

二、建立永久資料表空間 (標準範本)

CREATE TABLESPACE test_data
LOGGING
DATAFILE 'C:\Oracle\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;

三、建立用戶並綁定表空間

CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE test_data
TEMPORARY TABLESPACE test_temp
QUOTA UNLIMITED ON test_data
PASSWORD EXPIRE ACCOUNT UNLOCK;

四、授權矩陣:依最小權限原則分級

層級權限/角色適用對象
基礎開發CONNECT, RESOURCE
(CREATE SESSION, TABLE, VIEW, SEQUENCE, PROCEDURE...)
應用開發帳號
進階開發CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE
SELECT ANY TABLE, INSERT/UPDATE/DELETE ANY TABLE
資料遷移/ETL帳號
唯讀查詢自訂角色 APP_READ_ONLY → GRANT SELECT ON schema.*報表/BI帳號
DBA 維護DBA 角色 (含 SYSDBA 權限)極少數管理員

精確授權範例 (避免過度授權)

GRANT
  CREATE SESSION,
  CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE PROCEDURE,
  ALTER ANY TABLE, ALTER ANY PROCEDURE,
  DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
  SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;

五、角色授權與審計查詢

-- 授予角色
GRANT app_role TO username;

-- 查詢所有角色
SELECT * FROM DBA_ROLES;

-- 查詢用戶/角色擁有的角色
SELECT * FROM DBA_ROLE_PRIVS WHERE grantee = 'USERNAME';
SELECT * FROM USER_ROLE_PRIVS;

-- 查詢用戶系統權限 (含透過角色繼承)
SELECT * FROM DBA_SYS_PRIVS WHERE grantee = 'USERNAME';

-- 查詢用戶物件權限
SELECT * FROM DBA_TAB_PRIVS WHERE grantee = 'USERNAME';

六、用戶管理查詢

需求SQL
所有用戶清單SELECT username, account_status, default_tablespace, temporary_tablespace FROM DBA_USERS;
鎖定/解鎖用戶ALTER USER username ACCOUNT LOCK / UNLOCK;
修改密碼ALTER USER username IDENTIFIED BY new_password;
修改預設表空間ALTER USER username DEFAULT TABLESPACE new_ts;

七、刪除表空間 (完整清理)

DROP TABLESPACE test_data
INCLUDING CONTENTS AND DATAFILES
CASCADE CONSTRAINTS;
  • INCLUDING CONTENTS:刪除段內資料。
  • AND DATAFILES:同步刪除 OS 層資料檔。
  • CASCADE CONSTRAINTS:刪除指向此表空間表的外鍵約束。

結語

標準化的「表空間→用戶→授權→審計」流程,配合最小權限原則與定期權限巡檢 (查詢 DBA_* 視圖),是資料庫安全合規的基石。

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