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