• 締切済み

Oracle への移行

社内基幹システムのDBをOracleへ移行するように言われました。 僕自身、DB経験が約2年、SQL文、C、VBなど 実際の運用については、まぁいいとして Oracleの知識がゼロです。 (基幹システム管理部 全員ゼロです。) 気長にやろうと思っているのですが まず何をするべきだと思いますか? 今は、関連サイトめぐり。本などを読んでます。 こういうことは直接メーカに聞くべきですか? その他、補足はどんどんしますので温かい(?)コメントよろしくおねがします。

みんなの回答

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

> 2.は、e 以外は、わかります。tablespaceって?? ORACLE独自の表現かもしれませんので、忘れていただいて 結構です(^^)v このレベルまで御存じなのであれば、ORACLEの命令関係は問題なさそうですね。 あとは、SQL*PlusやSQL*Loaderなどの使い勝手に慣れるのに最初はとまどうと思いますが、これも経験で解消できます。 > 現在ほぼ、8ユーザ、2開発ユーザのライセンスで > Workgroup・UNIX版にしよう!というところまで決まりました。 Workgroup版でUNIX機ですか・・・。 御予算多いんですね(^o^) 羨ましい。。。 > (開発者、実は2人なんです ^^;) す・・・すごく大変ですね。ご苦労様です。 > 次なる疑問なんですが。。。 > ●Net8、SQL*Plus、SQL*Loader は最初から付いてるんですか? > (この3つは絶対必要だと感じています) ごめんなさい、Workgroup版のライセンス関係はちょっと 存じません。他の方のコメントをお待ち下さい。 Net8、SQL*Plus、SQL*Loaderは、サーバー側のことを 言われているのか、パソコン側のことを言われているのか どちらでしょうか? Enterprize版の場合は・・・ サーバー側であれば、同時利用者最大数のライセンスを必要とし、パソコン側はインストールする台数分だけのライセンスが必要な筈です。 > ●他にもツール等いっぱいあるのですが、どういう基準で選べばいいのでしょう?? これは今まで使用された経験のある言語を基準に考えるとよいと思います。 C言語が書けるということですので PRO*C は必須ですね。 しかし、pro*C は小回りが利く代わりにやたらと宣言をしなければならなく鬱陶しいので、入力・表示が含まれない部分の処理に関しては PL/SQL という別の言語で開発すると結果的には早く完成します。 PL/SQLは基本的に戻り値を返すか[C言語のreturn( ... ); に相当]、もしくは、結果をテーブルに書き出す方法でしか出力を行うことが出来ませんので。 あと、言語を使用しない対話的なツールもいくつか存在しますが、ホビーで使うのならまだしも基幹系システムで使用するには、かえって使い方が限定されてしまい、苛々するかもしれません。 結局、PRO*Cで地道に...。 ところで、現在のシステム使用しているテーブル数は合計何個ぐらいでしょうか? それでだいたい規模が皆さんに伝わると思いますので。 それと、ORACLE製品はパソコンショップなどで購入されるのでしょうか? それともORACLEサポートの能力があるメーカーさんから買われるのでしょうか? ORACLEを利用していると(Infomixも同じでしょうが)、やたらと質問したいことが多いです。 そのときに、さくさくと気軽に質問できる窓口がないと、とってもツライですよ。 ちなみに、メーカー系のサポートでもベテランの方がいらっしゃる会社なら良いですが(="ORACLE Master Silver"・"ORACLE Master Platium(プラチナ)"の資格を所有している担当者が対応してくれるのなら良いですが)、単なるソフトウェア会社が「サポートもやっていますよ」程度だと、そこと契約するのは勿体ないです。 ちゃんとした回答を即座に欲しいのであれば、アシスト社(←日本で最初にORACLEを販売し、今でも実質的なORACLE主導権を握っている企業です)と契約することをお薦めします。 日本オラクル社は、アシスト社よりも後に誕生した会社ですが、日本オラクル社のサポートセンターも良質です。 アシスト社→ http://www.ashisuto.co.jp/

参考URL:
http://www.ashisuto.co.jp/
全文を見る
すると、全ての回答が全文表示されます。
  • 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件つぶしていくしかないのでは?と考えます。 本当に「気長に」なんですが、よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • Binder
  • ベストアンサー率33% (5/15)
回答No.3

