41
<Insert Picture Here> 意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

Oracle Direct Seminar...2010/09/09  · 意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

<Insert Picture Here>

意外と知らない?!データローディングの基礎

Oracle Direct Seminar

日本オラクル株式会社

Page 2: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

2Copyright© 2010, Oracle. All rights reserved.

Agenda

データロードの種類

SQL*Loaderを使用したデータロード

外部表を使用したデータロード

・SQL Serverからの移行アセスメント・MySQLからの移行相談

・PostgreSQLからの移行相談・Accessからの移行アセスメント

・Oracle Database バージョンアップ支援・Oracle Developer/2000 Webアップグレード相談

・パフォーマンス・クリニック・Oracle 構成相談

・Oracle Database 高可用性診断・システム連携アセスメント・システムセキュリティ診断

・簡易業務診断・メインフレーム資産活用

無償技術サービスOracle Direct Concierge

http://www.oracle.com/lang/jp/direct/services.html

Page 3: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

3Copyright© 2010, Oracle. All rights reserved.

データロードの種類

1.中間ファイルを利用するもの

2.ネットワークを利用するもの(参考)

中間ファイル

•Data Import/Export•Data Pump•SQL*Loader•外部表•トランスポータブル表領域(参考)

•DB Link + SQL•Oracle Transparent

Gateway•Oracle Data Integrator•Oracle Golden Gate

Page 4: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

4Copyright© 2010, Oracle. All rights reserved.

Export Utility

EXP

xxx.dmp

データの抽出

中間ファイルを利用するデータロード

クライアント

Data Import/Export Data Pump

Import Utility

IMP

データのロードサーバ サーバ

Export Utility

EXPDPデータの抽出

xxx.dmp

転送

xxx.dmp

Import Utility

IMPDPデータのロード

SQL*Loader

外部ファイルSQL*Loader

データのロード

外部表+SQL

サーバ

サーバ

サーバ

外部表ロード先表

INSERT INTO….

SELECT * FROM 外部ファイル

※ネットワーク経由も可

Page 5: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

5Copyright© 2010, Oracle. All rights reserved.

参考:トランスポータブル表領域(TTS)

Export Utility

EXPDP(EXP)

xxx.dmp

Oracle Database Oracle Database

データの抽出

データのロード

xxx.dmp

表領域の情報を抜き出す

転送

xxx.dbf

Import Utility

IMPDP(IMP)

Enterprise

Edition

データファイルをコピーする

コピー元の表領域を読みとり専用

Page 6: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

6Copyright© 2010, Oracle. All rights reserved.

Data Export/Import

Data pump SQL*Loader 外部表

ソースOracle DB Oracle DB 外部ファイル 外部ファイル

/Oracle DB

主な用途

論理Backupツール

論理Backupツール

テキスト・ローディング

テキスト・ローディングDatapump

ローディング

利用可能なVersion

Version5.X以前~ 10g~ Version6.X以前~ 9i~10g~(アンロード)

実行形態Client側で実行可

(Net経由)Server側で実行 Client側で実行可

(Net経由)Server側で実行

ファイル形式

独自 独自(Data Exp/Impと

互換性はなし)

テキスト(固定長/可変長)

テキスト(固定長/可変長)独自(DataPump)

中間ファイルを利用するデータロード(特徴)

本セミナー内容

Page 7: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

7Copyright© 2010, Oracle. All rights reserved.

参考:Data Export/ImportとData Pump

Export UtilityEXP

xxx.dmp

データの抽出

クライアント

Data Import/Export Data Pump

Import UtilityIMP

データのロードサーバ サーバ

Export UtilityEXPDP

データの抽出xxx.dmp

転送

xxx.dmp

Import UtilityIMPDP

サーバ

サーバ

特徴:•ダンプファイルはクライアント側に格納される•Data Pump Import/Exportと比べた場合、比較的低速•Oracle Database 10g以降はData Pump Import/Exportの使用を推奨

特徴:•ダンプファイルはサーバ側に格納される•9iまでのexp/impと同等の機能+更なる付加機能を持つ、新たな機能を搭載

Exp/impに比べ、数倍高速パラレル処理が実行可能

•exp/imp と、Data Pumpでダンプファイルの互換性はない

データのロード

Page 8: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

8Copyright© 2010, Oracle. All rights reserved.

Agenda

はじめに

データロードの種類

