單機部署數十個實例共享 CPU,早期 DRM(Database Resource Manager)只能限制會話組 CPU,無法針對單實例限制。11g R2 引入 Instance Caging:
CPU_COUNT 初始化參數(如 4 核/實例)。傳統並行查詢需手工指定 PARALLEL Hint 或表屬性,DOP 確定極其困難。11g R2 引入 Auto DOP (ADOP):
PARALLEL_DEGREE_POLICY=AUTO(默認 MANUAL)。PARALLEL_MIN_TIME_THRESHOLD(默認 10 秒),且資源充足,自動計算最優 DOP 並行執行;否則串行或排隊等待資源釋放。PARALLEL_DEGREE_POLICY=AUTO 時啟用。場景:百萬級發票餘額更新(掃描多源支付流水 → 更新發票表 + 客戶應收表)。
DBMS_SCHEDULER 並行調度每個分塊執行 DML,提交獨立事務。DBA_PARALLEL_EXECUTE_* 實時追蹤進度與邊界。ON COMMIT FAST REFRESH ... WITH COMMIT SCN,基於提交 SCN 而非時間戳,精準增量,避免重複/遺漏。傳統 SQL*Loader/外部表需先解壓再讀,佔用雙倍存儲。11g R2 ORACLE_LOADER 增強:
CREATE TABLE EXT_T (...) ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIR DATA_DIR
ACCESS PARAMETERS (
PREPROCESSOR EXE_DIR:'gunzip' -- 指定解壓程序
FIELDS TERMINATED BY ','
)
LOCATION ('data.csv.gz')
);