SQLDeveloperでのOracleデータのimport/export sqlldr(SQLローダー)編

前回の記事でOracleのインポート/エクスポートをエクセルにて行いました。
エクセルを利用するとデータの加工や、各テーブルのデータをまとめて保存しておけるのが便利ですが、
大量のデータとなると、「テキストファイル&SQLローダー」の組み合わせで処理した方が便利です。
そこで今回の記事では、SQLローダー(sqlldr)を利用した方法をご紹介します。

 

データのエクスポート

あるテーブルのデータをエクスポートするには、今回は「SQLDeveloper」を使います。
というのも、SQLDeveloperには非常に便利な機能があり、ワンクリックで、ファイルにエクスポートできるからです。
しかも、出力されたファイルには、sqlldrでのインポートに利用できる制御情報がデフォルトで埋め込まれていますから、
面倒な記述なしで、sqlldr形式でのデータのエクスポート⇒インポートができるというわけです。

では、早速エクスポートしてみます。

image

 

SQLDeveloperでDBに接続し、対象のテーブルを右クリックします。表示されたメニューで、「データのエクスポート」⇒「loader」を選択してください。
やることはこれだけです。
ファイルの保存場所を指定すれば、そこにエクスポートしたデータが「.ldr」の拡張子で保存されます。
なお、そのファイルには制御情報も含まれると言いました。
実際に吐かれるファイルは以下のようなものです。

LOAD DATA
INFILE *
TRUNCATE
INTO TABLE "SAMPLE1"
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS (
CUST_CODE ,
CUST_NAME ,
DATE_COL timestamp "YY-MM-DD" ,
TIME_COL timestamp "YY-MM-DD HH24:MI:SS" )
begindata
aa|aa1|13-05-21|13-05-21 10:35:26
bb|bb1|13-05-21|13-05-21 10:35:52

 

注意
日付やTIMESTAMP型のデータをエクスポート/インポートする場合には、前回の記事の注意を参考にしてください。
でないと、失敗するかもしれません。

 

データのインポート


データをインポートするには「sqlldr」を使います。Sqlldr.exeのあるディレクトリにパスが通っていることを確認して、以下のコマンドを入力しましょう。

sqlldr username/password@sid control=上記で出力したファイル log='ログファイル名'

 

制御ファイルとinファイルが同じファイル内に記述されていますので、上記のコマンドでOKです。



こんな記事も関係あるかも。読んでみてね。

コメントを残す

サブコンテンツ

このページの先頭へ