2012-02-21 6 views
1

データベース・サーバー "sandbox"を作成できますか?
したがって、実際のデータを含むマスターサーバーと、サンドボックスにキャッシュされたデータがない場合に、マスターサーバーに読み取り要求をディスパッチするサンドボックスサーバーがあります。
書込み要求の場合、データのローカルコピーを作成して、そのコピーに変更を加えて、マスターサーバーに影響を与えないようにする必要があります。oracleデータベース・サンドボックス

答えて

4

あなたはそのようなことを構築することができます。

  1. masterデータベースを指すデータベース・リンクを持つローカルOracleデータベースを作成します。
  2. 興味のあるオブジェクトのDDLをmasterデータベースからローカルデータベースにコピーして、各テーブルの名前を変更します(EMPEMP_LOCになります)。
  3. テーブルのリモートコピーとローカルコピーの間にUNION ALLを実行する各テーブルのローカルデータベースにビューを作成します。
  4. ローカルテーブルに変更を書き込むローカルビューにINSTEAD OFトリガを作成します。

しかし、このようなことはできますが、なぜあなたが望むのかは分かりません。それはセットアップとメンテナンスにかなりの労力を要し、パフォーマンスは簡単にやりやすくなります。このアプローチがどのような問題を解決するのかは明らかではありません。開発、テスト、ステージング環境を隔離する必要はありません。そして、私は、こうした種類の「サンドボックス」がこれらの環境の1つよりも望ましいユースケースをたくさん見つけ出すのは難しいです。

1

@Justin Caveは良いアプローチです。しかし、最新のデータで新しいものを扱うときはいつでも、バーチャルマシンを作成してPRODインスタンスのスナップショットを作成することを検討してください。

+0

残念ながら、そのデータベースは完全コピーを作成するには大きすぎます。 –

+0

ok - 私は、あなたがオンデマンドでデータの小さなサブセットを複製することでパフォーマンスを上げようとしていると思います。この場合、私のVMの提案は適切ではありません。 – Randy

関連する問題