Oracle を使ったシステムを開発する場合、単体レベルのテストに他の RDBMS を使うことがある。Oracle はそれなりに値段がするので、本番サーバとテスト用のサーバにしか Oracle が入れられなかったりするからだ。
仕方がないので MySQL や PostgreSQL を代わりにするわけだけど、互換性のない部分が障害になって、SQL ファイルを二重管理することになったり、単体テストでバグを見つけられなかったりする。
……というのが当たり前だと思ってたけど、いつのまにか状況が変わっていた。
- Oracle Database 10g Express Edition
- http://www.oracle.com/technology/products/database/xe/index.html
Express Edition (XE) は、無料でダウンロードできる Oracle。機能的には有料版の 10g とほぼ変わらない。また、開発に使えるだけでなく、他のソフトウェアに同梱してもいいことになっている。
ただし、以下のような機能制限があるので、大規模システムの本番系での使用には耐えられない。さらに、oo4o や DBCA など一部のコンポーネントは含まれていない。
- データは 4GB まで (システムデータ+ユーザデータの合計で)
- シングルインスタンスのみ
- シングル CPU のみ (マルチ CPU のマシンに入れても 1 CPU しか使われない)
- 使用メモリは 1GB まで (それ以上メモリのあるマシンであっても使えない)