レコードテーブルのOracleクエリのタイムスタンプ挿入時間なし

最近、オンラインシステムは、ビジネス・プロセスに基づいて、このケースが懸念されるしかしそう、データ重複のテーブルに表示されますが、残念ながら、テーブルのタイムスタンプに参加していなかったので、質問が悪く、チェックになります。

だから、オンライン検索関連のデータと次の文で問い合わせることができていることが見つかりました:

t.seq_id選択t.hall_id、TO_CHAR(SCN_TO_TIMESTAMP(ORA_ROWSCN)、 'YYYY-MM-DD HH24:MI:SS:FF8')dim_geog_a Tからinsert_timeとして。

以下に示すように、クエリの構造:

テーブルを照会するには、この声明はさらに、関連レコードが5日以上することはできませんですが、そうでない場合は、変更が有効なエラー番号ではありませんシステムに報告されます。

次のように:

原因

SCNは、現在のフラッシュバック・データベースの一部として無古い5日以上でなければならないとして、これは正常な動作が期待される
機能。

現在、フラッシュバック問合せ機能は、までの時間を追跡し、
5日間の最大値。この期間は、サーバーの稼働時間ではなく、壁時計の反映
時間を。あなたのような、興味のある時にSCNを自分で記録しなければならない
DELETEを行う前に。

私たちは、次の文でrowscn各レコードを照会することができます。

SELECT --deptno,
        --dname,loc,
        dbms_rowid.rowid_block_number(ROWID) blockno,
        ora_rowscn
FROM dim_geog_a;

select * from dim_geog_a as of scn 74757285358;

网上相关资料说能够建表时加参数知晓行级的scn信息,但是我查询不可行()即统一时间内插入的是一样的,只有间隔一点时间才不一样。

默认情况下,每行记录的ORA_ROWSCN是基于Block的,这样是不准确的,除非在建表的时候执行开启行级跟踪(create table … rowdependencies),这样就会是在行级记录scn。

待得到答案后再更新。

おすすめ

転載: blog.csdn.net/zidielang/article/details/56852114