簡體   English   中英

如何使用java備份oracle數據庫?

[英]How to back up oracle database using java?

我目前正在使用Oracle 11g R2 express版。 如何使用java應用程序備份數據庫? 可能嗎?

這取決於你對“備份”的意思。 如果要創建數據庫轉儲,可以使用dbms_datapump包執行此操作。

由於它是一個常規的PL / SQL包,因此可以通過JDBC輕松調用它。 最簡單的事情可能是將匿名PL / SQL塊作為單個語句發送。

像這樣的東西:

String sql = 
  "DECLARE \n" +
  "  handle NUMBER; \n" +
  "BEGIN \n" +
  "  handle := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'SCHEMA', job_name => USER||'_DUMP', version => 'COMPATIBLE'); \n" +
  "  dbms_datapump.add_file(handle => handle, filename => 'db_backup', directory => 'EXPDP_DIR'); \n" +
  "  dbms_datapump.metadata_filter(handle, 'SCHEMA_LIST', '''SCOTT'''); \n" +
  "  dbms_datapump.start_job(handle); \n" +
  "  dbms_datapump.detach(handle); \n" +
  "END;";
Statement stmt = connection.createStatement();
stmt.execute(sql);

請注意,我遺漏了任何錯誤處理。 或者,您可以單獨調用每個dbms_datapump過程(使用CallableStatement

轉儲將寫在服務器上,而不是客戶端!

有關詳細信息,請參閱手冊:
http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_datpmp.htm

好吧,通常你可以,因為你可以提取數據和存儲SQL結構(表,約束,索引等)你可能會發現有用這個你也可以使用YAML格式來存儲數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM