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

Oracle 11g R2 四大實用新特性:版本化重定義、閃回歸檔解封、延遲段創建與不可用索引歸零

     編輯:Oracle 資料庫基礎

1. 基於版本的重定義:應用升級零停機利器

  • 支持對象:私有同義詞、視圖、PL/SQL 對象(包、過程、函數、類型、觸發器等)。
  • 機制:創建對象新版本(CREATE OR REPLACE ... VERSION),舊版本繼續服務現有會話,新會話自動綁定新版本。
  • 回滾:發現錯誤一鍵 DROP VERSION 回退上一版本,無需重新編譯、無失效風險。
  • 價值:消除「編譯失效→會話報錯→緊急回滾」窗口,實現真正的熱部署。

2. 消除閃回數據歸檔 (FBDA) DDL 限制

11g R1 FBDA (Total Recall) 禁止基礎表執行:加/刪/改列、Truncate、修改約束、分區維護等 DDL。

  • 11g R2 **全面解封**:上述 DDL 可直接執行,FBDA 自動同步元數據。
  • 複雜重定義(DBMS_REDEFINITION)新流程:
    1. DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA 解除表與 FBDA 關聯。
    2. 執行重定義/結構變更。
    3. DBMS_FLASHBACK_ARCHIVE.REASSOCIATE_FBA 重新關聯,歷史數據無縫銜接。

3. 按需創建段:Deferred Segment Creation

  • 默認行為變更:CREATE TABLE **不再**自動分配初始段(含索引、LOB 段)。
  • 首次 INSERT 時才真實創建段並分配空間。
  • 屬性控制:SEGMENT CREATION DEFERRED(默認)vs SEGMENT CREATION IMMEDIATE(強制即時)。
  • 收益:大量空表(如分區模板、預建模型)零空間佔用,字典緩存更輕量。

4. 不可用索引空間歸零

  • 場景:數據倉庫大表載入前 ALTER INDEX ... UNUSABLE,載入後 REBUILD。
  • 11g R2 增強:標記 UNUSABLE 瞬間,**自動釋放索引段空間**(Segment 歸零,Extent 歸還表空間)。
  • 重建時重新分配,載入期間表空間不佔用索引空間,避免「載入時空間不足」錯誤。

小結

11g R2 延續 10g 以來「自我管理、自我調優、自我修復」基因,這四大特性雖非顛覆性創新,卻精準擊中生產環境高頻痛點:熱部署、審計表結構演進、空表空間浪費、大表載入空間壓力。DBA 掌握這些特性,可顯著提升運維效率,向「信息工程師」角色轉型。

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