2つのデータベース環境の差分をみて作業をする。意外とこのケースは有るかと思います。
データベースを使用するアプリケーション開発を行う際、スキーマを全てコピーしてそれをバックアップ環境として運用する場合があります。問題が発生した際にオブジェクトの内容を比較してバックアップ環境から開発環境へリストアします。
また、テスト環境と本番環境を分けて開発することも多いです。しかし、管理が甘いと本番環境に載せていないプログラムがあり、エラーが発生なんてこともあります。
2つの環境のオブジェクトを簡単に比較してくれるものがあれば、上記の問題を解決できます。しかしSQLでは比較が難しいです。ではどうするか・・・。そんなあなたにSI Object Browserです!!
SI Object Browserでは2つの環境を比較しオブジェクトが存在しているか否か、内容が一致するか否かを確認する画面があります。テーブルやストアドプログラムの管理をしている担当の方は一度この機能で確認してみましょう。
今回はスキーマ間の比較をしていきたいと思います。
オブジェクト比較画面
オブジェクト比較を使うには
メイン画面上部のツールバーボタンから開きます。
(メインメニューの[ツール] – [オブジェクト比較]からでも開くことができます。)
オブジェクト比較ボタン
開きましたら赤枠の部分で比較対象の場所を選択します。
初期表示の所有者「(全て)」とは接続しているデータベースの全スキーマを比較対象とするという意味になります。今回はスキーマ間の比較を行いたいと思いますので所有者コンボボックスを比較対象のものに変更します。
オブジェクト比較の初期表示
比較先1、比較先2の所有者(スキーマ)を選択します。
所有者コンボボックス変更
次は[表示するオブジェクトの条件]を選択します。
今回は全てにチェックを入れますが、用途によっては絞り込んだ方が分かりやすいです。
表示するオブジェクトの条件を確認
最後にどのオブジェクトを表示するか選択します。
初期表示ではテーブル・索引・ビュー・ストアドプログラムなど、全てを表示します。
比較対象のオブジェクトが決まっている場合は絞り込んだ方が表示までの時間が短縮できます。
表示するオブジェクトの種類を確認
全ての設定が終わったら実行します。
実行
比較結果がリストアップされました。
リストの[比較結果]列より、現在、オブジェクトがどちらに存在しているのか、両方の環境に存在している場合は内容が一致しているか否かが、表示されます。
(※内容に関しての比較は定義内容に関してです。テーブルのデータは比較しませんのでご注意ください。)
実行完了
オブジェクトを比較しよう
具体的に何が違うのか確認する場合は対象のオブジェクトを選択してダブルクリックします。
(右クリックメニューの[開く]ボタンでも同様です。)
選択オブジェクトをダブルクリック
比較された2つのオブジェクトの定義情報が開きます。
定義情報を比較
いかがだったでしょうか。今回はスキーマ間の比較で話を進めましたが、異なるデータベース間の比較も可能です。本番環境にオブジェクトを移行する際は、是非ご利用ください。
- カテゴリ:
- キーワード: