Oracle の開発環境をタダで作るには

Oracle を使ったシステムを開発する場合、単体レベルのテストに他の RDBMS を使うことがある。Oracle はそれなりに値段がするので、本番サーバとテスト用のサーバにしか Oracle が入れられなかったりするからだ。
仕方がないので MySQLPostgreSQL を代わりにするわけだけど、互換性のない部分が障害になって、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 まで (それ以上メモリのあるマシンであっても使えない)