2017-03-27 10 views
0

私はクライアントとテスト環境とそのデータベースを持っています。変数値にあらかじめ定義された構成名を含むシンプルなOracle表があります。インストール時のテーブル値の差異

エクスポートされたダンプファイル(exp .... dmp)を使用してクライアントとテストの間の同期が行われる場合は、そのテーブルのロギングを行う必要がありますか?

単純に言えば、私は値を持つテーブルTBL_CONFIGと、TBL_CONFIGのすべての更新を格納するテーブルTBLE_CONFIG_CHANGESを持っています。しかし、同期中にTBL_CONFIGからのデータがクリアされ、新しいデータがダンプファイルから挿入されます。この場合、変更はTBLE_CONFIG_CHANGESに書き込まれません。

私の最初の解決策は、テストenvでインポートする前です。selectクエリを実行して結果をXMLファイルに書き込み、クライアントenvからコピーを実行して、再度xmlに更新されたテーブルのselectクエリを実行してから2つのxmlを比較します。

このような場合には、既に他にも優れた解決策がありますか?

答えて

0


これは、あなたが言及したこれを処理する1つの方法です。これ以外にも、以下の方法で確認できます:
1. impログを開いたり設定したりすると、挿入された行数がわかります。
2.テーブルにタイムスタンプ/日付フィールドがある場合は、それを使用してクエリできます。
3. ora_rowscn値を使用して、変更されたデータを比較できます。 ora_rowscnの例
myTableのSELECT SCN_TO_TIMESTAMP(MAX(ora_rowscn));
4. OR、その後USER_AUDIT_OBJECTを照会
user.table ON

AUDITのINSERTを監査有効にします。
希望します。私は詳細についても準備ができています。混乱があれば教えてください。

+0

あなたのためのThanxの回答ですが、私の場合は該当しません。あらかじめ定義された行の変数列の変更のみを追跡する必要があります(構成名は変更されず、その値のみ)。クライアント環境から新しいデータを挿入する前に、テスト環境のテーブルがクリアされています。 –

+0

その後、古いテーブルを保持し、1つのsqlまたはpl/sqlスクリプトを使用すると便利だと思います。また、dblinkを使用する可能性がある場合は、古いテーブルを保持する代わりに直接比較が可能です。 – smshafiqulislam

関連する問題