合理的表空間劃分是數據庫性能與維護性的基石。建議遵循「業務隔離、類型分離、增長可控」三大原則:
CREATE TEMPORARY TABLESPACE user_temp
TEMPFILE 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
SIZE 50M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;
關鍵參數解析:
TEMPFILE:臨時文件不記錄 REDO 日志,創建極快EXTENT MANAGEMENT LOCAL:本地管理模式,消除字典爭用,提升並發性能AUTOEXTEND ON NEXT 50M:按需擴展,減少人工干預CREATE TABLESPACE user_data
LOGGING
DATAFILE 'D:\oracle\oradata\Oracle9i\user_data.dbf'
SIZE 50M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;
LOGGING vs NOLOGGING:生產環境強制 LOGGING 保障數據可恢復;數據倉庫載入階段可暫用 NOLOGGING 提速。
CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE user_data
TEMPORARY TABLESPACE user_temp;
安全建議:密碼複雜度符合 PASSWORD_VERIFY_FUNCTION,避免使用默認密碼。
GRANT CONNECT, RESOURCE TO username;
權限說明:
CONNECT:包含 CREATE SESSION 等基礎權限RESOURCE:包含 CREATE TABLE、CREATE SEQUENCE 等對象創建權限CREATE BIGFILE TABLESPACE big_data
DATAFILE '/u01/app/oracle/oradata/big_data.dbf'
SIZE 100G AUTOEXTEND ON NEXT 10G MAXSIZE 10T;
適用於超大表(分區表、歷史歸檔),減少數據文件管理開銷。
CREATE TABLESPACE secure_data
DATAFILE '/u01/app/oracle/oradata/secure_data.dbf'
SIZE 10M
ENCRYPTION USING 'AES256'
DEFAULT STORAGE (ENCRYPT);
滿足 GDPR/等保合規要求,透明加密無需應用改造。
{biz}_{type}_{env} 如 crm_data_prod| 錯誤代碼 | 原因 | 解決方案 |
|---|---|---|
| ORA-01119 | 文件路徑不存在/權限不足 | 創建目錄並授權 chown oracle:oinstall /path |
| ORA-32771 | BIGFILE 表空間超過文件系統限制 | 使用 SMALLFILE 或調整文件系統大文件支持 |
| ORA-28650 | 主表空間類型不匹配 | 確保 DEFAULT/TEMPORARY 表空間類型正確 |