oracleで特定のユーザーのすべてのテーブルをエクスポートの方法

以下の手順で、特定のユーザのすべてのテーブルをエクスポートできます。

  1. SQL*Plusなどのツールを使って、Oracleデータベースにログインしているユーザーは以降のコマンドでログインできる:
  2. sqlplus ユーザー名/パスワード@データベース
  3. 現在のユーザー配下の全てのテーブルを確認するには次を実行します。
  4. OWNER = ‘ユーザ名’ である all_tables から table_name を選択
  5. your_usernameはエクスポートするテーブルのユーザー名です。
  6. OracleのData Pumpツールを使用して表をエクスポートします。SQL*Plusで、以下のコマンドを実行できます。
  7. natively in japanese, only need one option: expdp username/password@database tables=table1,table2,table3 directory=directory_name dumpfile=dumpfile_name.dmp logfile=logfile_name.log
  8. この中で、username はエクスポートするテーブルのユーザ名、table1、table2、table3 はエクスポートするテーブル名、directory_name はエクスポートするファイルのディレクトリ名、dumpfile_name.dmp はエクスポートするファイルの名前、logfile_name.log はエクスポートするログファイルの名前です。
  9. すべての表をエクスポートする場合は、ワイルドカード * を使用できます。サンプル:
  10. expdp username/password@database tables=*. directory=directory_name dumpfile=dumpfile_name.dmp logfile=logfile_name.log
  11. このコマンドを実行すると、Oracleは指定されたユーザー配下の全ての表を指定されたエクスポートファイルに出力し、対応するログファイルを生成します。

なお、テーブルのエクスポートには適度な権限が必要なので、現在のユーザーに十分な権限がない場合は、適切な権限を持つユーザーでログインして上記のコマンドを実行してください。また、エクスポートしたファイルは、データベースサーバー内の指定したディレクトリに保存されます。

bannerAds