私は、1つの列と100,000を超えるレコード(行)を持つテーブルを持っています。 1000人以上のユーザーがテーブルを使用し、テーブルの更新、挿入、削除を行います。行が最後に影響を受けました
Oracleでは、最後に影響を受ける行を特定できますか?
私は、1つの列と100,000を超えるレコード(行)を持つテーブルを持っています。 1000人以上のユーザーがテーブルを使用し、テーブルの更新、挿入、削除を行います。行が最後に影響を受けました
Oracleでは、最後に影響を受ける行を特定できますか?
ジャーナリングテーブルを作成します。たとえば、table_jnlです。
また、1000人のユーザーが作業するテーブルであるベーステーブルに基づいて(挿入、更新、削除の行の後に)テーブルトリガーを作成します。
各挿入、更新、削除ステートメントのトリガーでは、ジャーナリングテーブルにレコードを作成します。
... 1000人のユーザーは、パフォーマンスの大幅な向上に非常に満足しています。 – mathguy
私は今
update demo
Set id=0 where id=2;
1 ROW UPDATED
ID TS
---- -----------------------------------------
0 26-OCT-16 09.28.15.000000000 PM
私は、これは素晴らしい方法ではありません確信しているが、テーブルが作成されている場合、それが動作を更新チェック今
select * from (select id,SCN_TO_TIMESTAMP(ORA_ROWSCN) ts from demo)
where ts=(select max(SCN_TO_TIMESTAMP(ORA_ROWSCN)) from demo)
ID TS
-- -------------------------------------------
1 26-OCT-16 09.24.43.000000000 PM
2 26-OCT-16 09.24.43.000000000 PM
3 26-OCT-16 09.24.43.000000000 PM
をチェック答え
create table demo(id number)rowdependencies;
Table created.
insert into demo values(1);
COMMIT;
insert into demo values(2);
COMMIT;
insert into demo values(3);
COMMIT;
を得ました行の依存関係を持つ
どのように削除を確認していますか? –
私は削除されたレコードを見つけようとしましたが、動作しませんでしたが、挿入と更新は正常に動作しています....このメソッドは、 –
シーケンシャルなid列や、各レコードの作成日のようなものがあれば、これを正確に実行してください。 –
なぜこれをやりたいですか?あなたはこの問題をどのように解決しようとしていますか? – mathguy
1つの列を持つテーブルのポイントは何ですか?これはいくつかの仮説シナリオですか?意味がありません。 – OldProgrammer