Oracleでデータベースをバックアップして復元
Oracle Data Pumpテクノロジーを使ってOracleデータベースのバックアップと復元を行います。
expdpパラメーターとimpdpパラメーターを使えば、データベース全体、またはデータベースのサブセットのデータとメタデータをエクスポートおよびインポートできます。
- エクスポートされたファイル(.dumpファイルや.logファイルなど)をすべて保管するディレクトリーがサーバーマシン上に作成済みであること。
- sysdba権限を持つsys userとしてデータベースにログオン済みであること。
sqlplus.exe / as sysdba
- ファイルの読み書きのため、ディレクトリーオブジェクトを作成し、サーバーマシン上のディレクトリーをポイント済みであること。
CREATE OR REPLACE DIRECTORY <directory_object_name> AS '<backup_directory_path>';
- そのディレクトリーオブジェクトに対する読み書きの権限を付与していること。
GRANT read, write ON DIRECTORY <directory_object_name> TO <user_name>;
- バックアップと復元のタスクを実行する前にTalend Data Catalogアプリケーションサーバーが停止済みであること。
expdpコマンドを使ってバックアップ
- コマンドプロンプトウィンドウを開き、次のコマンドを実行してOracleデータベースをファイルにバックアップして、オペレーティングシステムのディレクトリーにエクスポートログを書き込みます。
expdp <username>/<password> schemas=<schema_name> directory=<directory_object_name> dumpfile=<dump_file_name> logfile=<log_file_name>
impdpコマンドを使って復元
- スキーマをドロップして、データベースインスタンスから既存のオブジェクトとデータを削除します。復元するとスキーマが再作成されます。
sqlplus.exe SYS@<db_name> as SYSDBA DROP USER <user_name> CASCADE;
- 次のコマンドを実行してOracleデータベースをファイルから復元し、オペレーティングシステムのディレクトリーにインポートログを書き込みます。
Impdp schemas=<schema_name> directory=<directory_object_name> dumpfile=<dump_file_name> logfile=<log_file_name>
- Usernameを求めるプロンプトが表示されたら、/ as sysdbaと入力します。
- Talend Data Catalogアプリケーションサーバーを再起動します。
- Talend Data Catalogアプリケーションサーバーのパフォーマンスを最適化する場合は、 に進み、データベースメンテナンススクリプトを実行します。
- [Run Database Maintenance] (データベースメンテナンスの実行)を右クリックし、[Run operation now] (操作を今すぐ実行)をクリックしてデータベースインデックスと統計をアップデートします。
コマンドexpdpとimpdpの詳細は、Oracle Data Pumpのドキュメンテーションをご参照ください。
また、Oracle Recovery Manager (RMAN)を使うこともできます。データベースインスタンス用に別のテーブルスペースを作成し、そのテーブルスペースからのみ復元することをお勧めします。詳細は、Oracle Databaseデータベース・バックアップおよびリカバリ・ユーザーズ・ガイドをご参照ください。