程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 解決Oracle LogMiner獲取數據字典文件需要修改UTL_FILE_DIR的問題

解決Oracle LogMiner獲取數據字典文件需要修改UTL_FILE_DIR的問題

編輯:Oracle數據庫基礎

按照Oracle官方文檔,在用logminer獲取數據字典文件時,需要設置UTL_FILE_DIR參數,然而設置這個參數必須要重新啟動數據庫,在某些7×24的關鍵業務是做不到的,是否有其他的方法能夠構造字典信息呢?答案是肯定的。

具體的步驟為:

1.數據庫設置為歸檔

2.添加supplement log data

3. 將數據字典存儲在redolog中,EXECUTE DBMS_LOGMNR_D.BUILD ( - 2 OPTIONS=>DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

4.查看數據字典對應的歸檔日志

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';  -- 查詢開始

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_END='YES'; -- 查詢結束的歸檔日志

5.通過LogMiner,解析歸檔日志,將歸檔日志解析成sql語句

SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

6.查詢v$logmnr_contents的sql_redo,將結果spool到某個文件中。

7.通過其他相同版本的測試數據庫創建數據字典文件,調出其中的create_table語句,放入到你輸出spool的文件中。

8.驗證其中的數據,與過程生成的數據字典文件比較,重要的ID值都是一樣的,測試後我們構造的數據字典文件可用。

最後鄙視一下Oracle,到11gR2了仍然需要設置這個參數,應該早就改成自己設置directory了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved