日期:2014-05-16  浏览次数:20807 次

关于数据库操作记录查询问题
各位大虾们好: 最近小弟遇到这样一个问题,oracle系统中有很多类似于V$开始的动态参数表,我想问其中有没有一张表,刻意查询用户操作记录的?比如:用户对tableA,做了增删改查操作,我想知道,这系统参数表中能否看到该用户所操作过的这张表记录,比如他是对这张表,到底新增记录了,还是删除,修改某条具体记录了?

------解决方案--------------------
v$sql
v$sqlarea
------解决方案--------------------
select * from v$sql
select * from v$sql_text
------解决方案--------------------
v$sql等视图不一定记录了所有的SQL,取决于SHARED_POOL的大小,
并且如果使用了绑定变量,则该动态性视图并不包含具体的值。

唯一能够完整反映的是重做日志,前提是所有日志都做了归档。
可以使用logminer来取得具体执行的SQL信息。
------解决方案--------------------
探讨
v$sql等视图不一定记录了所有的SQL,取决于SHARED_POOL的大小,
并且如果使用了绑定变量,则该动态性视图并不包含具体的值。

唯一能够完整反映的是重做日志,前提是所有日志都做了归档。
可以使用logminer来取得具体执行的SQL信息。