怎样查询访问数据库的日志

怎样查询访问数据库的日志,第1张

方法1:使用LogMiner工具

优点:可以完全挖掘日志内容,找出所有执行过的SQL语句

缺点:

1 如果没有启用归档日志,则只能对联机日志进行挖掘

2 需要掌握LogMiner的用法

访法2:查看HIST视图

优点:简单,只要使用普通的select语句查询

缺点:Oracle保留约1周的历史,所以要查太早的就不可能了

-- 找出哪个数据库用户用什么程序在最近三天执行过delete或truncate table的 *** 作

举例如下:

SELECT cusername,

aprogram,

bsql_text,

bcommand_type,

asample_time

FROM dba_hist_active_sess_history a

JOIN dba_hist_sqltext b

ON asql_id = bsql_id

JOIN dba_users c

ON auser_id = cuser_id

WHERE asample_time BETWEEN SYSDATE - 3 AND SYSDATE

AND bcommand_type IN (7, 85)

ORDER BY asample_time DESC;

记录系统日志,比如日志切换的记录,修改系统参数等系统事件。

位置在参数background_mp_dest指定的路径下,一般为:%ORACLE_BASE%admin%ORACLE_SID%mp

你是要看数据文件和日志文件的存放位置呢,还是里边的内容?查看位置的话,直接使用:SQL> select from v$logfile;SQL> select file_id,file_name from dba_data_files;如果要查看内容的话,得把数据打出来,到trace文件中查看。

这些是要联接到数据库的,但是 *** 作记录需要在程序上做处理,可以这样处理

1、建立一个 *** 作记录表,字段大概可以为:id、 *** 作类型、 *** 作人、 *** 作时间等

2、封装一个类,在每次有 *** 作的将这些 *** 作的记录写到数据库中,然后需要的时候读取出来

以上就是关于怎样查询访问数据库的日志全部的内容,包括:怎样查询访问数据库的日志、如何查看oracle数据库的系统日志、如何查看数据库日志等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9385305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存