PEM Schema Diff Tool¶
**スキーマ差分**は、2つのデータベーススキーマ間でスキーマオブジェクトを比較できる機能です。 Schema Diffにアクセスするには、 Tools メニューを使用します。
Schema Diff機能を使用すると、次のことができます。
データベーススキーマを比較および同期します(ソースからターゲットへ)。
データベーススキーマ間の違いを視覚化します。
ターゲットスキーマオブジェクトのSQLステートメントの違いを一覧表示します。
同期スクリプトを生成します。
注-ソースデータベースとターゲットデータベースは、同じメジャーバージョンである必要があります。
Tools メニューの下の Schema Diff をクリックして、選択パネルを開きます。比較するソースサーバーとターゲットサーバー、データベース、およびスキーマを選択します。オブジェクトを選択した後、 Compare ボタンをクリックします。
個々のタブで Schema Diff の複数のコピーを同時に開くことができます。 Schema Diffのコピーを閉じるには、タブバーの右上隅にある X をクリックします。
スキーマ差分ダイアログ¶
Preferences ダイアログを使用して、 Schema Diff を新しいブラウザタブで開くかどうかを指定します。 Open in new browser tab オプションを true に設定します。
Schema Diff パネルは2つのパネルに分かれています。 Object Comparison panel および DDL Comparison panel 。
スキーマ差分オブジェクト比較パネル¶
オブジェクト比較パネルでは、比較する同じメジャーバージョン、データベース、スキーマのソースサーバーとターゲットサーバーを選択できます。接続されているか切断されているかにかかわらず、ブラウザツリーの下にリストされているサーバーを選択できます。接続されていないサーバーを選択すると、サーバーを使用する前にパスワードの入力を求められます。
次に、比較するデータベースを選択します。データベースは同じでも異なっていてもかまいません(同じサーバー内または異なるサーバーから)。
最後に、比較するソーススキーマとターゲットスキーマを選択します。
スキーマ差分ダイアログ-比較ボタン¶
サーバー、データベース、スキーマを選択したら、 Compare ボタンをクリックして Comparison Result を取得します。
スキーマ差分ダイアログ-比較結果¶
すべてのスキーマオブジェクトのDDLステートメントを表示するには、関数、マテリアライズドビュー、テーブル、トリガー関数、プロシージャ、およびビューのドロップダウンリストを使用します。
オブジェクト比較パネルの右上隅には、次の比較基準に基づいてスキーマオブジェクトをフィルタリングするために使用できる Filter オプションがあります。
同一–オブジェクトが同じSQLステートメントを持つ両方のスキーマで見つかった場合、比較結果は同一です。
異なる-オブジェクトが両方のスキーマで見つかったが、異なるSQLステートメントを持っている場合、比較結果は異なります。
ソースのみ-オブジェクトがソーススキーマのみで見つかり、ターゲットスキーマでは見つからない場合、比較結果はソースのみです。
ターゲットのみ–オブジェクトがソーススキーマではなくターゲットスキーマのみで見つかった場合、比較結果はターゲットのみです。
スキーマ差分ダイアログ-フィルターオプション¶
オブジェクト比較パネルでスキーマオブジェクトのいずれかをクリックすると、そのオブジェクトのDDLステートメントが DDL Comparison パネルに表示されます。
Schema Diff DDL比較パネル¶
DDL Comparison パネルには3つの列が表示されます:
最初の列には、ソーススキーマのオブジェクトのDDLステートメントが表示されます。
2列目には、ターゲットスキーマのオブジェクトのDDLステートメントが表示されます。
3列目には、ターゲットスキーマオブジェクトのSQLステートメントの違いが表示されます。
スキーマ差分ダイアログ-DDL比較パネル¶
すべてのスキーマオブジェクトのDDLステートメントを確認して、SQLステートメントの違いを確認できます。
スキーマ差分ツールを使用して、ソーススキーマオブジェクトのSQLステートメントに基づいて、ターゲットスキーマオブジェクトで見つかった差分のSQLスクリプトを生成することもできます。スクリプトを生成するには、オブジェクト比較パネルでスキーマオブジェクトのチェックボックスを選択し、オブジェクト比較パネルの右上隅にある Generate Script ボタンをクリックします。
スキーマ差分ダイアログ-スクリプト生成ボタン¶
スキーマオブジェクトを選択し、 Generate Script ボタンをクリックして Query Tool を新しいタブで開きます。 Query Editor にはSQLステートメントの違いが表示されます。
スキーマオブジェクトをクリックして DDL Comparison パネルで生成された差異を確認し、スキーマオブジェクトのチェックボックスを選択していない場合、PEMは新しいタブで Query Tool を開き、 Query Editor に表示されるSQLステートメントの違い。
Copy ボタンを使用して、 DDL Comparison パネルで生成された差をコピーすることもできます。
スキーマ差分ダイアログ-スクリプトの生成-クエリエディター¶
ターゲットスキーマのSQLステートメントを適用して、スキーマを同期します。