SQL*Loaderを使用したデータロード

外部表を使用したデータロード

・SQL Serverからの移行アセスメント・MySQLからの移行相談

・PostgreSQLからの移行相談・Accessからの移行アセスメント

・Oracle Database バージョンアップ支援・Oracle Developer/2000 Webアップグレード相談

・パフォーマンス・クリニック・Oracle 構成相談

・Oracle Database 高可用性診断・システム連携アセスメント・システムセキュリティ診断

・簡易業務診断・メインフレーム資産活用

無償技術サービスOracle Direct Concierge

http://www.oracle.com/lang/jp/direct/services.html

Page 9: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

9Copyright© 2010, Oracle. All rights reserved.

Oracle Database

データのロード

SQL*Loaderを使用したデータロード

SQL*Loader

外部ファイル(text,csv)

SQL*Loaderを使用することで外部ファイルのデータをOracleデータベースの表にロードすることが可能

Page 10: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

10Copyright© 2010, Oracle. All rights reserved.

SQL*Loaderの特徴

•柔軟性/高速性に応じた2つのモードを用意従来型パス・モードダイレクト・パス・モード

•様々な形式(固定長や可変長)、様々な文字コード(EUC,SJIS)の外部データの取り込みが可能

•同時に複数の表へロードが可能

•複数のデータファイルから一度に同じ表へロードが可能

Page 11: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

11Copyright© 2010, Oracle. All rights reserved.

SQL*Loaderに関するファイル

•ログファイルロード件数やロード中に発生したエラーログなどを記録するファイル

•廃棄ファイルエラー以外の理由によりロードされなかったレコードを記録するファイル

•不良ファイルエラーによりロードされなかったレコードを記録するファイル

•制御ファイルデータの場所、データの挿入先データの分析などが記述されたファイル

•データファイルロードするデータが格納されたファイル

SQL*Loader

•データベース

Page 12: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

12Copyright© 2010, Oracle. All rights reserved.

SQL*Loader

従来型パスロード

• 従来型パスロードでは

テキストデータを読み取りながら

内部的に INSERT を発行

• Insertと同程度の時間がかかる

SQLコマンドの生成

キャッシュ上のブロックへの書き込み

ディスクへの書き込み

REDOログ・バッファ

データベース・バッファ・キャッシュ 共有プール

SGA

Page 13: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

13Copyright© 2010, Oracle. All rights reserved.

SQL*Loader

ダイレクト・パス・ロード

• 制限事項

例:)

ロードする間テーブルに

ロックがかかる

参照整合性制約、トリガーなど

• バッファキャッシュを迂回し、

表に割り当てられたエクステントに

直接ブロックが保存される。

ブロックイメージを作成

ディスクへの書き込み

REDOログ・バッファ

データベース・バッファ・キャッシュ 共有プール

Page 14: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

14Copyright© 2010, Oracle. All rights reserved.

従来型パスロードVSダイレクトパスロード1回あたりのロード時間 ※従来型パスロードのロード時間を1とした場合の

相対処理時間 (実際の処理時間に任意の数を掛けています)※資料中に掲載されている検証内容は、特定環境における検証結果に

ついての報告であり、すべての環境において同様の動作を保証するものではありませんので、予めご了承ください。

※5,000 レコードロードの結果

0.3

0

ダイレクトパスロード

従来型パスロード

ダイレクトパスロード 従来型パスロード

ダイレクトパスロードは従来型パスロードと比べ非常に高速

0.2 0.4 0.6 0.8 1.0

Page 15: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

15Copyright© 2010, Oracle. All rights reserved.

参考:SQL*Loaderの使用方法

1.外部ファイルを準備する例:emp.dat, emp.csv,emp.txt

2.制御ファイルの作成viエディタ等で制御ファイルを作成<制御ファイルサンプル samp1.ctl>

1 OPTIONS(2 DIRECT = TRUE,3 )45 LOAD DATA 6 INFILE ‘emp.dat' 7 INTO TABLE tab_samp1 8 APPEND 9 FIELDS TERMINATED BY ',' 10 (empno,ename)

モードを選択

例:ダイレクトパスロードを使用する場合

emp.dat

1 7499,ALLEN2 7521,WARD3 7566,JONES

Page 16: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

16Copyright© 2010, Oracle. All rights reserved.

参考:SQL*Loaderの使用方法

