• ベストアンサー

Oracleで構築されているDBをMySQLで再構築する場合の問題点

現在OracleでDBが構築されているシステムの再構築を行うのですが、その際DBをMySQLに変更したいという要望がありました。 DBの規模等はそれほど大規模なものではないのですが、それ以外に何か検討されるべきものはあるでしょうか? 例えばデータ型などでOracleで扱っていてMySQLでは対応できないものなどはありますでしょうか?

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

  • ベストアンサー
回答No.2

1の方の回答に補足ですが、 OracleとMySQLではトランザクションの管理レベルが ことなるはずです。 それからMySQLにはシーケンスがありません。 参照系のDBならともかく、トランザクション系のDB であれば、MySQLへの移行はお勧めできないと思います。

Yupa3
質問者

お礼

ご回答ありがとうございます。 ソースコードを見てみたところSEQUENCEは使われていないようです。 トランザクションの管理レベルについては、かなり詳細に調べてみないとなんとも言えないですねえ。 ご意見ありがとうございます。 DBMSの変更にはかなり詳細な検討が必要だということがよくわかりました。

その他の回答 (1)

  • mi-si
  • ベストアンサー率35% (200/567)
回答No.1

ビューやシノニム、PL/SQLなどの機能は全滅ですね。 オブジェクト型も全滅。 VARCHAR2型はVARCHARもしくはTEXT型に変更する必要があります。NUMBER型もその他置き換える必要が出てくると思います。OracleのDATE型は、MySQLではDATETIME型です。関数系もかなり異なるので、テーブル設計やQueryの時点でかなり置き換えが必要になります。後、MySQLのBLOB型は、OracleのLONG RAWに近い型の様です。 また、数字型と可変文字列においてサポート出来る桁数と文字数が異なります。 その他Indexや複合Primary Keyを使っている場合も制限がかかる可能性があります。 後は、MySQLをトランザクションモードで構築しないとトランザクション管理が出来ません。 ユーザーの概念はありますが、スキーマの概念が無いので注意が必要です。テーブルの管理の単位はデータベースです。

参考URL:
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#Column_types
Yupa3
質問者

お礼

丁寧なご回答ありがとうございます。 データ型はすぐ想像ついたのですが、他にも色々課題がありそうですね。 参考にさせていただきます。

関連するQ&A