質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Oracle

    613questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

oracleから 他のrdbmsに変えようと思うと何がよいか。

解決済

回答 8

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 4,861

taka_miyata

score 12

oracle standard が、値上がりし、保守料金が必須となった為、
導入先のお客様の金額的負担が大きくなりました。

そこで、一層の事、他のRDBMSに変えようかと社内で
検討をしています。

候補としては、SQLServer,MySQL,postgreSQL,Firebirdが
あります。

納入先の規模は様々ですが、多くて顧客の管理件数が10万件
売上データが10年規模ぐらいで、windowsで動く事が必須となります。

oracleから変更する場合、どのRDBMSにしたら良いでしょうか。

今はpostgreSQLが 有力です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

+12

OracleXEという選択肢もあるかもしれませんね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/03 05:49 編集

    サポートなしで、オラクル・サポートが解決方法を公開していないORA-600が発生しても自力で解決できるだけの力量があれば、って技量が必要です。

    キャンセル

  • 2016/04/06 13:39

    やはり、制限がありますね。商用利用では、少々厳しいような感想です。
    ご提案、ありがとうございます。

    キャンセル

+3

レコード件数以外の指標として以下も精査してみると良いでしょう。

  • システム移行の手間がどれほどかかるか?
     クライアント側 実装切り替え (製品固有の SQL 方言の切り替え)
     サーバ側 実装切り替え (PL/SQLなど製品固有機能の移植)

  • データ移行の手間がどれほどかかるか?
     データ型や定義の細かい違いがあるかどうか(項目個別の変換の有無)

  • 現場運用/保守の移行とランニングコストがどれほどかかるか?
     関連ツール群の調整
     人材の教育コスト
     製品切り替えによって継続的に発生してしまうコスト・作業の有無

あと、RDB 毎に細かいデフォルトの挙動が違う場面もあったり、色々い運用を始めて改めて気づく落とし穴もあるかもしれません。この辺は余裕をもった検証と移行を行うしか無いと思います。

稼働しているシステム自体の設計や、運用保守に関わっている現場の開発者に馴染みやすいかどうかの方が重要ですから、移行コストと今後のトータルの運用コストを考えた上で判断すべきと考えます。

以上、ご参考になれば幸いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/01 15:12

    検証コストが掛かるのは、承知の話となっております。
    ただ、販売するシステムの売価が、oracleだけで今までの料金の4倍となってしまい、
    Oracleの利用は出来ないというところです。

    馴染みやすいかは、使ってからでしょうかね。

    キャンセル

+3

去年、円安で2回値上げしたOracleは最近の円高になっても値下げする気配がありませんし、SE1も廃止されて中小企業のオラクル案件は激減しています。
方言の多いOracleから他のDBへの移行はどこでも苦労していますね。

Oracle 互換 DB

でググると少なくとも2つ見つかります。
2つとも使ったことはありませんが、費用はともかく他のDBへの移行と比べたら敷居は低そうです。
オラクル社はリバースエンジニアリングを禁止しているので、著作権の意識の低い国で作られたソフトウェアは将来、裁判沙汰になって使用禁止などのリスクがあるかもしれません。ソースコード契約をしていれば問題ないと思いますが、わたしはまともに契約しているかは知りません。

わたしは同じOracle間でのバージョンアップでもすんなりと行った事はありませんし、キャラクタセットがSJISからUNICODE(AL32UTF8)に変更になった案件ではマルチバイト文字で設計されたテーブル、列、制約、ストアド・プログラムなどが多数あることが発覚して、SJISで2バイトだったマルチバイト文字がUNICODEでは3バイトになるため、30バイトの制限で多数引っかかり、想定外の作業が増えて苦労しました。
データ中に機種依存文字や外字を使っていないか([氏名]列か[会社名]列など)もあらかじめ調査しておいた方が良いです。

