web-dev-qa-db-ja.com

複数のOracleデータベースを管理する開発環境

私は、複数のOracleデータベースに対して実行する必要のあるアプリケーションがあるエンタープライズ環境にいます。開発者は、異なるテストデータをサポートしたり、コードの異なるバージョンに対するバグを診断したりするために、これらのデータベースの複数のヴィンテージを管理する必要がある場合があります。

現在、データセンター内の「実際の」Oracleサーバーに設定されたテスト環境のセットは限られています。開発グループとQAグループの間でこれらを調整します。そのために、多くの競合や非効率が発生しています。

ローカルのOracleデータベースを起動できるOracle Express Editionを調べています。これは、SQL Serverでよく目にするワークフローに似ています。開発者は、統合の準備ができるまでロケーションマシンで作業し、DBの変更を統合/ QA環境にプッシュします。

しかし、私が読んだことから、Oracle XEは一度に1つのデータベースインスタンスしかサポートしていないようです。したがって、2つの異なるデータベースを使用するアプリケーションがある場合、ローカルマシンで両方を実行することはできません。あれは正しいですか?

Oracle StandardまたはPersonalエディションはこの制限を回避しますか?それらの1つをローカルにインストールした場合、同じ開発マシンで複数のデータベースを動作させるのはどれほど難しいでしょうか。アプリケーションに対して複数の異なるOracleインスタンスを使用する必要がある場合、開発ショップはOracleに対する開発をどのように処理しますか?

3
RationalGeek

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データベースに複数のスキーマを含めるだけのほうがはるかに一般的です。

5
Justin Cave

私の職場でも同様の問題が発生しました。標準の開発、QA、本番環境のセットアップがあります。すべての開発者が同じデータベース開発に対して開発し、80%の時間、すべてが順調です。統合テストを追加したいときに本当に問題が発生しました。テーブル全体を消去せずにデータが正しいことをどのように確認できますか?私たちが解決した答えは、@ Justin Caveが示唆するようにVMを使用することでした。

私のチームのすべての開発者はWindows 7 Proで実行しています。つまり、すべてのXPモードがあり、これはLinuxを実行している場合を除いて)実行中のVMで発生する可能性がある厄介なライセンスに対処します。 Oracle Express 11G for Windowsはまだ32ビットであるため、XPモードで設定することは大したことではありませんでした。ここでは、私たちが学習するために学んだいくつかのレッスンを紹介します。

  • 誰もがファイルサーバーからコピーできる共通の.vhdファイルを設定します。 .vhdファイルには、Oracleのインスタンスと基本データベース構造および静的データ(国、州など)が含まれます。
  • Devなどの環境にデータ構造の変更が加えられた場合はいつでも、SQL Developer 3.1(またはそれ以降)のデータベース比較ツールを使用して、構造の違いを判別できます。 .vhdをローカルで更新し、共有の場所にコピーします。
  • VMを介してOracle Expressに接続するのは、少なくともVirtual PCとXPモードの場合、思ったほど簡単ではありません。Microsoftのホストとvmのループバックアダプター。インストールしたら、ループバックアダプターをVMのネットワーク接続として選択できます。各マシンにアダプターを設定する必要があります。たとえば、ホストのIPアドレスは192.168.1.1で、IP VMは192.168.1.2です。ループバックアダプタをインストールする手順は、 ここ にあります。
  • ネイティブで実行する場合とVMで実行する場合の大きな違いに気づきませんでした。唯一のことは、Oracle Express 11Gをインストールする前に、VMのメモリを少なくとも1.5 GBに設定していることを確認してください。Oracleの設定には、Oracleの最大メモリ制限を1 GBではなく100 MBでパフォーマンスが大幅に低下しました(1秒かかったクエリは突然10秒かかりました)インストール後に変更すると、本当に大変です。
1
bwalk2895