DataPump Oracle

大量レコードを保持しているテーブルをデータごとコピーする方法|Oracle DataPump,CREATE TABLE AS SELECT, COPY

考えられる方法は3つ、状況にあった方法でコピーしよう

方法1:DataPumpでテーブル単位でデータ移行

異なるサーバーやDBに対してのデータ移行に適している。

expdp scott/tiger directory=dumpdirectory tables=test;
impdp scott/tiger dumpfile=expdp.dmp;

エクスポート時に必要なダンプファイルのサイズを見積もる方法は以下を参考にしてね

方法2:CREATE TABLE AS SELECT コマンドを利用

同じDB上でテーブルを複製したいときに適している。

また、データベースリンクを使うと違うDB間でのデータ移行も可能となる。

CREATE TABLE 新テーブル AS SELECT * FROM 該当テーブル;

NOT NULL 以外の制約が引き継がれないので注意

方法3:COPY コマンドを利用

(2)の代替案として使うことができる。

copy from scott@db1 to scott@db2 replace copyTable1 using select * from test;

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-DataPump, Oracle
-