前置作業:OS 層目錄與權限
# 切換 root
su -
# 建立資料檔目錄
mkdir -p /oracletablespace/oradata/powererp
# 授權 oracle 用戶(安裝時建立的 DBA 群組通常為 oinstall)
chown -R oracle:oinstall /oracletablespace/
切換至 Oracle 用戶進入 SQL*Plus
su - oracle
sqlplus / as sysdba
建立三類表空間
1. 臨時表空間
CREATE TEMPORARY TABLESPACE POWERERP_TEMP
TEMPFILE '/oracletablespace/oradata/powererp/powererp_temp.dbf'
SIZE 256M
AUTOEXTEND ON NEXT 50M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
2. 資料表空間
CREATE TABLESPACE POWER_BAS_DAT
LOGGING
DATAFILE '/oracletablespace/oradata/powererp/powererp_bas_dat.dbf'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
3. 索引表空間
CREATE TABLESPACE POWER_BAS_IDX
LOGGING
DATAFILE '/oracletablespace/oradata/powererp/powererp_bas_idx.dbf'
SIZE 32M
AUTOEXTEND ON NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
建立應用用戶並授權
CREATE USER POWERERP IDENTIFIED BY POWERERP
DEFAULT TABLESPACE POWER_BAS_DAT
TEMPORARY TABLESPACE POWERERP_TEMP;
GRANT CONNECT, RESOURCE TO POWERERP;
-- 視需求額外授權:
-- GRANT CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE TO POWERERP;
-- ALTER USER POWERERP QUOTA UNLIMITED ON POWER_BAS_DAT;
關鍵參數說明
| 子句 | 用途 |
AUTOEXTEND ON NEXT n MAXSIZE m | 自動擴展,避免 ORA-01653 空間不足 |
EXTENT MANAGEMENT LOCAL | 本地管理極段,效能優於字典管理,10g+ 預設 |
UNIFORM SIZE | 固定極段大小,減少碎片(臨時表空間建議指定) |
LOGGING/NOLOGGING | 載入大量資料時可暫用 NOLOGGING 減少 REDO |
驗證建立結果
SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 MB, AUTOEXTENSIBLE
FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME IN ('POWER_BAS_DAT','POWER_BAS_IDX','POWERERP_TEMP');
常見問題
ORA-01119:目錄不存在或權限不足 → 檢查 mkdir/chown
ORA-29283:檔案系統掛載選項 noexec 或 nosuid → 掛載參數調整
- ASM 環境下改用
+DG_NAME 路徑,無需 OS 目錄操作