下面為你介紹SQL語句用於實現實現查看Oracle表記錄的生成時間,如果您之前遇到過類似的問題,不妨一看。
有時要查看表中的那條記錄是什麼時候創建的,有的會去用logminer去查看,有的會用閃回查詢,其實很簡單。
不用那麼麻煩,oracle的建每張表時都會建一個隱含的字段ora_rowscn,看到這個字段的名字,有寫人會想到scn?對了,Oracle在向表中插入記錄時會記錄插入記錄時當前數據庫的scn,那麼聰明的你很快就會想到,既然有每條記錄的scn,那麼通過scn不就能查到每條Oracle表記錄的創建時間啦?全對!
只要一句話,就可以輕松查看Oracle表記錄的生成時間,相信這個應該會有幫助的!
舉個例子:
select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from scott.emp;
結果將會看到emp表中每條記錄創建時的時間。
默認情況下,每行記錄的ORA_ROWSCN是基於Block的,這樣是不准確的,除非在建表的時候執行開啟行級跟蹤(create table … rowdependencIEs),這樣就會是在行級記錄scn。
所以要想查看准確的Oracle表記錄創建時間則在建表時要加rowdependencIEs選項!