システムで一部のテーブルのデータを更新 (または削除、挿入) する必要があります。しかし、どのデータが更新、削除、挿入されたか知りたいです。したがって、データが変更される前に、次のように別のスキーマでテーブルをバックアップします。
create table backup_table as select * from schema1.testtable
データが変更された後、backup_table と testtable の違いを見つけたいと思い、その違いをバックアップ スキーマのテーブルに保存したいと考えています。
私が実行するSQLは次のようなものです:
CREATE TABLE TEST_COMPARE_RESULT
AS
SELECT 'BEFORE' AS STATUS, T1.*
FROM (
SELECT * FROM backup_table
MINUS
SELECT * FROM schema1.testtable
) T1
UNION ALL
SELECT 'AFTER' AS STATUS, T2.*
FROM (
SELECT * FROM schema1.testtable
MINUS
SELECT * FROM backup_table
) T2
私が心配しているのは、マイナス操作が多くのシステム リソースを使用すると聞いたことです。私のシステムでは、一部のテーブル サイズが 700M を超えます。したがって、オラクルがメモリ内の 700M データをどのように読み取るかを知りたいです (PGA) ??) または一時表領域? リソースが比較操作に十分であることを確認するにはどうすればよいですか?