質問: oracleデータのインポート&エクスポートについて oracleデータをインポートするにはsql*loaderを使用するのが一般的な方法の一つですが、 同じように、その逆であるエクスポートを行う場合はどのような手段を用いますか? 条件としては ・バッチ(シェル)で実行できる事。 ・sql*loaderでインポートする為のデータと互換性のあるフォーマット(csv)である事。 ・ツールの追加購入は考えていません。
回答: そもそもインポート/エクスポートユーティリティはデータの単純な移行という目的では作られておりませんので >csvや固定長データとしてデータのみを入出力する機能は無いという事でしょうか? というご質問に関しては「そうです」となります。 また、ビューはエクスポート元にはなれないので、ご検討中の方法も難しいと思います。(viewも単純にselect文ですので) 複雑な物理定義変更などを網羅できるような付属ツールは、少なくとも私は知りません。 単純なデータ移行なら、と思い回答させて頂きましたが、補足にあるような構成変更に関してはpl*sqlもしくはpro*cでの作りこみが必要になると思います。 データ加工をpl*sqlでやって、構成変更後のデータにあわせてcsvデータを作成してsql*loaderでロードという手順か、旧テーブルからselectしつつ新テーブルにinsertするようなapを作成する様になると思います。 もしくは補足にあるように変更後のフォーマットのviewを作成して、そのviewからcsvを作成するかですね。ロジックを入れない分シンプルになるのではないでしょうか。 ご参考までにotn(oracle technology network)のurlを載せて置きます。