• 締切済み

Oracle への移行

Binderの回答

  • Binder
  • ベストアンサー率33% (5/15)
回答No.4

再び Binderです。 Informixは残念ながら存じ上げません(^_^;) InformixもSQL文で利用できるリレーショナルデータベースですよね? リレーショナルDB同志なら、MS-ACCESSを介して、データを渡す豪快な作戦もありますが、基幹システムのデータ量では、とてもまかないきれないでしょうね。 本格的に、2つのデータベースのデータを渡すとなると、その為だけに何百万円のソフトを購入する必要があります。 地道な作業ですが、INFOMIX側でCSV形式か固定フォーマット形式で吐き出し、次にftpでORACLEが載っているサーバーへ転送し、最後にORACLEのユーティリティーの1つである『SQL*Loader』で読み込む、といった方法があります。 どんな方法を採っても次のような問題があります。 ドロドロの世界です。 1) 文字コードの違い   Informixが搭載されているサーバーの文字コードは何でしょうか?   それと、今度ORACLEが載るサーバーの文字コードは?   Shift-JIS・EUC・EBCDICなどなど...   文字コードの種類の違いによって、Informixで読めていた文字がORACLE側では読めなかったり文字化けしたりします。   特に、Shift-JISのShift-in制御コード・Shift-out制御コードによる文字列長の伸縮や、半角カナ文字の内部コードの桁数の違い(EUCコードで半角カナ1文字を表現するためには2bytesです。)に気を付けて移行しないと大変なことです。 2) 外字・機種依存文字の取り扱い   Informix側で独自に登録してある外字はORACLE側でどのコードに割り当てられるか事前調査が必要です。場合によっては文字化けしたりします。   Informix側の機種依存文字は、その名の通りその機種でしか使えないわけですから、別の機種へはもちろん伝達できません。   ORACLE側で代わりとなる文字コードに置き換えたり、外字を新たに割り当てる必要があります。   しかし、最近では、機種依存文字や外字をデータベース内に絶対に持たせないようにするルールを敷いている企業もでてきています。   つまりどのサーバーやどのパソコンでも必ず読める文字だけを採用しようという考えです。   一番問題なのは、社員や会社名の特殊な漢字です。   社内印刷物なら、社員や社内の理解が得られれば問題ありませんが、官庁などに提出する書類はそのようにはいきませんし。 3) 制約について   ORACLEでは、テーブルとテーブル間で強い関係を持たせて、2テーブル間のデータ整合性が崩れないような仕組みを利用することもありますが、データをSQL*Loaderで読み込むときに、この仕組みがとっても邪魔なのです。 4) Workgroup と Enterprize   Workgroupはたしか10ライセンス限定だったような記憶が... (はっきり覚えていません。他のコメントを待ってください。)   少なくとも数十人以上で利用するシステムの場合は、間違いなくEnterprizeの筈です。 とりあえず、一旦このあたりで・・・(;_;)

noname#1802
質問者

補足

Informix もRDBであると思います。 現在使用している Informix のデータの移行は テーブルごとにDATAファイルを作成し、 文字コードの変更が必要ならば変更→受入を行う予定です。 プログラムの移行に関しては残念ながら全てコーディングから行うことになりそうです。 現在プログラムはInformix専用言語(Informix/4GL・Informix/ECなど)で書いています。 言語でそのまま使えそうなのはシェル実行ファイルぐらいではないかと。。。。 テーブル数がInformixのDB3つあわせて約400になります。 (テスト環境分が約半分ですのでデータ転送分で約200テーブル) 移行に関しては処理の塊で移行して並行処理→チェック→運用→次へ といったカタチになると思います。 機種依存文字というのがあるんですね。。。知りませんでした。 残念ながら1件1件つぶしていくしかないのでは?と考えます。 本当に「気長に」なんですが、よろしくお願いします。

