• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Oracleストアドプロシージャについて)

Oracleストアドプロシージャにおける海外データの加工方法について

このQ&Aのポイント
  • 海外FTPサーバーからCSVファイルをDWHサーバーに格納し、OracleテーブルにInsertする処理をPL/SQLで開発する予定です。
  • CSVのInsert後に別サーバーのOracleテーブルを使用し、データの加工を行います。
  • PL/SQLで他のサーバーのテーブルとリレーションが可能で、フローチャート上ではストアドプロシージャに処理が移行します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

> CSVの取得はDOSバッチとTeratermのマクロで取得しようと思っています。 windows標準添付のfpコマンドは転送エラーを拾えません。ftpgetとかPerlのNET::ftpかrubyのnet/ftpなら拾えた気がします。 > CSVファイルのInsert処理はPL/SQLで開発を行おうと考えています。 Sql*Loaderを使用しない理由が理解出来ません。Insert処理はSql*Loaderの方が圧倒的に高速です。特に全件置き換えの場合はDirectモードが使用可能です。 > PL/SQLで他のサーバーのテーブルとリレーション 「他のサーバーのテーブル」がOracleならデータベースリンクで参照が可能です。ただし、リモートテーブルとのJOINはINDEXを使用できません。パフォーマンス的にかなり苦しいことが予想されます。 REMOTEテーブルのデータ量が少なければHashJoinを利用できる可能性もありますが。 データベースリンクについてはマニュアルを参照してください。 http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/statements_5005.htm

anman0201
質問者

お礼

詳細な説明ありがとうございました。 リンク先も参考にさせていただきます。

その他の回答 (2)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

他のサーバのDBとの連携は「データベースリンク」を使用します。 「データベースリンク」と「シノニム」を組み合わせて表があたかも自サーバに存在するかのごとく 扱えます。

anman0201
質問者

お礼

参考にさせていただきます。 ありがとうございました。

  • kouta77
  • ベストアンサー率20% (185/896)
回答No.1

そもそも全体のシステム連携の設計が最初ではないでしょうか? ストアドプロシージャ―の設計・構築はそれがきまってからではないですか? DBリンクをはれば、他のサーバーのデータを参照できますが、 そもそもDBリンクを作成できるか?ODIなどを利用するかなどの検討が必要です。 またCSVファイルをテーブルへの取り込みは一般的にはSQLローダーを使うと思います。 そのあたりのアーキテクチャなどを考えてから実際のプログラム作成に入ると思います。

anman0201
質問者

お礼

なるほど、おおまかな流れはわかりました。 ありがとうございました。

関連するQ&A