查询视图:v$sqlarea,它是oracle中专门存储 *** 作的视图,可以通过它查询历史 *** 作。
授权某用户,查看动态性能视图的权限(如v$latch,v$lock,v$sqlarea,v$sql,v$sysstat)
grant select any dictionary to xxx
如通过以下查询语句就可以得知那个用户进行了删除 *** 作。
select t.SQL_TEXT, t.FIRST_LOAD_TIME
from v$sqlarea t
where t.SQL_TEXT like 'delete%' and t.FIRST_LOAD_TIME like '2013-03-30%'
order by t.FIRST_LOAD_TIME desc
Oracle日志文件查看方法:
1、以sysdba权限用户登录数据库。
2、执行sql语句:select*fromv$logfile
3、结果显示即为日志路径:
4、另外还有其他的 *** 作日志可用以下两个sql语句查询:
select*fromv$sql--(#查看最近所作的 *** 作)select*fromv$sqlarea--(#查看最近所作的 *** 作)
Oracle日志的查看方法:
SQL>select*fromv$sql(#查看最近所作的 *** 作)
SQL>select*fromv$sqlarea(#查看最近所作的 *** 作)
Oracle数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误 *** 作,执行事后审计,执行变化分析。
方法和详细的 *** 作步骤如下:
1、第一步,查询该库中的所有表,测试sql,代码见下图,转到下面的步骤。
2、第二步,执行完上面的 *** 作之后,查询有多少个数据表,见下图,转到下面的步骤。
3、第三步,执行完上面的 *** 作之后,在TEST的开头编写一个查询表的脚本,每个表中的记录数,代码见下图,转到下面的步骤。
4、第四步,执行完上面的 *** 作之后,执行sql,在输出窗口中,可以看到每个表的输出,见下图。这样,就解决了这个问题了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)