Oracle - 自動導出/解除安裝數據
Oracle SQL Developer 可以選擇將查詢結果的內容導出為各種格式(CSV/固定寬度/Excel/XML)。有沒有辦法讓它自動化?
如果沒有,有哪些免費工具可以讓我自動導出為 SQL Developer 能夠導出的相同格式?
有許多方法可以從 Oracle 導出數據並自動執行功能。不過,請務必準確了解數據導出的用途。如果是用於系統間的互操作,則以您的接收系統可以理解的格式導出。如果是出於備份目的,請使用 exp/expdp(數據泵)方法,因為數據庫備份需要儲存的不僅僅是數據。(更好的是,只使用 RMAN。但我知道許多 DBA 也喜歡定期進行完整的數據庫導出。)
您可以使用多種工具來完成此操作,TOAD 就是您想到的工具。它有一個強大的數據導出工具,支持調度。有一個免費版本,但我不確定它是否具有調度功能。不過值得一試。
或者,使用您已經可以使用的工具:SQL*PLUS、PL/SQL 和 cron(如果您執行 Windows,則使用 Windows 調度程序)。有關如何編寫將表導出到 CSV 文件的 PL/SQL 常式的一個很好的範例,請參見http://asktom.oracle.com/pls/asktom/f?p=100:11:0:::: p11_question_id:88212348059。如果你使用一個過程,你可以從 Oracle 自己的作業調度器中調度它。
您也可以純粹使用 SQLPLUS 來做類似的事情(無需編寫過程),但它不夠靈活,但對於您想要的,它可能正是您所需要的。SQLPLUS 也很容易編寫腳本,因此您可以隨時通過 cron/Windows 調度程序呼叫它。
SQLPLUS 本身可以很好地創建良好的固定寬度報告,但也可以創建 HTML 和 CSV。XML 可能需要某種程序,但我不是這裡的出口,所以 SQLPLUS 在這裡可能並不完美(不過,它會輸出到 HTML,所以這可能已經足夠好了)。如果導出到 Excel,請記住目前版本使用 XML 作為其文件格式,這使事情變得容易(以一種方式)但在其他方式(例如需要事先知道輸出文件中將有多少行) )。
無論如何,通過一些工作和兩個或三個工具的組合,您應該能夠按照您想要的任何時間表以您希望的任何格式導出數據。
希望有幫助。