ダイレクト・パス・インサート (ダイレクト・ロード・インサート)

ダイレクト・パス・インサートとは、データベースバッファを経由せずデータファイルへ 直接データを落とし込むという点から、ある特定条件下で非常に優れた処理方法である。 データベースのバッファ処理を経由しないことで高速に処理でき、バッファから他のキャッシュを追い出すことによるキャッシュヒット率の低下を防ぐこともできる。

高速に大量データをインサートさせるための手法

ダイレクト・パス・インサートによる高速のインサート処理にはトレードオフがあるが脅威的な速さを誇る。
数百万件オーダのデータの投入するのに数分とかからない(レコードサイズ、スペックに左右はされる)
通常のパスのローディングに比べて 数分の1 程度の時間で投入できる。
NOLOGGING 状態の場合 REDO ログが出力されない。(高速にはなる一方でフルバックアップするまで間はそのデータをアーカイブログから復旧できない)

[-] [+]
ダイレクトパスインサートの動作イメージ

多重度が 1 の場合、ハイウォータマーク 直後でデータ生成が行われる。
パーティション表 の場合には、それぞれのパーティションのハイウォータマークの直後の領域を利用することができる。

ダイレクト・パス・インサートの使用上の注意

作業準備が必要なので少量のデータを作成するのには向いていない。
以下の代償のため活用シーンは限られている。

  • テーブル(またはパーティション)が排他ロックされる。
  • HWM(ハイウォータマーク)の後ろの連続領域にデータが入る。
  • インデックスの再構築などにより、多くの一時表領域を消費する。(多重化するとさらに多く必要になる)
  • VALUES句は使用できない。
    (INSER INTO 〜 SELECT 〜文でのみ使用可能:SQL-Loader ユーティリティでも可能)

以下の制限に該当する場合、ダイレクト・パス・インサートを使用できない。(暗黙的に従来型へ変換される)

  • 参照整合性制約、トリガー が定義されている表
  • 索引構成表、クラスタ表
  • オブジェクト型を使用している表
  • レプリケート、分散トランザクション

ハイウォータマーク の管理を誤るとセグメントの領域が肥大化して格納効率が悪化し、検索速度も低下する。 さらに領域不足エラーが発生することになることにもつながる。
パラレルのインサート処理はデータベースバッファを経由しないダイレクト・パス・インサートで行われていることもにも注意。

インポート (IMP) ユーティリティは、ダイレクトパスインサート機能を使用できないため従来通りバッファ経由 = INSERT のバルク・インサート処理になる。

ダイレクト・パス・インサートの主な用途

  • テーブルの初期データエントリ
  • パーティション単位のデータエントリ
  • 領域解放を伴う TRUNCATE TABLE &データローディング(SQL Loader)

ダイレクト・パス・インサート の 使用例

INSERT /*+ APPEND */ INTO dest_table SELECT * FROM source_table ;


ライセンス

注意 パラレル(多重化)・ダイレクト・パス・インサートの機能には Enterprise Edition のライセンスが必要。

サイト統合にともない以下のリンクは消滅して代替情報の URL は不明

Oracle9i ではパラレルダイレクトロードは Standard Edition で利用可能。
Oracle10g も同様と思いますが、項目自体が削除されているので サポート、または、オラクルダイレクトに確認してください。

関連事項

スポンサード リンク

ITエンジニア キャリアアップ・転職・求人情報

■ フリーランスから独立開業、会社設立へ

■ 国内最大級の転職支援サービス

Oracle & IT技術者 専門書

プロとしてのOracle PL/SQL入門
価格: 2,520 円 (税込)
新品/ユーズド価格: 1,944 円 より
リリース: 2006-05-31
ユーザーレビュー: 5 件

門外不出のOracle現場ワザ
価格: 2,730 円 (税込)
新品/ユーズド価格: 2,730 円 より
リリース: 2005-06-17
ユーザーレビュー: 1 件

グラス片手にデータベース設計~販売管理システム編 (DBMagazine
価格: 2,520 円 (税込)
新品/ユーズド価格: 1,850 円 より
リリース: 2003-11-19
ユーザーレビュー: 9 件

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ OTN Software Kit (開発者ライセンス)
Google