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

Oracle LogMiner 免重啟獲取數據字典替代方案

     編輯:Oracle 資料庫基礎

痛點

官方文檔要求設置 UTL_FILE_DIR 並重啟數據庫才能生成字典文件,7×24 系統難以滿足。

替代方案:字典存入 Redo Log + 在線目錄模式

  1. 開啟歸檔模式:ALTER DATABASE ARCHIVELOG;
  2. 啟用補充日志:ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
  3. 將數據字典構建到 Redo Log:
    EXEC DBMS_LOGMNR_D.BUILD(OPTIONS => DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);
  4. 查詢包含字典的歸檔日志:
    SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';  -- 起始
    SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_END='YES';    -- 結束
  5. 啟動 LogMiner 使用**在線目錄**而非文件字典:
    EXEC DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
  6. 查詢 V$LOGMNR_CONTENTS 導出 SQL_REDO 到文件(SPOOL)。
  7. 在相同版本測試庫生成標準字典文件,提取 CREATE TABLE 等 DDL 合併到導出文件中,構成完整可用字典。
  8. 驗證關鍵 ID 值(OBJ#、TS# 等)與原字典一致,確認可用性。

此法繞過 UTL_FILE_DIR 靜態參數限制,實現**免重啟**字典獲取,適合高可用環境。

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