初めに
オブジェクト・ストレージからOracle Base DB や Autonomous DBにデータをロードする方法には、さまざまな選択肢があります。本記事では、特によく利用される代表的な手法をまとめて紹介します。
どの手法を選ぶべきか迷っている方にとって、本記事が参考となり、最適な方法を選択するための一助となれば幸いです。
本記事では OCI Object Storage を例に解説しますが、利用するツールや方法によっては AWS S3 や Azure Blob など、他のオブジェクト・ストレージサービスにも対応可能です。
なお、本記事ではオラクルの 公式製品およびサービス に焦点を当てて説明します。サードパーティー製のツールも多数存在しますが、選択肢が多岐にわたるため、本記事では割愛します。
1. Object Storage から Oracle Base DB/ADB へデータをロード
1-1. ローカルにコピーしてから Oracle Base DB へロード

ネットワーク構成
- Oracle Base DB インスタンスが パブリック・サブネット または プライベート・サブネット のどちらに配置されていても、この方法を利用できます。(以下で紹介する方法も同様です)
- パブリック・サブネット:
→ Internet Gateway を経由してオブジェクト・ストレージへアクセスします。 - プライベート・サブネット:
→ NAT Gateway または Service Gateway を経由してアクセスします。
- パブリック・サブネット:
- 一般的に、Oracle Base DB はプライベート・サブネット内に配置され、OCI Object Storageへのアクセスには Service Gateway 利用する構成が推奨されています。
作業ステップ
- STEP-1. データをローカルへ転送。
- OCI Object Storage の場合:
→ OCI CLI の利用を推奨 (最新版の Oracle Base DB には標準でインストールされています。旧バージョンの DBCSインスタンスにもインストール可能です) - AWS S3, Azure Blob の場合:
→ 例:rclone を利用
- OCI Object Storage の場合:
- STEP-2. ローカルから DB へロード(従来の方法)
- テキストファイル:例 SQL Loader
- Data Pumpファイル:impdp
メリット
✅ ローカルにコピーした後は従来の方法で処理できるため、新しいツールやサービスを導入する必要がありません。
✅ DBMS_CLOUDと比較して、Oracle DBののバージョン制限がありません。
✅ OCI CLIは Oracle Base DB に標準でインストールされているため、データ転送が容易です。
デメリット
ローカルに一時保存する必要があるため、ストレージ容量が不足している場合はデータを保存できない可能性があります。
1-2. Object Storage をマウントして Oracle Base DB へロード

作業ステップ
- STEP-1: Object Storage をDBインスタンスにマウント
(例:s3fs-fuseを利用) - STEP-2: マウントポイントからデータDBへデータをロード(従来の方法)
- テキストファイル:例 SQL Loader
- Data Pumpファイル:impdp
メリット
✅ マウント設定は比較的簡単で、マウント後は従来の方法と同じ手順で処理できます。
✅ DB のバージョンに依存せず、DBMS_CLOUD パッケージのインストールは不要 です。
(Base DB に DBMS_CLOUD をインストールする場合は DB バージョンの制限があります)
✅ Object Storage から 直接インポート できるため、ローカルへの一時保存は不要です。
再マウントするか、
/etc/fstab を編集して自動マウントを設定してください。実施方法の詳細については、次の記事をご参照ください。
マウントポイント経由でOracle Base DBのData PumpをObject Storageへエクスポートする
1-3. DBMS_CLOUD を利用して Oracle Base DB/ADB へロード
Oracle Base DB の場合
作業ステップ
- STEP-1. Oracle Base DB に DBMS_CLOUD パッケージをインストールし、関連設定を行う。
- STEP-2. クレデンシャルの作成 (
DBMS_CLOUD.CREATE_CREDENTIAL) - STEP-3. データロード
- テキストファイル:
DBMS_CLOUD.COPY_DATAを利用 - Data Pumpファイル:
impdp user/password credential=XXXX dumpfile= https://<Object_File_URL>
- テキストファイル:
Oracle Base DB の実施例については、次のステップ・バイ・ステップの手順をご参照ください。
(STEP-1 ~ STEP-8 が DBMS_CLOUD のインストールおよび関連設定に該当します)
DBMS_CLOUDでオブジェクト・ストレージからOracle DBにデータを導入する方法 (CSV/Data Pump対応)
Autonomous DB の場合
DBMS_CLOUD パッケージは Autonomous DB に標準で実装済み のため、クレデンシャルを作成するだけで利用できます。
メリット
✅ クレデンシャルを作成することで、オブジェクト・ストレージに直接アクセスできます。
(ローカルコピーやマウントは不要)
✅ Oracle Base DB と Autonomous DB の両方で利用可能
✅ OCI Object Storage だけでなくAWS S3 / Azure Blob などにも対応しており、マルチクラウド環境にも適しています。
デメリット
- Oracle Base DB では DBMS_CLOUD のインストールおよび権限設定が必要 で、手順がやや複雑です。
- Oracle Database の バージョン制限 (19c / 21c のみ)。
1-4. DBMS_CLOUD_PIPELINE を利用してADBへロード
これは、2022年12月にリリースされたAutonomous DB の新機能です。機能の詳細は公式ドキュメントをご参照ください。
作業流れ
メリット
✅ 指定した間隔で自動実行でき、新しいデータが到着すると自動的にデータ連携を実行できます。
✅ オブジェクト・ストレージから ADB へのロードだけでなく、ADB からオブジェクト・ストレージへのエクスポートも可能です。
利用制限
現時点(2023年1月)では、Autonomous DB 専用機能であり、Oracle Base DB では利用できません。
1-5. ODI Marketplace の利用

