例如有表a,往里插入了10條資料或者是更新了某一潭訓幾條資料,我怎么知道哪些是新插入的或者哪些是更新的,更新了哪幾個欄位?
uj5u.com熱心網友回復:
查redo日志或者
用最簡單的方式
select * from T1 as of timestamp to_timestamp('2017-12-04 22:10:00','YYYY-MM-DD HH24:MI:SS');--時間自己定,可以查看當時的表的情況 對比下就可以了。
uj5u.com熱心網友回復:
建個物化視圖日志分析uj5u.com熱心網友回復:
ora_rowscn能獲取多久之前的資料變化呢,2個小時后ora_rowscn獲取的時間就不準了uj5u.com熱心網友回復:
短時間的查詢,可以參考一下 2# 的建議,這個依賴于 UNDO ;如果長時間的記錄這些資料,可以用觸發器,把變化前的資料,備份到另一張表中
uj5u.com熱心網友回復:
Oracle日志挖掘工具也可以查到對表的所有的操作,可以在網上搜索下logminer了解使用方法。uj5u.com熱心網友回復:
可以依賴2#,或者業務自己實作,比如表里面加入一個最近操作型別(update,insert),一個最近操作時間uj5u.com熱心網友回復:
更新或者插入,帶更新或者拆插入時間,通過這個時間,就知道有多少更新和插入的uj5u.com熱心網友回復:
1、通過flashback,閃回可以查看短時間的內容2、通過logminer分析日志,可以查看
3、通過建立觸發器,將變化的內容寫到指定表中查看
uj5u.com熱心網友回復:
都說的好高深,1.在表上冗余兩個createddate,modifieddate欄位,就可以定位資料是進行了插入操作還是更新操作
2.如果要定位到更新欄位,建議觸發器
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/74987.html
標籤:開發
上一篇:saas平臺中采用共享mysql資料庫表,每個用戶所占用的表空間大小該怎么監控,或該怎么才能計算出來?
下一篇:什么情況下需要建表磁區?
