select ora_rowscn from table_name;
ORA_ROWSCN
は、行に対する最新の変更の控えめな上限システム変更番号(SCN)を返します。この擬似列は、行が最後に更新されたときの概算に役立ちます。Oracleデータベース内の最後に変更されたすべてのテーブルのリストを取得するにはどうすればよいですか?
ここからタイムスタンプを取得するにはどうすればよいですか?また、特定のスキーマで最後に変更されたテーブルをすべて取得できるクエリがありますか?
select ora_rowscn from table_name;
ORA_ROWSCN
は、行に対する最新の変更の控えめな上限システム変更番号(SCN)を返します。この擬似列は、行が最後に更新されたときの概算に役立ちます。Oracleデータベース内の最後に変更されたすべてのテーブルのリストを取得するにはどうすればよいですか?
ここからタイムスタンプを取得するにはどうすればよいですか?また、特定のスキーマで最後に変更されたテーブルをすべて取得できるクエリがありますか?
SCN_TO_TIMESTAMP
は、システム変更番号(SCN)と評価される数値を引数としてとり、そのSCNに関連付けられたおおよそのタイムスタンプを返します。
SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN)
FROM employees
WHERE employee_id = 188;
10g以上のユーザーは、Oracleのフラッシュバック機能を使用してこの情報を取得できます。フラッシュバックを有効にする必要があります。
select table_name ,max(commit_timestamp)
from FLASHBACK_TRANSACTION_QUERY
where table_owner = 'YOUR_SCHEMA'
and operation in ('INSERT','UPDATE','DELETE','MERGE')
group by table_name
あなたが求めていることについてSCNに関わる必要はありません。なぜだけでなく:
begin dbms_stats.flush_database_monitoring_info; end;
select * from dba_tab_modifications
where timestamp >= sysdate - 7
order by timestamp desc;
するとあなたは(?愚か)(デフォルトは高いTYPICAL
、である)のみBASIC
統計レベルで実行されていない限り、これはどの11gデータベース以降で正常に動作する必要があります。
FLASHBACK_TRANSACTION_QUERYを実行するには特典が必要です – Moudiz