【Oracle】データエクスポートとインポート

Oracleデータ復旧をメモしたので、
ついにでOracleデータエクスポートとインポートメモ。

#!/bin/sh
# 環境設定
DB_INF="DBユーザ名/DBパスワード@サービス名"
# エクスポート
exp ${DB_INF} FILE=[テーブル名].dmp LOG=[テーブル名].log TABLES=([テーブル名]) ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y STATISTICS=NONE TRIGGERS=N QUERY="WHERE [カラム名] = '[値]' "
#!/bin/sh
# 環境設定
DB_INF="DBユーザ名/DBパスワード@サービス名"
# インポート
imp ${DB_INF} FILE=[テーブル名].dmp LOG=[テーブル名].log TABLES=([テーブル名]) ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y STATISTICS=NONE

オプション一部整理。

  • 実行モード
    FULL/OWNER/TABLES

    FULL:データベース指定
    OWNER:ユーザ指定
    TABLES:テーブル指定
    
  • 移行対象
    ROWS/INDEXES/GRANTS/CONSTRAINTS/TRIGGERS/STATISTICS/TRIGGERS

    ROWS:表データ移行フラグ、Nにすると表定義のみ(デフォルト:Y)
    INDEXES:索引移行フラグ(デフォルト:Y)
    GRANTS:権限移行フラグ(デフォルト:Y)
    CONSTRAINTS:制約移行フラグ(デフォルト:Y)
    STATISTICS:統計情報移行フラグ、移行したくない場合はNONEを指定
    TRIGGERS:トリガー移行フラグ、エクスポート時のみ指定可能(デフォルト:Y)
    
  • その他

    QUERY:エクスポート条件条件