4.9 オブジェクトをサポートするユーティリティ

この項では、Oracleオブジェクトのサポートを提供する複数のOracleユーティリティについて説明します。

この項には、次の項目が含まれます。

4.9.1 オブジェクト型のインポート/エクスポート

エクスポート・ユーティリティおよびインポート・ユーティリティは、Oracleデータベースへ、またはOracleデータベースから、データを移動します。また、データのバックアップまたはアーカイブ、およびOracle RDBMSの異なるリリースへの移行に役立ちます。

エクスポートおよびインポートは、オブジェクト型をサポートします。エクスポートは、オブジェクト型定義および関連するすべてのデータをダンプ・ファイルに書き込みます。インポートは、ダンプ・ファイルからこれらの項目を再作成します。

オブジェクト表をインポートする場合、デフォルトでOIDが維持されます。

関連項目:

インポートおよびエクスポート・ユーティリティの使用方法は、『Oracle Databaseユーティリティ』を参照してください。

4.9.1.1 タイプ

導出型の定義文はエクスポートされます。インポート時、スーパータイプ定義のインポートが完了する前に、サブタイプを作成できます。この場合、サブタイプを作成するとコンパイル・エラーが発生しますが、無視してください。型のスーパータイプが作成された後、型の再検証が行われます。

4.9.1.2 オブジェクト・ビューの階層

ビュー階層に属するすべてのビューのビュー定義はエクスポートされます。

4.9.2 SQL*Loader

SQL*Loaderユーティリティは、外部ファイルのデータをデータベース内の表に移動します。

SQL*Loaderが移動するファイルには、INTEGERCHARDATEなど基本的なスカラー・データ型で構成されるデータや、行オブジェクトや列オブジェクト(オブジェクト、コレクションまたはREF属性を持つオブジェクトを含む)、コレクション、LOBなど複雑なユーザー定義データ型が含まれる可能性があります。現在、SQL*Loaderではシングルレベル・コレクションのみがサポートされています。マルチレベル・コレクション(他のコレクションが要素になっているか、他のコレクションが入っているコレクション)のロードに、SQL*Loaderは使用できません。SQL*Loaderは、SQL*Loader DDL文が入っている制御ファイルを使用して、データ・ファイルのフォーマット、内容および位置を記述します。

SQL*Loaderがデータをロードする方法は、2通りあります。

  • 従来型パス・ロード: SQL INSERT文およびバインド配列バッファを使用して、データをデータベース表にロードします。

  • ダイレクト・パス・ロード: ダイレクト・パス・ロードAPIを使用して、SQL*Loaderクライアントのかわりに、データ・ブロックを直接データベースに書き込みます。

    ダイレクト・パス・ロードはSQLインタフェースを使用しないので、関連するSQL文の処理時にオーバーヘッドが発生しません。したがって、ダイレクト・パス・ロードからは従来型パス・ロードよりも優れたパフォーマンスが通常得られます。

どちらの方法も、サポート対象となっているオブジェクトおよびコレクション・データ型のデータのロードに使用できます。

関連項目:

SQL*Loaderの使用方法は、『Oracle Databaseユーティリティ』を参照してください。