PostgreSQLとOracleによるデータベース相互移行マニュアル 1

データベース移行

データベース移行の考え方   近年、システム構築の際にPostgreSQLが活用される例が増えてきました。そうした中で、古くなったシステムを置き換える際に PostgreSQLを活用したり、あるいは実験的にPostgreSQLで作ったシステムを商用データベースを用いたものに変更したりと、 Post

奥畑 裕樹

2005年10月14日 20:00

データベース移行の考え方

   近年、システム構築の際にPostgreSQLが活用される例が増えてきました。そうした中で、古くなったシステムを置き換える際に PostgreSQLを活用したり、あるいは実験的にPostgreSQLで作ったシステムを商用データベースを用いたものに変更したりと、 PostgreSQLと他のデータベース管理ソフトを相互に移行する機会に出会うことがあります。

   それでは、データベースを相互に移行するには、初めに何をしたらよいでしょうか?これは、PostgreSQLとOracleの間に限ったことではありませんが、「移行の対象となるもの」を特定することが大切です。

   データベースを移行する際には、主に次の3つの要素を移行する必要があります。


  • データ
  • システムに埋め込まれたSQL文
  • ストアドプロシージャ

   たとえば、ビジネスの変化と共に業務ロジックが変わり、システムを新規に作成する必要が出てきたとし ましょう。その場合は古くなったシステムからデータだけ移行して、業務ロジックを表すシステム中のSQL文やストアドプロシージャは作り直す必要があるで しょう。逆に、既存のシステムをなるべく変えずにデータベースだけ置き換えたい、という場合は上述した3つの要素をすべて移行する必要が出てきます。その ため、何が移行の対象となるのかをはっきりさせる必要があります。

   次に、それぞれの移行要素に対して、機能性の違いから「移行できるもの」と「移行が難しいもの」が出てきます。移行できるものに対しては、以下のことを知る必要があります。そのためには2つのデータベースの違いを知ることが重要です。


  • そのまま通用するものは何か?
  • 変更する必要があるのはどこか?
  • それはどう変更すればよいのか?

   また、移行が難しいものに対しては、主に次の2つの対処法があります。


  • 足りないものは自作する
  • 呼び出し側のロジックを変更する

   足りないものを自作するとは、ユーザー定義のファンクションなどを活用して、移行先のデータベースに 足りない機能を追加してしまうことです。しかし、中には自作が難しい機能もあります。そのように自作で対応できない場合は、対象となる機能を呼び出してい る側のロジックを変更して対応することも必要です。

   これらを踏まえて、次からそれぞれの要素の移行方法について詳しく見ていきましょう。

サンプルデータについて

   本記事で使用するサンプルデータは、次のURLから入手してください。



Oracle


  • tbl_oracle.sql
  • sample_oracle.sql

PostgreSQL


  • tbl_pg.sql
  • sample_pg.sql

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る