補足していただけると言う有り難いお言葉に甘えて、質問も混ぜ混ぜ、以下にコメントをさせていただきます(笑) 【質問】 1. 社内基幹システムのDBの種類は何でしょうか?    コンピューターメーカー名とDB名を。    例えば「IBM社のDB2」「富士通社のNatural」のように具体的にお願いします。運良く私が知っている基幹DBであれば、必ず良いコメントをお伝えできるとか思います。 2. SQL文の経験が2年ほどあるということですが、次のどのレベルまで御存じでしょうか?    a. select * from mytab;    b. select * from mytab where id=7;    c. update mytab set syainname = "itou";       commit;    d. create table mytab ...;    e. create tablespace ...;    f. create database ...; susumuさんの会社の初期投資の入れ具合にも依りますが、資金投入可能なら皆さんの言われるように、8ユーザーライセンスを購入&導入してしまうのが手っ取り早いです。 とっても高価なお買い物ですから、その購入先メーカーさんに「ORACLE入門セミナーに無料で行かせて~」とか「個人的にある程度まで(上の例で言うならe.まで)教えてよ、一杯奢るから」で良いでしょう(笑) 小資金で済ませるならば(最近の製品体系はあまり知らないのですが)、個人向けORACLEがあり安価です。 多分「Oracle8i Personal Edition」(定価 \69,000、URL = http://www.oracle.co.jp/o8i/pe/index.html)を購入されてはいかがでしょうか? 実際に、何十~何百ユーザーの利用に耐えられるORACLE Databaseを構築・データ移行・運用を行うには、とてつもなく膨大な知識量を必要とします。 (ORACLE技術の資格制度である)"ORACLE Master"の"GOLD"以上を取得している派遣社員を一時的に雇って、(正式にor個人的に)みっちり教えて貰うのも手です。 "ORACLE Master"は、Silver→Gold→Platinumの順で、右に行くほど"凄い人"です!(※ちなみにPlatinum所有者はORACLE Databaseの神様扱いです!) 解説URLはここ▼ http://www.oracle.co.jp/seminar/master/master01.html では、色んな面から補足をお願いいたします(^^)v

参考URL:
http://www.oracle.co.jp/o8i/pe/index.html
noname#1802
質問者

補足

1.は、いいですね。「InformixのInformix」です。 2.は、e 以外は、わかります。tablespaceって?? 現在ほぼ、8ユーザ、2開発ユーザのライセンスで Workgroup・UNIX版にしよう!というところまで決まりました。 (開発者、実は2人なんです ^^;) 次なる疑問なんですが。。。 ●Net8、SQL*Plus、SQL*Loader は最初から付いてるんですか? (この3つは絶対必要だと感じています) ●pro*CとPro*C++は別ものですか? ●他にもツール等いっぱいあるのですが、どういう基準で選べばいいのでしょう??

全文を見る
すると、全ての回答が全文表示されます。
  • takakohno
  • ベストアンサー率30% (12/40)
回答No.2

Oracle本体を買うのはもちろんとして、概要と使い方を一通りマスターするなら、セミナーを受けるのが早いと思います。

参考URL:
http://www.oracle.co.jp/seminar/index.html
noname#1802
質問者

補足

管理部門で働いている私は一度もセミナーというものを 受けたことがありません。受けさせて 会社と関係なしに、自腹で行くとなると。。 「安くて、休日で」がいいですね。 ORACLE社のものでなくても、様々な会社でやっているようで、ネットで探してみてるのですが、高いですね(^^;) しかもインストールコース(導入コース)ってないんですか?

全文を見る
すると、全ての回答が全文表示されます。
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

まず、買えるなら、Oracleを買ってしまうのが一番早い勉強方法です(間違いなく(^^;)  移行って事ですので、現在動いているシステムがあると思うのですが、それはデータベースを使用しているのでしょうか? 使用しているとすると、何??  実際に、私は以下の作業をやった事があるのですが... Access2.0 → Oracle7.5x on VB3.0(E)  地獄でした、全てを作りなおしました。 Access95/97 → Oracle7.5x on VB4.0  これもデータベースに関する所を全て作りなおしました。画面やその他の部分は、流用できました(一部ね) SQL Server6.5 → Oracle8x on Delphi(ODBC)  コンポーネントの入換えとSQL文法の修正をしてあとはひたすらテストでなんとかなりました。  教訓:  DBの移行を最初から考えていない作りになっていると判断できるものは、全て作りなおし位の気分で望まないと、痛い目に合う。

noname#1802
質問者

補足

Oracleのpersonalなるものをとりあえず本屋さんで買いました。 Workgroup と Enterprizeというのがあるようですね。 どっちがいいのでしょう?? 現在は Informix社 の Informix を使用しています。 開発現語は主に Informix/4GLです。 どっちにしても移行に関しては全てを順番に作りなおしていく予定です。 地獄ですかやっぱり。。。(笑)

全文を見る
すると、全ての回答が全文表示されます。

関連する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にしなさいと言われています。 そこでなのですがヴァージョンアップで気を付けなければいけないこととデータの移行はどのようにすればいいでしょうか?

このQ&Aのポイント
  • 義理の母と私の両親の考え方の違いについて相談です。
  • 結婚祝いや出産後の援助など、義理の母と私の両親の間に差があり、モヤモヤしています。
  • 産後のホルモンバランスの影響も考慮しつつ、皆さまからのアドバイスをお待ちしています。
回答を見る