関連するQ&A

  • オラクル データ移行について

    こんにちは 2つのDBより新しい1つのDBにテータを移行することになりました。 VB.NETでプログラムを作成し移行しようと思っています。 今までは1つのDB内での移行は行った事があります。 今、悩んでいるのは他のDBのテーブルを参照したいのですが方法がわかりません。 よろしかったら教えていただけませんか? オラクルバージョンは11Gです。 VB.NET2008でプログラムを作成するつもりです。 よろしくお願いいたします。

  • PostgreSQLからOracleの移行について

    PostgreSQLからOracleへの移行を行うマイグレーションツールはありますでしょうか。お金はいくらかかってもかまいませんので、移行をスムーズにかつ工数をかけずにできるツールをご紹介頂けたらと思います。。そのツールの特徴や問題点なども教えていただけたら幸いです。 また主要DB(Oracle、SQL Server、DB2、MySQL、PostgreSQL)を相互に移行できるマイグレーションツールみたいなのはありますでしょうか。

  • Oracle移行

    現在Oracle 11gR2を使用されているクライアント様がいたとして、これから移行するとなれば19cが堅いですよね? 12cに比べ枯れてはいませんが、ほぼほぼ同じものですし、もう2021年を迎えるタイミングで12cに移行というのはないように思えますが、現場に出ていらっしゃる方々の肌感覚的にどう思われますか? ちなみにOracleは落ち目とか、ポスグレ、MySQL、SQL Server、DB2とか他に選択肢があるとかいうのはなしで、あくまでOracleに限定した場合の想定で、次移行するなら…という状況で皆さんのご意見?をお聞きさせて頂きたく思います。 宜しくお願い致します。

  • MS-ACCESSをオラクルへ入れたい

    現在、ツールとしてPC上(Windows2000)でアクセスを使ってDBを使っています。 今までは単純にそのファイルをファイル共有させて数人で使っていたのですが データが増えて来ると同時に利用者が増えてきました。 これを機に社内にオラクル9がSUNの冗長化されたサーバに入っているということで そちらに移して運用できればいいなぁと思っていますが そういうことは出来るのでしょうか? DBだけSUNのオラクルで運用させて、インターフェイス部分は使い慣れたアクセスのフォームを 使い続けたいと思っています。 ODBC接続で可能だと思いますが、DBの移行は何かツールがあるのでしょうか? それとも、1から作り直さないといけないのでしょうか?

  • DBの移行について

    DBの移行について 担当しているシステムのデータベースが、 DB2のV8.1からOracle11gに移行する予定です。 色々と調査してますが、 移行にはSQL関数の違いがネックになるかと考えています。 DB2にはある関数がOracleにはないとか、 同じ関数でも結果が違うとか・・・。 その辺をうまく一覧表に纏めたマッピング表みたいなのって、 ネットにあれば教えて頂ければと思います。 当然、自分でも探してますが、なかなかいいのがありません。 また、Oracleのサイトを覗いてみましたが、 結局問い合わせてくれって事になってます。 (まだまだ調査の段階なので、問い合わせるほどではないんで) よろしくお願いします。

  • Access→Oracleへ移行後MAX()が使えない

    Accessで運用していたDBをOracleへ移行したところ、AccessのクエリでMAX()関数など集計系の関数が使えなくなりました。 エラーのSQL例: SELECT MAX(MESSAGE) FROM LOGDATA; ※MESSAGEはVARCHAR(2000) エラーメッセージ: 集計関数の引数(MESSAGE)にメモ型またはOLEオブジェクト型のフィールドを指定することはできません エラーを回避するにはどうすればいいのでしょうか? Microsoft Access 2003 Oracle 10g R2

  • access → Oracleへのデータ移行(VB.NETで)

    お知恵を貸してください。 ただ今、VB.NETでアクセスで開発されたアプリケーションを、 VB.NETに移行する開発をしているのですが、その中で、 現在のDBはアクセス、移行後のDBはオラクル10gなんですが、 何か良い移行方法は無いでしょうか? ちなみに、テーブル名、レコード名は変更しますので、そのまま移行ではありません。 私が考えているのは、アクセスのデータをエクセルにコピペし、 それを.NETで読み込んでテープルに入れて1レコードずつ オラクルに書き込んで行こうと考えております。 しかし、上記の方法でエクセルの読込方法が良く分かりません。 一旦、エクセルに取込む方法の場合の読込方法を教えてください。 また、もっと効率の良い方法をご存知でしたら教えてください。 開発環境は  OS : windows XP Pro 開発ソフト : VB.NET DB : Access 2003 SP2 DB : Oracle 10g です。なにぶん、VBでの開発経験が浅いので、 猿でも分かるように(W)お教えいただけると幸いです。

  • ORACLEのアクセス

    oracle10gで構築したDBをoracle9iのクライアントからアクセス可能でしょうか。(SQLを参照したりVBで作成しらプログラムからODBC/OLE形式でアクセスする)

  • ORACLE と MySQLどちらで開発すべきか悩んでいます。

    DB連動型のサイト(NT+IIS+ASP+MS-SQLServer)を既に構築済みですが、 昨今の「Nimda」ウィルスに関連して、Microsoft製品をやめて Linuxにシステム移行しようかと検討しております。 ASPがLinux+Apacheで動作しないことは分かっておりますので、 PHPに移行しようかと覚悟を決めております。 (できれば、ASPの資産をそのまま活かしたいのですが・・・) (Linux+Apacheで、ASP動かす方法ご存知でしたら、合わせて教えてくださーい^-^;) で、データベースなんですが、現在はMS-SQLServerを使ってますが、 Linuxに移行となれば、ORACLEかMySQLしかないかと思っております。 (PostgreSQLは、selectなどの検索系が遅いと聞いておりますので、却下します。) そこで、LINUX+ORACLEか、LINUX+MySQLのどちらで開発すべきか迷っています。 【私が悩んでいる長所・短所】 ■MySQL  ○基本的にソフトは無料なので、低価格で開発できる。(これが、一番ありがたい!)  ×安定性の面で、不安?が・・・。  ×私は、MySQL初心者なので、既存MS-SQLServerデータの移行・DB構築・DBメンテに不安要素いっぱい! ■オラクル  ○私は、Oracleに精通しており、DB構築・データ移行・DBメンテが容易にできる。  ○安定している。  ×値段が高い。(これが、一番ネックなんです。          だって、100万以上するでしょーToT;予算的に10万くらいが限界・・・。) 費用的なことを考えると、MySQLにしようかという雰囲気です。 どうぞ、ご意見をお聞かせいただければ幸いです。

  • オラクルからオラクルへのデータ移しについて

    オラクルのヴァージョン違いでデータを移すにはどのようにしたらいいですか? あるDBを運用しています。(Win2003) 2台あって一台のヴァージョンは8iでもう一つは9iです。 会社の情シスから古いから新しいヴァージョンにしなさいと催促されています。 特にアプリも変える気がないのでオラクルのヴァージョンアップを実施しようと策を練っていますが、どうせなら11gかなと思っていますが情シスから茶々が入り新しすぎて不安だから10gにしなさいと言われています。 そこでなのですがヴァージョンアップで気を付けなければいけないこととデータの移行はどのようにすればいいでしょうか?