SQL Server 2000 から Oracle 11g へのデータ移行に取り組んでいます。SQL サーバーには、移行する必要がある 4 つのデータベースがあります。これら 4 つのデータベースは、6 つの異なるスタンドアロン アプリケーションに使用されます。Oracle は Unix サーバーにインストールされます。SQL Server データベースごとに単一のデータベースと異なるスキーマを作成できますか、それとも複数のデータベースを作成する必要がありますか、またはパフォーマンスを維持するために単一のデータベース、単一のスキーマと複数のテーブルスペース、またはその他の手順を使用できますか?
1 に答える
複数の Oracle データベースを作成できます。または、複数のスキーマを持つ単一のデータベースを作成できます。または、すべてのオブジェクト名が一意である場合は、単一のスキーマで単一のデータベースを作成し、そこにすべてを配置できます。
一般に、最も類似したアプローチは、4 つのスキーマを持つ単一の Oracle データベースを作成することです。これにより、2 つの異なる SQL Server データベースに同じ名前のオブジェクトがある場合に備えて、4 つの個別の名前空間が提供されます。また、複数の SGA や PGA をメモリに割り当てたり、バックグラウンド プロセスの複数のセットを実行したりしないため、通常、サーバーごとに 1 つの Oracle データベースで最高のパフォーマンスが得られます。
Oracle の表領域は、完全に別の概念です。名前空間や権限とは何の関係もありません。どのオブジェクトがどの物理データ ファイルに存在するかを判断できるようにするだけです。極端に変わったことがなければ、テーブルスペースはパフォーマンスとは何の関係もありません。4 つのスキーマすべてのオブジェクトで単一のテーブルスペースを使用できます。または、4 つの個別のテーブルスペースを作成することもできます。または、それぞれが異なるスキーマのオブジェクトを持つ複数の表領域を作成することもできます。私の推測では、最も簡単な方法は、各アプリケーションのディスク領域割り当てを個別に管理できるように、スキーマごとに 1 つのテーブルスペースを作成することです。