現在、Oracle 11g R2 Express Edition を使用しています。Java アプリケーションを使用してデータベースをバックアップするにはどうすればよいですか? 出来ますか?
質問する
4554 次
2 に答える
3
「バックアップ」の意味によって異なります。データベースのダンプを作成したい場合は、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
于 2013-03-28T19:20:04.320 に答える
0
データを抽出して SQL 構造 (テーブル、制約、インデックスなど) を格納できるため、一般的には可能です。これが役立つ場合があります 。また、YAML 形式を使用してデータを格納することもできます。
于 2013-03-28T18:20:25.380 に答える