ネットワーク構成
- ODI Marketplace インスタンス作成時には VCN の指定が必須であり、ターゲット DB とは 同一 VCNまたは別VCN のいずれの構成でも利用可能 です。
- ODI Marketplace は Autonomous Linux ベースの Compute インスタンス であり、VNC ツール を使用して接続すると GUI (ODI Studio) を利用できます。
作業ステップ
- Marketplaceから ODI インスタンスを作成
- VNC ツールで接続し、ODI Studio を起動
- レポジトリ DB を作成(ターゲット DB と同じでも可)
- ソースおよびターゲットへの物理接続を作成
- モデル作成(物理接続を論理化)
- プロジェクトおよびマッピング作成
- マッピング実行及びモニタリング
メリット
✅ OCI Object Storage や Oracle DB / ADB だけでなく、多くのデータソースに対応
✅ データ加工や複数ファイルのマージなど、複雑なデータフローの構築が可能
✅ スケジューリング実行が可能で、管理・監視機能も充実
✅ コストメリット(Classic 版はソフトウェア価格が $0.00 / OCPU)
デメリット
- レポジトリ DB の設定が必須
- マッピング実行までの設定が比較的複雑で、習熟に時間がかかる可能性があります。
1-6. OCI Data Integration の利用

ネットワーク構成
- OCI Data Integration のワークスペースには VCN 内部 と VCN 外部 の2種類があり、通常は VCN 内部 で作成します。
- VCN 内部で作成する場合、オブジェクト・ストレージおよび DB インスタンスに接続するために セキュリティ・リストやルート表の設定が必要です。
Egress ルールの参考例:
Object Storage 接続: 宛先 0.0.0.0/0 TCP 443
DB 接続: 宛先 DBのプライベートIP TCP 1521
作業ステップ
- OCI Data Integration ワークスペース作成
- データ・アセット作成(ソース / ターゲット両方)
- プロジェクトおよびデータフロー作成
- 統合タスクおよびアプリケーション作成
- タスクをアプリケーションへ公開
- タスク実行およびモニタリング
※、OCI DI ワークスペースは、機能的には ODI Studio (On-P or MP) に相当します。
Oracle DBの実施例は、次のステップ・バイ・ステップの手順をご参考ください。
OCI Data Integrationを使用しオブジェクト・ストレージからOracle DBにデータをロードする
メリット
✅ OCI の マネージドサービス のため、ODI On-Premises や ODI Marketplace より管理が容易
(レポジトリ DB の管理は不要)
✅ OCI Object Storage や Oracle DB / ADB だけでなく 多数のデータソースに対応。(対応一覧は、こちらへ)
✅ データ変換、複数ファイルのマージなど複雑なデータフローを作成可能
✅ スケジューリング実行・監視機能が充実
✅ OCI DIからOCI Functionsの呼び出しも可能。
デメリット
- 他の方法と比べてサービス利用料金が発生。(内訳は以下の通り)
- ワークスペース料金 (時間単位)
- データ処理料金 (時間×GB単位)
- パイプライン・オペレーターの実行料金 (時間単位)

パイプライン・オペレーターの料金はオプションです。これを利用しない前提で試算した場合、毎月の概算コストは次のとおりです。(1 ワークスペースのみを使用し、1 時間あたり 1GB のデータを処理すると想定)
2. 各種方法の比較
上記の各方法について、メリットとデメリットを整理した比較表を作成しました。
用途に応じて最適な方法を選択する際の参考にしてください。
サマリー
- 最適な方法を選択するためには、次のような観点を考慮することが重要です。
- データ転送量
- 転送頻度(単発 / 定期処理)
- データ変換の必要性
- データソースの種類と配置場所
- DB バージョン
- コスト(サービス料金および学習コスト)
- なお、ODI On-Premises 版でも技術的には実現可能ですが、本記事のように ソースとターゲットの両方がクラウド上にある構成 ではベストプラクティスではないため、今回は候補から除外しています。
以上
オフィシャル・リンク
OCI Data Integration サービス・ホームページ (価格表、見積もりを含める)
OCI Data Integration ドキュメント・ホームページ