Oracle怎么获取某个表变化的数据

kiss阳光 2018-01-23 01:51:06
例如有表a,往里插入了10条数据或者是更新了某一条或几条数据,我怎么知道哪些是新插入的或者哪些是更新的,更新了哪几个字段?
...全文
1538 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingkingzhu 2018-01-25
  • 打赏
  • 举报
回复
都说的好高深, 1.在表上冗余两个createddate,modifieddate字段,就可以定位数据是进行了插入操作还是更新操作 2.如果要定位到更新字段,建议触发器
jdsnhan 2018-01-24
  • 打赏
  • 举报
回复
1、通过flashback,闪回可以查看短时间的内容 2、通过logminer分析日志,可以查看 3、通过建立触发器,将变化的内容写到指定表中查看
wandier 2018-01-24
  • 打赏
  • 举报
回复
更新或者插入,带更新或者拆插入时间,通过这个时间,就知道有多少更新和插入的
liu志坚 2018-01-23
  • 打赏
  • 举报
回复
可以依赖2#,或者业务自己实现,比如表里面加入一个最近操作类型(update,insert),一个最近操作时间
zcs_zzh 2018-01-23
  • 打赏
  • 举报
回复
Oracle日志挖掘工具也可以查到对表的所有的操作,可以在网上搜索下logminer了解使用方法。
卖水果的net 2018-01-23
  • 打赏
  • 举报
回复 2
短时间的查询,可以参考一下 2# 的建议,这个依赖于 UNDO ; 如果长时间的记录这些数据,可以用触发器,把变化前的数据,备份到另一张表中
kiss阳光 2018-01-23
  • 打赏
  • 举报
回复
ora_rowscn能获取多久之前的数据变化呢,2个小时后ora_rowscn获取的时间就不准了
minsic78 2018-01-23
  • 打赏
  • 举报
回复
建个物化视图日志分析
  • 打赏
  • 举报
回复
查redo日志 或者 用最简单的方式 select * from T1 as of timestamp to_timestamp('2017-12-04 22:10:00','YYYY-MM-DD HH24:MI:SS');--时间自己定,可以查看当时的表的情况 对比下就可以了。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