oracle 日志 LogMiner

http://hi.baidu.com/jinlijun_998/blog/item/be2ce10afeb92035b0351d7f.html

--------------------------------------------------

Oracle日志查看

一.Oracle日志的路径:

登录:sqlplus "/as sysdba"

查看路径:SQL> select * from v$logfile;

SQL> select * from v$logfile;(#日志文件路径)

二.Oracle日志文件包含哪些内容:(日志的数量可能略有不同)

control01.ctl example01.dbf redo02.log   sysaux01.dbf undotbs01.dbf

control02.ctl redo03.log   system01.dbf users01.dbf

control03.ctl redo01.log     SHTTEST.dbf temp01.dbf

三.Oracle日志的查看方法:

SQL>select * from v$sql   (#查看最近所作的操作)

SQL>select * fromv $sqlarea(#查看最近所作的操作)

Oracle 数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。

四.LogMiner的使用:

1、创建数据字典文件(data-dictionary)

1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效:

SQL> shutdown;

SQL>startup;

2).然后创建数据字典文件
   SQL> connect /as sysdba
   SQL> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => '/data1/oracle/logs');

PL/SQL procedure successfully completed

2、创建要分析的日志文件列表
   1).创建分析列表,即所要分析的日志
     SQL>execute dbms logmnr.add logfile(LogFileName => '/data1/oracle/oradata/akazamdb/redo01.log',Options => dbms_logmnr.new);
     PL/SQL procedure successfully completeds   
   2).添加分析日志文件,一次添加1个为宜
     SQL>execute dbms_ logmnr.add_ logfile(LogFileName => '/data1/oracle/oradata/akazamdb/redo01.log',Options => dbms_logmnr.ADDFILE);
     PL/SQL procedure successfully completed

3、使用LogMiner进行日志分析(具体要查询什么内容可以自己修改)
(1)无限制条件
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>'/data1/oracle/logs/v816dict.ora ');
(2)有限制条件
     通过对过程DBMS_ LOGMNR.START_LOGMNR中几个不同参数的设置,可以缩小要分析日志文件的范围。通过设置起始时间和终止时间参数我们可以限制只分析某一时间范围的日志。如下面的例子,我们仅仅分析2007年9月18日的日志:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' /data1/oracle/logs/ v816dict.ora ',