3. SQL*Loaderの実行% sqlldr scott/tiger control=samp1.ctl SQL*Loader: Release 11.2.0.1.0 - Production on 水 Sept 1 21:14:26 2010

(c) Copyright 1982, 2009, Oracle and/or its affiliates. All rights reserved.

コミット・ポイントに達しました。 - 論理レコード件数 3

4.ロード結果の確認1 SQL> select * from tab_samp1; 2 EMPNO ENAME 3 ------- -----------------4 1 Yamada 5 2 Suzuki 6 3 Tanaka

Page 17: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

17Copyright© 2010, Oracle. All rights reserved.

パラレル・ダイレクト・パス・ロード

•複数のセッションを同時に実行して、同一の表またはパーティション表の同一パーティションに対してダイレクト・パス・ロードを実行

ダイレクト・パス・ロードのパフォーマンスが向上

P1 P2 P3 P4

パラレル処理

P1

シリアル処理

待機

Page 18: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

18Copyright© 2010, Oracle. All rights reserved.

参考:パラレル・ダイレクト・パス・ロード設定方法

1.ローディング用ファイルを準備する例:emp1.dat, emp2.dat, emp3.dat

2.制御ファイルをそれぞれのセッション毎に作成<制御ファイルサンプル samp1.ctl> 1 OPTIONS(2 DIRECT = TRUE,3 PARALLEL = TRUE4 )5 LOAD DATA 6 INFILE ‘emp1.dat' 7 INTO TABLE tab_samp1 8 APPEND 9 FIELDS TERMINATED BY ',' 10 (empno,ename)

もしくはコマンドプロンプトから有効化

sqlldr USERID=scott/tiger CONTROL=samp1.ctl DIRECT=TRUE PARALLEL=true

<制御ファイルサンプル samp2.ctl>

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

“PARALLEL”オプションをTRUEに設定することでパラレル化を有効化

並列化させるセッション毎にそれぞれロードする

外部ファイルを準備する

sqlldr USERID=scott/tiger CONTROL=samp2.ctl DIRECT=TRUE PARALLEL=true

sqlldr USERID=scott/tiger CONTROL=samp3.ctl DIRECT=TRUE PARALLEL=true

Page 19: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

19Copyright© 2010, Oracle. All rights reserved.

SQL*Loader (ダイレクト・パス・モード)の考慮点

•ローディング中はテーブル全体がロック検索処理は可能だが、更新処理は待たされる

•データを加工しながらローディングできない一度、ワーク・テーブルを用意する必要がある

•運用が複雑インデックスのメンテナンス手順

パラレルでロードする場合、

複数の制御ファイルを作成するのが面倒

パラレル・ローディングの指定が面倒

etc.

Page 20: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

20Copyright© 2010, Oracle. All rights reserved.

従来型パスロード とダイレクトパスロードの使い分け

従来型パスロードを使用するケース

• ロードと並行して表にアクセスする場合

• 参照整合性制約および列チェック整合性制約のある大きな表に、比較的少数の行をロードする場合

ダイレクトパスロードを使用するケース• 従来型パス・ロードと比較すると非常に高速なので、

• 短時間でデータをロードしたい場合

Page 21: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

21Copyright© 2010, Oracle. All rights reserved.

Agenda

はじめに

データロードの種類

SQL*Loaderを使用したデータロード

外部表を使用したデータロード

・SQL Serverからの移行アセスメント・MySQLからの移行相談

・PostgreSQLからの移行相談・Accessからの移行アセスメント

・Oracle Database バージョンアップ支援・Oracle Developer/2000 Webアップグレード相談

・パフォーマンス・クリニック・Oracle 構成相談

・Oracle Database 高可用性診断・システム連携アセスメント・システムセキュリティ診断

・簡易業務診断・メインフレーム資産活用

無償技術サービスOracle Direct Concierge

http://www.oracle.com/lang/jp/direct/services.html

Page 22: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

22Copyright© 2010, Oracle. All rights reserved.

Oracle Database

外部表とは

外部表

外部ファイル(text,csv etc.)

SELECT * FROM

•外部ファイル(CSVファイル等)をデータベース内に

格納されているテーブルのように扱うことが可能–CSVファイルの各列のマッピングをテーブル作成時に定義

•2種類のアクセス・ドライバORACLE_LOADER アクセス・ドライバORACLE_DATAPUMP アクセス・ドライバ

