SQL*Loaderを使用したデータ移行手順

実践オラクルデータベース構築・運用

オラクルデータベース構築オラクルデータベース運用SQL書式PL/SQL書式Oracle Master試験

TOP オラクルデータベース構築 データ移行手順

SQL*Loaderを使用したデータ移行手順


スポンサードリンク
スポンサードリンク


SQL*Loaderを使用したデータ移行手順



本項では、SQL*Loaderを使用したデータ移行手順について説明します。

ただし、SQL*Loaderを用いる場合は、OracleDatabaseへ取り込むデータ(CSV, Text等)を移行元から抽出出来ていることが前提になります。オリジナル(exp/imp)やDatapump(expdp/impdp)と異なる点としては、移行元がOracleDatabaseでなくてもSQL*Loaderで取り込み可能な形式でデータが作成できれば、エクセルでもAccessでもMYSQLでも、どの環境からでもデータの取り込み(ロード)が可能となります。

またSQL*Loaderは、制御ファイルに記載された「データの場所」、「データの分析と解釈方法」、「データの挿入先」などの情報をもとにデータの取り込みを実行します。以下に制御ファイルの特徴について記載します。

〜制御ファイルの特徴〜
制御ファイルは、SQL*Loaderが解釈できる言語で記述されたテキストファイルです。データの場所、データの分析と解釈方法、データの挿入先などをSQL*Loaderに通知する役割を持っています。

制御ファイルには、大きく分けて以下の3つのセクションがあります。

◎第1セクションは、セッション全体の情報が記述されます。
バインドサイズ、行、スキップ・レコードなどのようなグローバル・オプション情報が含まれます。

◎第2セクションは、1つ以上のINTO TABLEブロックで構成されています。
それぞれのブロックには、表名、その表の列などの、データがロードされる表についての情報が含まれています。

◎第3セクションは、オプションとなります。
このセクションがある場合は、入力データが記述されます。





@ 取り込むデータの確認
$ cat /tmp/import_data

"0001","JOHN","01/12/1951"
"0002","PETER","05/01/1966"
"0003","JEAN","06/09/1970"
"0004","ANJU","04/02/1978"
"0005","SCOTT","12/09/1976"

エクセルやAccessなどの外部データベースから抽出したデータ形式を確認します。


A 制御ファイル作成
$ cat /tmp/control_file

LOAD DATA
INFILE '/tmp/import_data'
INTO TABLE IMPTABLE
APPEND
FIELDS TERMINATED BY ','
(ID,NAME,BIRTHDAY)

上記の例は、第2セクションまでの記載となります。


B データ取り込み実行
$ sqlldr userid=test/test, control='/tmp/control_file'




   
◎ エクスポート/インポート(exp/imp)を用いたデータ移行
       |-エクスポート/インポート(exp/imp)について
       |-移行モードごとの移行対象オブジェクトについて
     
|-exp/impを使用したデータ移行手順

   
◎ DataPump(expdp/impdp)を用いたデータ移行
       |-DataPump(expdp/impdp)について
     
|-DataPump(expdp/impdp)を使用したデータ移行手順

   
◎ SQL*Loaderを用いたデータ移行
       |-SQL*Loaderについて
     
|-SQL*Loaderを使用したデータ移行手順

   ◎ OracleGoldenGateを用いたデータ移行
       |-OracleGoldenGateについて



スポンサードリンク

リンク集 / 免責事項サイトマップ問い合わせ
Copyright (C) 2012  実践オラクルデータベース構築・運用  All rights reserved