移行時に苦労された内容をアップいただけると掲示版の価値が高まります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/06 13:36

    ありがとうございます。
    中小企業向けに、販売している当社とては、お客様に価格が上がるけど、こちらの利益が
    無い状態となり、大変困ってしまいます。
    ちょっとの値上げでしたら、良いですが、今回は・・・という感じです。

    キャンセル

+2

クラウド化も含めて、Windows だったらという想定です。
Oracle / MS-SQL / MySQL / Postgres 夫々方言があります。
>顧客の管理件数が10万件 
何でやっても、量的な問題にはならないですよねぇ。
(FireBard は使った事が無いし、使うつもりもないので、除外)
今回の件では、MS-SQL Server か、MySQL の2択だと思います。
データベースサイズが、1~2年毎に年次処理で、10GB 未満:年次処理をして、扱っていく。
MS-SQL Server 2014 Express
MySQL Community Edition
データベースサイズが、10GB を超える可能性がある場合
MS-SQL Server 2014 Standard / Enterprise:CAL 数他、ライセンス形態に注意
MySQL Community Edition
MySQL商用ライセンス :決して安くはないのですよねぇ。
   NRIのOpenStandiaが提供するMySQL最新情報:商用版
   http://openstandia.jp/oss_info/mysql/license.html   
開発版
MS-SQL Server 2014 Developper :単品購入可
開発環境
MSDN Professional / Enterprise
   Visual Studio の購入オプション
   https://www.visualstudio.com/products/how-to-buy-vs

SQL Server 2014
https://www.microsoft.com/ja-jp/server-cloud/products-SQL-Server-2014.aspx
ホーム > 技術情報 > 自習書シリーズ
https://www.microsoft.com/ja-jp/server-cloud/local/sqlserver/2014/technology/self-learning.aspx
Cloud Platform 関連コンテンツ
https://www.microsoft.com/ja-jp/server-cloud/local/documents/default.aspx?pdid=SQL&svid=all_SV&dtid=all_DT

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/01 15:19

    MySQL商用ライセンスをみさせて頂きました。
    安くないですね。
    MS-SQL Serverですが、バージョンが上がって行くと
    下位互換が出来なくなると噂で聞きました。

    システムのリプレースが6~7年の為、うまく時期が合わないと
    リプレースで大変な思いをするかもしれないと意見が出ていました。

    Postgresは、windowsという点が候補から外れるのでしょうか。

    キャンセル

  • 2016/04/01 16:16

    >下位互換が出来なくなると噂で聞きました。
    旧バージョンのデータベースファイルのサポートを
    心配してるのであれば、MSDNライセンスを入手するべきです。
    当方は、管理の都合上
    MS-SQL 2000 / 2008 / 2008R2 / 2014
    (2005を使わないのは、DMO / SMO 過渡期製品な事、他)
    を、Hyper-V や、VPS で使い分けていますが、
    上位のバージョンで一度でも、下位のデータベースを開いてしまうと、
    下位のバージョンからは、再び開けなくなりますので、
    開発機では、複数バージョンのMS-SQL を入れて、
    サーバーインスタンス別に使っています。(主として、コードの互換性確認)
    MS-SQL Server 2014 のデータベースサポートを確認したところ、
    MS-SQL 2005 形式
    MS-SQL 2008 形式
    MS-SQL 2012 形式
    MS-SQL 2014 形式
    となっています。
    CTP などで、MS-プレリリース&期間限定版を使った場合に、
    正規版では、開けなくなった事はあります。(MS-SQL 2005)

    MS-SQL Server Management Studio には、
    テーブルから、自動で、CREATE/ALTER用スクリプト(指定によりインデックス他)
    を作ってくれる機能がありますし、既存インスタンスが生きていれば、
    ほぼ自動で、インポート/エクスポートが可能ですから、
    ちまちまやるのは、チェック制約位でしょうか。

    MS-SQL Server ならではの厭らしさは、初期のメモリ使用量設定が、
    OS毎の最大値になっている部分で、正しく1GB程度以上、DB使用想定メモリ以下で
    設定しないと、
    下手なクエリ発行で、SWAPしまくりシステムが出来る可能性があります。

    Postgres / MySQL は、サポート無で使っていますが、
    (やれといわれたら、Postgres も使うでしょうから、自主的に使ってはいますが)
    JOBで採用していないので、私自身にとっては、面倒です。
    MS-SQL :MSだから、何とでもするでしょう。という、安易な選択理由
          Oralce の年間メンテ費高すぎユーザー向け
    MS-SQL Express :データベース代出ませんユーザー向け。
    MySQL  :公開情報、事例が多かった、
          安くやれユーザー向け
    Postgres :検討時に、公開情報、事例が少なかった

    キャンセル

  • 2016/04/01 16:32

    >上位のバージョンで一度でも、下位のデータベースを開いてしまうと、
    >下位のバージョンからは、再び開けなくなりますので、
    この部分が、ちょっと説明不足でした。
    インスタンスへのデータベースファイルの、アタッチ/デタッチの話です。

    キャンセル

  • 2016/04/06 13:54

    >JOBで採用していないので、私自身にとっては、面倒です。
    無知で申し訳ないです。
    JOBとは、どのような事でしょうか。
    MS-SQL Express は、制限があって、ちょっと採用出来ませんでした。

    MySQLは、LAMPの構成で採用されている事案が、たくさんあり、
    それで、事例があると思います。
    ただ、背景にoracle社が居るのが、どうも気になる所であります。


    キャンセル

