私は、複数のOracleデータベースに対して実行する必要のあるアプリケーションがあるエンタープライズ環境にいます。開発者は、異なるテストデータをサポートしたり、コードの異なるバージョンに対するバグを診断したりするために、これらのデータベースの複数のヴィンテージを管理する必要がある場合があります。
現在、データセンター内の「実際の」Oracleサーバーに設定されたテスト環境のセットは限られています。開発グループとQAグループの間でこれらを調整します。そのために、多くの競合や非効率が発生しています。
ローカルのOracleデータベースを起動できるOracle Express Editionを調べています。これは、SQL Serverでよく目にするワークフローに似ています。開発者は、統合の準備ができるまでロケーションマシンで作業し、DBの変更を統合/ QA環境にプッシュします。
しかし、私が読んだことから、Oracle XEは一度に1つのデータベースインスタンスしかサポートしていないようです。したがって、2つの異なるデータベースを使用するアプリケーションがある場合、ローカルマシンで両方を実行することはできません。あれは正しいですか?
Oracle StandardまたはPersonalエディションはこの制限を回避しますか?それらの1つをローカルにインストールした場合、同じ開発マシンで複数のデータベースを動作させるのはどれほど難しいでしょうか。アプリケーションに対して複数の異なるOracleインスタンスを使用する必要がある場合、開発ショップはOracleに対する開発をどのように処理しますか?
XEはサーバーごとに1つのデータベースに制限されています。技術的には、開発ボックスで複数のVMを実行し、それぞれに異なるXEデータベースをインストールして、アプリケーションからそれらのデータベースに接続できます。もちろん、両方のデータベースは、XEに関する他の制限(1 CPUコア、11 GBのデータ、Oracle 11g XE、1 GBのRAMについて話していると仮定)によって制限されます。 XEのライセンス条件に違反していないかどうかを判断するために、ライセンスを調べてある程度の時間を費やす必要があります-一方、おそらく、残りのライセンスが適切であるとOracleが気にすることではありません。 。
Oracleの標準版と個人版の両方で、1台のマシンに複数のデータベースをインストールできます。プロセスはそれほど難しくありません。データベースを同じOracleホームから実行するか(この場合、同じ実行可能ファイルを共有するか、データベースにパッチを適用するかなど)、またはデータベースにインストールするかどうかを決定する必要があります。個別のOracleホーム(この場合、異なる実行可能ファイルを使用し、個別にアップグレードおよびパッチを適用できます)。次に、別々のOracleホームが必要な場合は2つのインストールを実行するか、複数のデータベースを持つ単一のOracleホームが必要な場合はDBCA(データベース作成アシスタント)を2回実行するだけです。
SQL Serverのバックグラウンドにいるように聞こえるので、SQL Serverの意味ではなくOracleの意味で「データベース」という用語を使用しているのですか? Oracleでは、複数の異なるデータベースにアクセスするアプリケーションを開発することはほとんどありません。同じデータベース内の複数のスキーマにアクセスするアプリケーションを開発する方がはるかに一般的です。 Oracleスキーマは、SQL Serverデータベースとほぼ同じです。したがって、Oracleでは、単一のOracleデータベースに複数のスキーマを含めるだけのほうがはるかに一般的です。
私の職場でも同様の問題が発生しました。標準の開発、QA、本番環境のセットアップがあります。すべての開発者が同じデータベース開発に対して開発し、80%の時間、すべてが順調です。統合テストを追加したいときに本当に問題が発生しました。テーブル全体を消去せずにデータが正しいことをどのように確認できますか?私たちが解決した答えは、@ Justin Caveが示唆するようにVMを使用することでした。
私のチームのすべての開発者はWindows 7 Proで実行しています。つまり、すべてのXPモードがあり、これはLinuxを実行している場合を除いて)実行中のVMで発生する可能性がある厄介なライセンスに対処します。 Oracle Express 11G for Windowsはまだ32ビットであるため、XPモードで設定することは大したことではありませんでした。ここでは、私たちが学習するために学んだいくつかのレッスンを紹介します。