HOME >> Tips >> Oracle

抽出条件を指定してエクスポート(exp)を実行する

 
文書番号:20240



Oracle Database から exp コマンドを実行してデータをエクスポートする際に抽出条件を指定して特定の行のみを出力する方法です。

exp コマンドに query キーワードを指定して条件を指定します。

【実行手順】

    query キーワードを指定して exp コマンドを実行します。

    query キーワードの前後には半角¥マークでエスケープしてダブルクオーテーションを付加します。
    条件式は WHERE で開始し、複数の条件を指定する場合は通常のSQLと同様に「AND」や「OR」で接続します。
    
    exp ユーザー/パスワード@接続文字列 file=エクスポートファイル log=ログファイル tables=テーブル名 query=\" WHERE 条件式 \"
    
    例:exp SCOTT/PASSWORD@ORCL file=C:\scott.dmp log=C:\scott_exp.log tables=EMP query=\" WHERE DEPTNO = 10 \"
    
    ※実行した画面の画像も参考にしてください。

    クリックで拡大


    ある条件によってデータベースからエクスポートしたデータを別のデータベースへインポートしたい場合、既にテーブルが存在するとエラーになります。

    既存のテーブルにデータを追加でインポートしたい場合は「IGNORE=T」を指定してインポートします。
    (一定の条件で分割に複数回に分けてエクスポートしたデータをインポートしたい場合など)
    
    imp ユーザー/パスワード@接続文字列 file=インポートファイル log=ログファイル IGNORE=T
    
    例:「scott」ユーザーからエクスポートしたdmpを「scott2」ユーザーへインポートします。
    imp SCOTT2/PASSWORD@ORCL file=C:\scott.dmp log=C:\scott_imp.log fromuser=scott touser=scott2 IGNORE=T