ディレクトリ・オブジェクト

•DML操作(UPDATE、INSERTまたはDELETE)は実行できず、索引も作成できない

Page 23: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

23Copyright© 2010, Oracle. All rights reserved.

アクセス・ドライバ:ORACLE_LOADERとORACLE_DATAPUMP

ORACLE_LOADER ORACLE_DATAPUMP

アンロード

転送

特徴:•9iから使用可能•ロードのみ可能•データはテキスト・データファイルからロード•デフォルトで使用•CSVファイル等のデータを

ロードする場合に利用

特徴:•10gから使用可能•アンロード・ロードが可能•データはダンプ・ファイルからロード

(注:外部表のアンロードで作成されるダンプ・ファイルとData pumpで作成されるダンプ・ファイルは異なります)

•別のOracle Database内にあるデータをロードする場合に利用

外部表ディレクトリ・オブジェクト

外部ファイル(.txt,.csv)

ディレクトリ・オブジェクト

外部表内部表

.dmp

ディレクトリ・オブジェクト

外部表

.dmp

Page 24: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

24Copyright© 2010, Oracle. All rights reserved.

外部表の作成(ORACLE_LOADER)

1.外部ファイルを準備する例:emp.dat, emp.csv,emp.txt

2.ディレクトリオブジェクトの作成

SQL> CREATE DIRECTORY load_src as ‘C:¥Documents and SQL> Settings¥My Documents';

3.ディレクトリオブジェクトの読み込み・書き込み権限を付与

SQL> GRANT READ ON DIRECTORY load_src TO scott;SQL> GRANT WRITE ON DIRECTORY load_src TO scott;

外部ファイルがあるディレクトリの場所をDBへ登録する

Page 25: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

25Copyright© 2010, Oracle. All rights reserved.

外部表の作成(ORACLE_LOADER)

4.外部表の作成

SQL> CREATE TABLE emp_ext( empno NUMBER, ename varchar2(10)

:)ORGANIZATION EXTERNAL