StartTime => to_date('2007-9-18 00:00:00','YYYY-MM-DD HH24:MI:SS')
EndTime => to_date(''2007-9-18 23:59:59','YYYY-MM-DD HH24:MI:SS '));
也可以通过设置起始SCN和截至SCN来限制要分析日志的范围:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' /data1/oracle/logs/ v816dict.ora ',
StartScn => 20,
EndScn => 50);
4、观察分析结果(v$logmnr_contents)
到现在为止,我们已经分析得到了重作日志文件中的内容。动态性能视图v$logmnr_contents包含LogMiner分析得到的所有的信息。
SELECT sql_redo FROM v$logmnr_contents;
如果我们仅仅想知道某个用户对于某张表的操作,可以通过下面的SQL查询得到,该查询可以得到用户DB_ZGXT对表SB_DJJL所作的一切工作。
SQL> SELECT sql_redo FROM v$logmnr_contents WHERE username='DB_ZGXT' AND tablename='SB_DJJL';
需要强调一点的是,视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话的生命期中存在。这是因为所有的LogMiner存储都在PGA内存中,所有其他的进程是看不到它的,同时随着进程的结束,分析结果也随之消失。
最后,使用过程DBMS_LOGMNR.END_LOGMNR终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在。
5、查看LogMiner工具分析结果
SQL> select * from dict t where t.table_name like '%LOGMNR%';-看所有与logmnr相关的视图
TABLE_NAME                       COMMENTS
------------------------------ --------------------------------------------------------------------------------
GV$LOGMNR_CALLBACK               Synonym for GV_$LOGMNR_CALLBACK
GV$LOGMNR_CONTENTS               Synonym for GV_$LOGMNR_CONTENTS
GV$LOGMNR_DICTIONARY             Synonym for GV_$LOGMNR_DICTIONARY
GV$LOGMNR_LOGFILE               Synonym for GV_$LOGMNR_LOGFILE
GV$LOGMNR_LOGS                   Synonym for GV_$LOGMNR_LOGS
GV$LOGMNR_PARAMETERS             Synonym for GV_$LOGMNR_PARAMETERS
GV$LOGMNR_PROCESS               Synonym for GV_$LOGMNR_PROCESS
GV$LOGMNR_REGION                 Synonym for GV_$LOGMNR_REGION
GV$LOGMNR_SESSION               Synonym for GV_$LOGMNR_SESSION
GV$LOGMNR_STATS                 Synonym for GV_$LOGMNR_STATS
GV$LOGMNR_TRANSACTION           Synonym for GV_$LOGMNR_TRANSACTION
V$LOGMNR_CALLBACK               Synonym for V_$LOGMNR_CALLBACK
V$LOGMNR_CONTENTS               Synonym for V_$LOGMNR_CONTENTS
V$LOGMNR_DICTIONARY             Synonym for V_$LOGMNR_DICTIONARY
V$LOGMNR_LOGFILE                 Synonym for V_$LOGMNR_LOGFILE
V$LOGMNR_LOGS                   Synonym for V_$LOGMNR_LOGS
V$LOGMNR_PARAMETERS             Synonym for V_$LOGMNR_PARAMETERS
V$LOGMNR_PROCESS                 Synonym for V_$LOGMNR_PROCESS
V$LOGMNR_REGION                 Synonym for V_$LOGMNR_REGION
V$LOGMNR_SESSION                 Synonym for V_$LOGMNR_SESSION
TABLE_NAME                       COMMENTS
------------------------------ --------------------------------------------------------------------------------
V$LOGMNR_STATS                   Synonym for V_$LOGMNR_STATS
V$LOGMNR_TRANSACTION             Synonym for V_$LOGMNR_TRANSACTION
GV$LOGMNR_LOGS 是分析日志列表视图
分析结果在GV$LOGMNR_CONTENTS 视图中,可按以下语句查询:
select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,
session#,serial#,username,session_info,sql_redo,sql_undo from logmnr3 t where t.sql_redo like 'create%';
如果不能正常查询GV$LOGMNR_CONTENTS视图,并报以下错误,ORA-01306: 在从 v$logmnr_contents 中选择之前必须调用 dbms_logmnr.start_logmnr() 。可采用如下方法:
create table logmnr3 as select * from GV$LOGMNR_CONTENTS;

Oracle端口:1521

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cannot resolve jakarta.validation:jakarta.validation-api:2.0.2

在SpringCloud中引入Eureka依赖时报错 Cannot resolve jakarta.validation:jakarta.validation-api:2.0.2 在maven里面只要引入了Eureka的地方全部报红线 后面看见引入Eureka包pom报红这篇博文说,在maven仓库里面我添加的依赖已经过时了。去官网看,也确…

分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)

分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日) 本周Silverlight学习资源更新: Silverlight Tools 4安装时的错误提示 happy_0812 Silverlight带关闭动画的内容控件,可移动的内容控件(二) 豆豆狗 未安装Silverl…

IDEA访问数据库时,某一个字段数据库中有值但是访问到的数据始终是null

问题描述 Request请求之后,页面返回了数据,其他字段都对,就那一个字段是null 排除问题 能访问到其他数据,说明IDEA连接数据库时成功了的,那不是数据库的问题就是字段本身的问题 存在的问题 字段类型,检…

知识库如何跟其他业务系统结合

很多企业在建立自己的知识库之前就有了很多业务系统,知识库建好以后,却不知道该如何跟自己的业务系统相结合。KMaster提供了几点知识库跟业务系统相结合的经验,供大家参考。 1. web插件的形式。 在业务系统中引用知识库提供的js文件&am…

LeetCode——350. 两个数组的交集 II

题目描述: 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2,2]示例 2: 输入:nums1 [4,9,5], nums2 [9,4,9,8,4] 输出:[4,9]说明&#x…

第八章 基本脚本编译

key words : 执行多个命令的方法 、 创建与执行脚本、反引号 、数学计算8.1 执行多个命令的方法:1、在每个命令间用;隔开[rootlocalhost ~]# date;who2011年 05月 29日 星期日 08:44:32 EDTroot :0 2011-05-29 08:32root pts/0 2011-05-29 08:33 (:0.…

