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

Oracle 建立表空間、使用者與權限配置標準作業程序

     編輯:Oracle 教學

Oracle 建立表空間、使用者與權限配置標準作業程序

Oracle 採「單資料庫、多表空間、多使用者」架構,各表空間物理隔離,使用者綁定預設/暫存表空間。本文提供生產環境可直接套用的標準 DDL 模板與權限最小化原則。

一、建立永久表空間

CREATE TABLESPACE pfm
  DATAFILE 'D:\oracle\oradata\orcl\pfm.dbf'
  SIZE 100M
  AUTOEXTEND ON NEXT 32M MAXSIZE 200M
  EXTENT MANAGEMENT LOCAL
  SEGMENT SPACE MANAGEMENT AUTO;
  • LOCAL 區塊管理:位圖追蹤,無字典競爭。
  • AUTO 區段空間管理:自動管理 freelist,高併發優勢。
  • 路徑、大小依存儲規劃調整;生產建議使用 ASM 或裸裝置。

二、建立暫存表空間

CREATE TEMPORARY TABLESPACE pfm_temp
  TEMPFILE 'D:\oracle\oradata\orcl\pfm_temp.dbf'
  SIZE 100M
  AUTOEXTEND ON NEXT 32M MAXSIZE 200M
  EXTENT MANAGEMENT LOCAL;

專供排序、雜湊、全域暫存表使用,避免佔用永久表空間。

三、建立使用者並指定預設/暫存表空間

CREATE USER app_user
  IDENTIFIED BY "StrongP@ssw0rd"
  DEFAULT TABLESPACE pfm
  TEMPORARY TABLESPACE pfm_temp
  QUOTA UNLIMITED ON pfm;  -- 或指定具體額度
  • 密碼符合複雜度策略(大小寫、數字、特殊字元、長度≥12)。
  • QUOTA 限制使用者在表空間最大用量,防止單一失控佔滿空間。
  • 若需跨表空間建表,另行 GRANT QUOTA ON other_ts TO app_user。

四、權限配置:最小權限原則

❌ 避免:GRANT CONNECT, RESOURCE, DBA TO app_user;

DBA 擁有系統級特權,RESOURCE 含 UNLIMITED TABLESPACE,違反最小權限。

✅ 建議:角色化、精細授權

-- 1. 建立應用專屬角色
CREATE ROLE app_read_write;

-- 2. 授予物件權限(由 DBA 或擁有者執行)
GRANT SELECT, INSERT, UPDATE, DELETE ON schema_a.table_x TO app_read_write;
-- 或授予全部表(謹慎)
GRANT SELECT, INSERT, UPDATE, DELETE ON schema_a.* TO app_read_write;  -- 12c+ 支援

-- 3. 授予系統權限(僅必要者)
GRANT CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE TO app_read_write;

-- 4. 將角色授予使用者
GRANT app_read_write TO app_user;

五、常用維護指令

操作指令
修改使用者預設表空間ALTER USER app_user DEFAULT TABLESPACE new_ts;
修改使用者暫存表空間ALTER USER app_user TEMPORARY TABLESPACE new_temp;
調整表空間配額ALTER USER app_user QUOTA 500M ON pfm;
鎖定/解鎖帳號ALTER USER app_user ACCOUNT LOCK / UNLOCK;
密碼過期強制重設ALTER USER app_user PASSWORD EXPIRE;
監控表空間使用率SELECT tablespace_name, ROUND(used_space*block_size/1024/1024) MB_USED FROM dba_tablespace_usage_metrics;

小結

「表空間隔離、使用者綁定、角色授權、配額限制」四步走,建立安全、可控、易維護的 Oracle 權限體系。拒絕 DBA 大權旁落,從建帳號那一刻開始踐行最小權限。

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