[pgsql-jp: 28306] Re: Oracle 8i からの移行

羽生 章洋 habu @ air-beat.com
2002年 12月 13日 (金) 19:37:15 JST


Tatsuro Ishikawa <ishikawa-t @ comtecc.net>さん:

羽生と申します。

> 現在 Oracle 8iからPostgreSQLへ移行の作業を行っています。
> Oracle 8i上のテーブルの Create Tabel等のSQLが現在残っていない状況
で
> PostgreSQLに同様のテーブル/ビュー/トリガー等を作成するのは、
Oracleで
> expしたデータを手で修正する以外に何か方法は無いでしょうか?
> 
> 出来れば機械的に出来ると嬉しいのですが・・・
> あくまで移行時のみの作業な為、別途 有償ソフトを購入するのはチョッ
ト難し
> いのですが・・・・

個人的には、ERWINなどのリバース可能なDB設計ツールの購入を
お薦めします。これであれば、移行時だけでなく通常の開発の際にも
非常に役に立ちます。複数DB対応のものを購入されると良いです。
生産性も大きく向上します。

# ERWINの場合は、PostgreSQLの利用がこれまた色々と
    あるんですけど(^^;

ツールを買うのがもったいないと考えるのであれば、スクリプトを
作成すればOKです。

Oracleであれば、USER_TABLESやUSER_TAB_COLUMNS、USER_VIEWS(だっけ?)
などのディクショナリから、内容をSELECTで取り出せますので、
それでSQL文をリバース生成可能です。

出来上がったものを、Perlなり何なり(エディタの文字列置き換えでも
OKですが)で、データ型を修正してやります。

但し、ツールがあってもなくても、トリガはほぼ全面的に書き直しに
なります。何故ならコードの書き方が違うからです。またビューの
場合は、確かOracleだと全部コードがベタでディクショナリにある
はずなので、原文を引っ張り出すのは簡単なのですが、SELECT文の
構文がPostgreSQLと異なる箇所もあるので、このあたりは手で書き直す
ことになります。

となると、結局全部動作検証をする手間は変わりませんので、心を決めて
取り組むほうが結果として効率が良いと思います。

で、今のテーブル構造などのドキュメントをリバースで揃えるのであれば
つみきソフトさんのCSEがExcelでドキュメントを生成してくれるので
非常に重宝します。フリーですので、まずは現状を全部洗い出すのには
手っ取り早くて便利かと思います。
http://www.hi-ho.ne.jp/tsumiki/
です。お薦めです。私はCSEがなければ生きていけません(^^;;

余談ですが、英語でよければJavaベースのツールで、PostgraSQL,MySQL, 
HSQLDBに対応したものがあります。
http://www.jetaware.com/ 
有料($99)ですが、かなりいいです。ERD書けます。クエリービルダあります。
あとは印刷できて、ストアドのデバッグできれば最高かなと思いますが。
私はβ版を評価のために落としてそれっきりですが、1.0の正式版が
リリースされているようです。

あまりお役に立てない情報で恐縮ですが、是非頑張ってください。


================================================================
★ワクワク音楽体験サイト それが【エア・ビート・ドットコム】!★
================================================================
有限会社エア・ビート(http://www.air-beat.com/)
取締役兼CEO 羽生 章洋(mailto:habu @ air-beat.com)
================================================================



pgsql-jp メーリングリストの案内