LeetCode——面试题 08.01. 三步问题

题目描述: 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。 实现一种方法,计算小孩有多少种上楼梯的方式。 结果可能很大,你需要对结果模1000000007。示例1:输入:n 3 输出&am…

艾伟:ASP.NET 与 AJAX的实现方式

Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。 Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土…

IDEA中的模块被识别为普通文件夹,图标为灰色的

现象: 所有图标都是灰色,不被识别为模块 解决办法: 打开settings—> Build,Execution,deployment—>maven —>ignored Files —>然后把你出问题的项目勾掉就恢复正常了额,图标啥的都恢复了

艾伟:WCF从理论到实践(2):决战紫禁之巅

本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):W…

LeetCode——LCP 06.拿硬币

这个题简单到我觉得不用写思路&#xff0c;也没有啥坑。 class Solution {public int minCount(int[] coins) {int len coins.length;int count 0;for(int i0;i<len;i){countcoins[i]/2;if(coins[i]%20){continue;}else{count1;}}return count;} }

Linux 定时执行命令 crontab

语法介绍 使用权限 : root用户和crontab文件的所有者    crontab格式语法: crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]    说明 : crontab 是用来让使用者在固定时间或固定间隔执行程式之用&#xff0c;换句话说&#xff0c;也就是类似使用…

LeetCode——1710. 卡车上的最大单元数

力扣上提交的代码 class Solution {public int maximumUnits(int[][] boxTypes, int truckSize) {int res 0;//存储可以装载单元的最大总数//根据二维数组的第二列数据降序排列Arrays.sort(boxTypes,(o1, o2) -> o2[1]-o1[1]);for (int i 0; i<boxTypes.length &&…

黄聪:php中utf-8模板获取GB2312编码页面传递URL中文编码转换方法

$w中文参数; mb_convert_encoding($w, gb2312, utf-8)转载于:https://www.cnblogs.com/huangcong/archive/2011/09/03/2165339.html

狂神说JVM笔记

JVM探究 面试常见&#xff1a; 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM&#xff0c;什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取&#xff0c;怎么分析Dump文件&#xff1f;谈谈JVM中&#xff0c;类加载器…

敏捷开发与中医理论系列之二:古法教学(软件教育,松结对编程,师徒制度)...

由来 中国古代的很多技术或艺术&#xff0c;都是没有学校教授的&#xff0c;譬如中医&#xff0c;戏曲&#xff0c;民间艺术&#xff0c;食品&#xff0c;酿酒……但却不乏流传千古的名家和作品&#xff0c;唯一问题就是流传缓慢&#xff0c;传内不传外&#xff0c;传男不传女……

Xshell连接远程Linux服务器失败Could not connect to ‘192.xxx.xx.xxx‘ (port 22): Connection failed.

问题描述&#xff1a; 我将自己的一台Ubuntu系统笔记本作为服务器&#xff0c;然后使用另一台win10系统的Xshell去远程连接该服务器&#xff0c;始终不成功。 【备注】这个远程连接解决的是同一局域网中的远程&#xff0c;算不上真正的远程&#xff0c;在判断两者之间可否远程…

ajax 同步加载数据

var data $.ajax({url:"same.php",type:GET,async:false,cache:false}).responseText;主要是 async 参数

同局域网下的两台主机间互相ping不通是为什么

现象描述&#xff1a; 经过 ipconfig 命令&#xff08;Linux下 ifconfig 命令&#xff09;查询两台互相ping不通的主机的 ip 和网关&#xff0c;发现两台主机的路由网关都是192.168.0.1&#xff0c;但是他们之间互相ping不通&#xff0c;后面经过检查注意到&#xff0c;一台主…

HDU-3460 Ancient Printer 字典树

该题题意是求给定的字符串集用一个打字机来打出所有的字符串&#xff08;最后一个&#xff09;&#xff0c;顺序可以打乱&#xff0c;每次操作可以向打字机的末尾添加一个字符删除一个字符以及打印一个单词。这里有一个很强大的想法&#xff0c;那就是先假设每个单词都打印出来…