[英]How to read Oracle data pump binary dump file directly?
出於性能和其他原因,我正在尋找一種直接解析數據泵轉儲文件的二進制文件格式的方法。
數據泵實用程序“ impdp”僅在數據庫服務器主機上有效,而在DB客戶端主機上無效。 為了運行它,您必須將整個轉儲文件從數據庫客戶端發送到數據庫服務器主機,然后使用SSH運行“ impdp”。
有時,例如,如果您只想獲取轉儲文件中包含的架構或表的列表,則將大型文件發送到遠程主機是沒有意義的。
我正在尋找一個描述轉儲文件的庫(在Java中首選)或一種格式說明,以便編寫代碼以在本地解析該文件,而無需借助官方的“ impdp”實用程序。
謝謝。
更新:
我使用以下正則表達式來過濾轉儲文件以查找表名稱:
^[\\x32-\\x7e\\s]{4,}.*</OWNER_NAME><NAME>([^<]*)</NAME>.*
表達式[\\\\x32-\\\\x7e\\\\s]
表示可打印的ASCII字符,包括空格。 這將濾除二進制行。
表達式{4,}
表示至少4個字符。
由於我正在處理XML,因此我提取了緊接在“ OWNER_NAME”元素之后的“ NAME”元素。 也許這種方式不是那么優雅,但似乎可行。
如果這種方式對您有所幫助,請發表評論。
使用Java / JDBC進行大量數據操作不是一個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.