物理ファイルを直接保存するバックアップのほかに、IMPORT/EXPORTコマンドを用いることによってデータの保存を行うことができる。この方法には、以下のようなメリットがある。
反面、特にインポート時には物理バックアップを大きく上回る時間が必要となるため、使用にはきちんとした計画が必要となる。
データを書き出すEXPORTコマンドは、主なパラメータとして以下のようなものを取る。
パラメータ | 意味 |
---|---|
USERID | ユーザの名前とパスワード。全体EXPORTを実行するには exp_full_databaseロールが必要 |
FILE | 出力ファイルの名前。デフォルトはexpdat.dmp |
FULL | データベース全体のエクスポートを行うとき、yを指定 |
OWNER | ユーザモードのエクスポートを行うとき,ユーザ名のリストを指定 |
TABLES | テーブルモードのエクスポートを行うとき,テーブル名のリストを指定 |
INCTYPE | 増分エクスポートのモードを指定。(COMPLETE|CUMULATIVE|INCREMENTAL)。全体エクスポートの場合のみに有効。 |
DIRECT | ダイレクトパスモードで処理するかどうか。デフォルトはNOになっていることに注意 |
EXPORT処理には、フル・ユーザ・テーブルの3つのモードがある。それぞれのモードでエクスポートできるオブジェクトは以下の通り(上位の権限では下位のオブジェクトをエクスポートできる。また、これらのオブジェクトはさらにスイッチによってエクスポートの可否を定められる)。
モード | テーブル | ユーザ | フル |
---|---|---|---|
出力オブジェクト | 表の定義 表データ 所有者の権限付与 所有者の索引 表の制約 トリガ |
クラスタ データベースリンク ビュー プライベートシノニム 順序 スナップショット スナップショットログ ストアドプロシジャ |
ロール パブリックシノニム システム権限 表領域の定義 表領域の割り当て制限 ロールバックセグメントの定義 監査オプション 全てのトリガ プロファイル |
INCTYPEオプションを適切に使用することで、データベースの増分部分のみをエクスポートすることにより、エクスポートの作業時間を短縮することができる。それぞれのオプションの意味は以下の通り:
このような処理を行った場合、処理の履歴がSYS.INCVIDおよびSYS.INCEXPファイルに書き込まれる。
データを読み込むIMPORTコマンドは、主なパラメータとして以下のようなものを取る。
パラメータ | 意味 |
---|---|
USERID | ユーザの名前とパスワード。全体IMPORTを実行するには imp_full_database権限が必要 |
FILE | 入力ファイルの名前。デフォルトはexpdat.dmp |
SHOW | 入力ファイルの説明のみを出力するとき、yを指定 |
FULL | ファイル全体のインポートを行うとき、yを指定 |
INDEXES | インデックスをインポートしない場合、nを指定 |
INDEXEFILE | インデックスを作成するためのスクリプトを指定したファイルに出力する。 |
TABLES | インポートの対象となるテーブル名のリストを指定 |
IGNORE | インポート中に発生したエラーを無視するなら、yを指定。この場合、テーブル作成に失敗しても引き続いてデータ挿入作業を実行しようとするので、既存のテーブルにデータを追加する作業を行える。 |
INCTYPE | 増分エクスポートのモードを指定。(RESTORE|SYSTEM)。 |
なお、IMPORTではダイレクトモードは使用されない。
増分エクスポートを行ったファイルからのデータベースの再作成は、以下の手順で行う。