( DEFAULT DIRECTORY load_srcACCESS PARAMETERS( RECORDS DELIMITED BY NEWLINEFIELDS TERMINATED BY ',')LOCATION (‘emp.dat'))

外部表の宣言

ロードするデータファイルの指定

Page 26: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

26Copyright© 2010, Oracle. All rights reserved.

外部表の作成(ORACLE_LOADER)

SQL> select empno,ename from emp_ext;

EMPNO ENAME---------- ----------

7369 SMITH7499 ALLEN7521 WARD7566 JONES7654 MARTIN7698 BLAKE7782 CLARK7788 SCOTT7839 KING7844 TURNER7876 ADAMS

11行が選択されました。

5.通常の表へのアクセスと同様にSQL文を実行する

Page 27: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

27Copyright© 2010, Oracle. All rights reserved.

外部表 -アンロード(ORACLE_DATAPUMP)

•外部表の機能を利用して、データのアンロードが可能

9i でも利用できた外部表の構文で、データ型にはORACLE_DATAPUMPを指定

SQLの問い合わせを記述することで、自由にアンロード可能

DPUMP_DIRで指定されたディレクトリ下に「dept.dmp」というダンプファイルが作成される

SQL> create table dept_external1organization external (type oracle_datapumpdefault directory dpump_dirlocation('dept.dmp') )as select * from dept;

ORACLE_DATAPUMPを指定

AS SELECT ~ でアンロードする対象を記述

Page 28: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

28Copyright© 2010, Oracle. All rights reserved.

参考:外部表のエラー処理

EMP表

SELECT * FROM EMP;

•データ・ファイルと外部表の間で変換エラーが発生すると、エラーの発生した行は無視される•SQL*Loader同様、エラーログやエラーでロードされなかったデータはログファイル、不良ファイルおよび廃棄ファイルに記録される

※ログファイル、不良ファイルおよび廃棄ファイルはディレクトリオブジェクト内に出力される

変換エラー

Page 29: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

29Copyright© 2010, Oracle. All rights reserved.

外部表を使用したデータロード

INSERT INTO EMP SELECT * FROM EXT_EMP;

EMP表(ロード先表)

EXT_EMP表(外部表)

•INSERT INTO … SELECT文やCREATE TABLE … AS SELECT文を利用して外部表を読み込みながら、ロード先のターゲットとなるテーブルにデータをロードする方法

•SQL*Loaderと異なり、SQLでロードするデータの選択が可能

ディレクトリ・オブジェクト

外部ファイル(text,csv etc.)

Page 30: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

30Copyright© 2010, Oracle. All rights reserved.

外部表を利用したデータのロード

外部表としてテキストデータを読み込みながらデータをロード

SQL>CREATE TABLE emp_ext( empno NUMBER, ename varchar2(10)

:)ORGANIZATION EXTERNAL( DEFAULT DIRECTORY load_srcACCESS PARAMETERS( RECORDS DELIMITED BY NEWLINEFIELDS TERMINATED BY ',')LOCATION (‘emp.dat'))/

SQL> INSERT /*+ APPEND */ INTO EMP SELECT * FROM EMP_EXT;

1.外部表を作成する

2.INSERT….Select文

Page 31: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

31Copyright© 2010, Oracle. All rights reserved.

外部表でのパラレルロード

•外部表を利用した場合でもパラレルでのロードが可能

1 CREATE TABLE emp_ext2 ( empno NUMBER3 , ename varchar2(10)4 :5 )6 ORGANIZATION EXTERNAL7 ( DEFAULT DIRECTORY load_src8 ACCESS PARAMETERS9 ( RECORDS DELIMITED BY NEWLINE10 FIELDS TERMINATED BY ',')11 LOCATION (‘emp.dat')12 )13 PARALLEL 2

※SQL文のヒント句を使用した並列化も可能

PARALLEL句で並列度を指定

•ロード元のソースデータの文字コードがACIIとUTF-8の場合、ソースファイルを分割することなく、Oracle側が自動分割して並列に読み込む•Shift_JISやEUC-JPでCSV形式のような可変長データの場合は並列度と同じ数だけファイルを分割する必要がある

Page 32: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

32Copyright© 2010, Oracle. All rights reserved.

圧縮ファイルでの外部表 11gR2 新機能

•圧縮ファイル形式などのテキストファイル以外のデータも外部表としてロードが可能•外部表に読み取るデータファイルの前処理(Preprocessor)を行うプログラムを指定して、実行•解凍とロードを一括して行えるので、ディスクスペースを節約

1 CREATE TABLE sales_external2 (...)3 ORGANISZATION EXTERNAL4 ( TYPE ORACLE_LOADER5 DEFAULT DIRECTORY data_dir16 ACCESS PARAMETERS7 (RECORDS DELIMITED BY NEWLINE8 PREPROCESSOR exec_dir: 9 'gunzip.sh'10 FIELDS TERMINATED BY 11 '|'12 )13 LOCATION (...)14 );

Page 33: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

33Copyright© 2010, Oracle. All rights reserved.

SQL*LoaderVS外部表1回あたりのロード時間 ※SQL*Loaderのロード時間を1とした場合の

相対処理時間 (実際の処理時間に任意の数を掛けています)※資料中に掲載されている検証内容は、特定環境における検証結果に

ついての報告であり、すべての環境において同様の動作を保証するものではありませんので、予めご了承ください。

※約300万レコードロードの結果

0.98

0

外部表

SQL*Loader

外部表 SQL*Loader

ロード時間は大きな違いはない

0.2 0.4 0.6 0.8 1.0

Page 34: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

34Copyright© 2010, Oracle. All rights reserved.

SQL*Loaderと外部表

SQL*Loader 外部表

ソース 外部ファイル 外部ファイル/Oracle DB

利用可能なVersion

Version6.X以前~ 9i~10g~(データのアンロード)

実行形態Client側で実行

(Net経由)Server側で実行

ファイル形式

テキスト(固定長/可変長)

テキスト(固定長/可変長)独自(DataPump)

ロードスピード外部表とSQL*Loaderでは

大差はない外部表とSQL*Loaderでは

大差はない

データクレンジング

データを加工しながらのローディングにはワーク・テーブルが必要

直接データを加工しながらローディングができる

パラレルロード 設定が面倒 設定が容易

ロード対象データの選択

ロードするデータの選択は不可 SQLでロードするデータの選択が可能

•外部ファイルのロードには外部表を利用したロードが効果的

Page 35: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

35Copyright© 2010, Oracle. All rights reserved.

まとめ

•Oracleでは2種類の外部ファイルのデータロード方法を提供SQL*Loader外部表

•SQL*Loaderは従来型パスロード とダイレクトパスロード2つのロード方法があり、用途によって、それぞれを使い分ける

•外部表は外部ファイルをデータベース内に格納されている

テーブルのように扱うことができる機能

•外部表を利用することでSQL*Loaderと比べ、容易にデータのローディングが可能

Page 36: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

36Copyright© 2010, Oracle. All rights reserved.

OTN×ダイセミ でスキルアップ!!

※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。

Oracle Technology Network(OTN)を御活用下さい。

・一般的な技術問題解決方法などを知りたい!・セミナ資料など技術コンテンツがほしい!

一般的技術問題解決にはOTN掲示版の

「データベース一般」をご活用ください

http://otn.oracle.co.jp/forum/index.jspa?categoryID=2

過去のセミナ資料、動画コンテンツはOTNの

「OTNセミナー オンデマンド コンテンツ」へ

http://www.oracle.com/technology/global/jp/ondemand/otn-seminar/index.html

※ダイセミ事務局にダイセミ資料を請求頂いても、お受けできない可能性がございますので予めご了承ください。ダイセミ資料はOTNコンテンツ オン デマンドか、セミナ実施時間内にダウンロード頂くようお願い致します。

Page 37: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

37Copyright© 2010, Oracle. All rights reserved.

Oracle Direct 新サービスができました新規Oracle Direct Concierge

(無償支援サービス)

お問い合わせフォームhttp://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28

•Webシステム ボトルネック診断サービス

•WebLogic Serverバージョンアップ支援サービス

•Oracle Application Server、その他アプリケーションサーバーからのOracle WebLogic Server への移行支援サービス

Page 38: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

38Copyright© 2010, Oracle. All rights reserved.

OTNセミナー オンデマンド コンテンツダイセミで実施された技術コンテンツを動画で配信中!!

ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。

※掲載のコンテンツ内容は予告なく変更になる可能性があります。期間限定での配信コンテンツも含まれております。お早めにダウンロード頂くことをお勧めいたします。

OTN オンデマンド

Page 39: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

39Copyright© 2010, Oracle. All rights reserved.

Oracle エンジニアのための技術情報サイト

オラクルエンジニア通信http://blogs.oracle.com/oracle4engineer/

• 技術資料

• ダイセミの過去資料や製品ホワイトペーパー、スキルアップ資料などを多様な方法で検索できます

• キーワード検索、レベル別、カテゴリ別、製品・機能別

• コラム

• オラクル製品に関する技術コラムを毎週お届けします

• 決してニッチではなく、誰もが明日から使える技術の「あ、そうだったんだ!」をお届けします 先月はこんな資料が人気でした

Oracle Database 11gR2 RAC インストレーション・ガイド ASM 版 Microsoft Windows x86-64

Oracle Database 11gR2 旧バージョンからのアップグレード

オラクルエンジニア通信

Page 40: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

40Copyright© 2010, Oracle. All rights reserved.

オラクル クルクルキャンペーン

Enterprise Editionはここが違う!!• 圧倒的なパフォーマンス!

• データベース管理がカンタン!• データベースを止めなくていい!

• もちろん障害対策も万全!

Oracle Databaseのライセンス価格を大幅に抑えて

ご導入いただけます

詳しくはコチラhttp://www.oracle.co.jp/campaign/kurukuru/index.html

あのOracle Database Enterprise Editionが超おトク!!

お問い合わせフォームhttp://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28

多くのお客様でサーバー使用期間とされる5年間にライセンス期間を限定• 期間途中で永久ライセンスへ差額移行• 5年後に新規ライセンスを購入し継続利用• 5年後に新システムへデータを移行

Page 41: Oracle Direct Seminar...2010/09/09  ·  意外と知らない?!データローディングの基礎 Oracle Direct Seminar 日本オラクル株式会社

41Copyright© 2010, Oracle. All rights reserved.

http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28

Oracle Direct 検索

あなたにいちばん近いオラクル

Oracle Directまずはお問合せください

Web問い合わせフォーム フリーダイヤル

専用お問い合わせフォームにてご相談内容を承ります。

※フォームの入力には、Oracle Direct Seminar申込時と同じログインが必要となります。

※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。

0120-155-096

※月曜~金曜 9:00~12:00、13:00~18:00

(祝日および年末年始除く)

システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。

システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。