+2

どのRDBMSにしても、移行方法の違いや、プログラムの修正方法の違いとあると思います。
(RDBMS独自の関数があったりなかったりして)
postgresqlが有力でしたらデータを軽くして(10年分全部ではなく1年分だけとか)試してみてはいかがでしょうか。
修正の大まかな見積もりもとれますし。
修正内容が少ないならばpostgresqlでもよいですし、修正内容が多くなりそうならば
他のRDBMSも同じように試用期間内かつ制限内で試してみたほうが確実かと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/01 15:41

    今、社内で検証し始めていますが、
    ・インストール可能確認
    ・アプリケーションからの接続確認
    ・データのバックアップ、リストアの確認
    で、採用まで行ってしまいそうな為、
    様々な意見が、聞ければと思い、質問させていただいた次第です。

    キャンセル

+1

Oracleで管理されているのはデータのみなのでしょうか?
PL/SQLなどのプログラムや、
SQLにOracle特有の関数、機能を使っているかにもよると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/01 15:22

    ほぼ、データのみです。
    納品するお客さまによっては、関数を使っていたりします。
    SQLは、oracleの方言は、結構、利用しています。

    どのRDBMSになろうと、SQLの見直しは、発生する覚悟はしています。(泣

    キャンセル

check解決した方法

0

皆様、ありがとうございました。
結論は、PostgreSQLへ移行することになりました。

EnterpriseDBなるものが、Oracle互換があるとの事で、
DBを扱う会社の方に来ていただき、相談しました。
・EnterpriseDBは、高すぎて候補にならない。
・ユーザにライセンス料金が高くなった旨を説明し、
  納得していただくことが、良いとの提案でしたが、
  私たちのユーザは、それが不可能。

と言う事で、相談した会社とサポート契約を結び、
PostgreSQLになりました。
半年ぐらいの大改修を行う運びとなりました。

補足として、他DBに関しても相談しましたが、
その情報が正しいか否か不明な為、ここでは、
内容を控えさせて頂きます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

次の点も比較・検討してはいかがでしょうか。

  • インスタンス/データベース/スキーマ/ユーザーの扱い
  • ロックの仕組み(行ロック、ロックエスカレーション)
  • シーケンスオブジェクトの有無

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/06 13:40

    ありがとうございます。
    検討材料に、入れます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Oracle

    613questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。