1

.Netコードを使用してOracleデータベースのバックアップまたは復元を行いたい。たくさん検索しましたが、正しい解決策が見つかりませんでした。クエリを実行してSQLサーバーでバックアップを行うように。

backup database :DatabaseName to disk = ':DestinationPath

Oracleでやりたいのと同じです。

4

4 に答える 4

5

exp/imp や新しい Oracle Data Pump などの Oracle ユーティリティを使用して、データベース エクスポート (バックアップ) を作成できますが、これらはデータベースの外部のコマンド ライン/ターミナル ウィンドウで実行する必要があります。詳細については、http ://www.oracle-base.com/articles/10g/oracle-data-pump-10g.php を参照してください。

更新:私は訂正しました。Data Pump ジョブは、PL/SQL を介して開始できます。@a-horse-with-no-NAME に感謝します。

この記事では、SQL からデータ ポンプ ジョブを開始する方法について説明します。

于 2012-05-24T13:28:14.260 に答える
1

注意:DataPumpまたはExpExportは実際のOracleBackupではないため、作成しているDumpファイルから復元できることを確認するためにテストする必要があります。OracleがSQLServerのBACKUPDATABASEコマンドに最も近いのはRMANですが、それでもまったく異なります。ただし、バッチファイルから呼び出すと非常に便利です。私はSQLServerとOracleの両方のDBAであり、各エンジンがバックアップを実行する方法が最大の違いの1つです。ExpとImpはSQLのbcpコマンドに似ています(ただし、より強力です)。ExpはControlfileまたはAchiveLogsをバックアップしないため、災害時にこれらが必要になる場合があります。Expでは、CONSISTENT = Yオプション(新しいDataPumpエクスポートの場合はFLASHBACK_TIME)を使用していることを確認してください。SQL Serverのバックアップははるかに簡単で、回復も簡単です。

于 2012-07-25T09:40:07.397 に答える
0

コードを介してOracleデータベースのバックアップを取る簡単な方法を見つけました。コードを介してユーザーから資格情報を取得し、exp/impコマンドのバッチファイルを動的に作成します。このバッチコマンドをプロセスクラスで実行します。

ご回答ありがとうございます。

于 2012-06-16T11:23:06.857 に答える
-2
OledbCommand cmd=new OledbCommand ("backup database databasename to disk ='C:\databasename.bak'",con);

con.open();

cmd.ExecutenonQuery();

con.close();
于 2012-05-24T13:29:36.750 に答える