oracle 归档日志激增,一次归档日志激增的分析.
OS:redhat as 4 ORACLE:9207
我们的生产库正常情况下一天产生400-500个日志.每个日志大小20M.
最近发现日志量大量增加.更加奇怪的是白班(07:30--19:30)的日志是正常的.晚班(19:30--07:30)的日志就大量增加了(1小时就能产生200个日志).第一反应就是怀疑有人在晚班做了大量的DML操作.所以就去问开发人员有没有做什么动作.一致都说没有什么动作.也查看了下JOB,没有发现有JOB在晚班跑.
没办法.只能利用LOGMNR分析日志了.
但是问题又来了.发现之前还没有设置utl_file_dir这个参数呢.此参数为静态参数.生产库是没办法停机重启的.所以就想到了将日志移至测试库(与生产库环境是相同的)进行分析.以下就是在测试环境下的分析过程.
1.创建正式库数据字典文件到归档日志中,并找出是哪个日志,将它拷贝至测试库.
execute DBMS_LOGMNR_D.BUILD(options=>DBMS_LOGMNR_D.store_in_redo_logs);
SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';
SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_END='YES';
我这里得出的归档日志是1_268157.dbf.
2.拷贝晚班大量产生的日志(1_267220.dbf--1_267225.dbf)6个日志来分析.
3.在测试库上创建列表(先将以上包含数据字典的日志添加进来):
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_268157.dbf',dbms_logmnr.new);
4.添加另外的日志文件到列表:
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267220.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267221.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267222.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267223.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267224.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/logminer/1_267225.dbf',dbms_logmnr.addfile);
5.开始分析日志文件:
EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS);
6.将分析结果转储在表里:
create table logmnr_090415 tablespace users as select * from v$logmnr_contents;
7.结束分析:
exec dbms_logmnr.end_logmnr;
8.日志都分析出来了.那就看看产生这6个日志的2分钟之间.都有人做了什么吧.
select sql_redo,count(*) from logmnr_090415 group by sql_redo order by count(*) desc;
结果吓了一跳.平均1秒就会更新kanbantable 10000笔记录.
那为什么白班的时候没有这种现象呢.带着这个问题及logmnr_090415 中sql_redo的语句去让开发人员分析.很快就得出结论了.原来是有人通过一个触发器对kanbantable这张表做了错误的insert动作.造成了kanbantable这张表中的B班数据大量重复.从而造成了数据的大量重复UPDATE.
问题找到了.原来是表的数据有大量重复.解决方法就简单了.删除这些重复数据就可以了.
oracle 归档日志激增,一次归档日志激增的分析.相关推荐
- Oracle Dataguard中备库中归档日志不同步
环境:RAC+单机 Dataguard 问题:启动备库到ADG模式时,发现后台归档日志并不同步 1.在备库中发现日志的归档日志不同步,内容如下: MRP0: Background Media Reco ...
- 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志
一 如何解决"归档日志已满问题" 问题描述:所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文 ...
- rman打开oracle归档日志,Oracle RAC中使用RMAN管理归档日志
RMAN归档配置的两种方案1.在Oracle asm和集群文件系统时的归档方案 对于Oracle RAC来说首选是使用Oracle asm作为reocvery区域.可选择的你也可以使用集群文件系统的归 ...
- 查看oracle归档大小,ORACLE RAC按实例统计每天归档日志大小
ORACLE RAC按实例统计每天归档日志大小: ? SELECT ? TRUNC (COMPLETION_TIME) ARCHIVED_DATE, ? ? ? ? ? ?THREAD#, ? ? ? ...
- 在Oracle中,如何定时删除归档日志文件?
在Oracle中,如何定时删除归档日志文件? 对于单实例的数据库可以使用如下的脚本: 1.在Oracle用户下,创建归档日志删除文件del_OCPLHR1_arch.sh 文件位置:/home/ ...
- PostgreSQL归档配置及自动清理归档日志
PostgreSQL归档配置及自动清理归档日志 在生产环境中,数据库都需要开启归档模式,那么PG该如何开始归档呢? PG中归档配置涉及几个参数: # - Archiving - #是否开启归档 #ar ...
- oracle 创建模式语句,ORACLE基本使用SQL语句以及归档模式的操作
--1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tabl ...
- oracle 安装时的日志文件,oracle10g安装的日志文件 Oracle10g怎么查看操作日志
如何查看oracle 10g 的操作日志 归档模式下怎么查询oracle 10g归档日志存放的路径? SQL> select name from v$archived_log; NAME /u0 ...
- 我的Oracle 9i学习日志(11)--重做日志文件及练习
一.重做日志文件特征: 记录对数据所做的所有更改:提供恢复机制:可以划分成组:至少需要两个组(每个组至少一个成员). 二.结构 联机重做日志文件组: • 一组相同的联机重做日志文件副本称作联机重做 ...
最新文章
- 开发人员最喜爱的十大免费的Visual Studio插件
- IDEA 快捷键 (长期更新)
- 妙用Windows安全模式执行杀毒
- pass4side IBM 000-M15
- 成功解决python\ops\seq2seq.py TypeError: ms_error() got an unexpected keyword argument 'labels'
- c语言中0到9的as编码c2,(全国计算机等级考试二级笔试样卷VsualBasc语言程序设计.doc...
- 【IT笔试面试题整理】给定一个数组a[N]构造数组b [N]
- java连接zookeeper_java 学习笔记(四) java连接ZooKeeper
- C Tricks(十九)—— 求以任意数为底的对数
- 百万 Go TCP 连接的思考: epoll方式减少资源占用
- voip和rtc_WebRTC与VoIP的对比
- 挑战程序设计竞赛2:算法与数据结构(电子书与代码)
- Leetcode五大常用算法
- Mybatis常用的OGNL表达式
- 下载新版火狐后无法同步书签_火狐浏览器书签同步设置教程
- Centos 7 WPS简单安装方法
- 金山文字应用技巧两则(转)
- html当前页面的脚本发生错误,如何解决“当前页面脚本发生错误”的问题
- 如何系统性地学习分布式系统
- 打印显示服务器脱机win10,win10网络打印机脱机怎么办?
热门文章
- mysql因计算机丢失vcr_Missvcr100.dll丢失的原因和快速修复解决方案
- 查看mysql单个表大小限制_查看单个mysql数据库中各个表的大小
- Cookie、Session
- 一些常用的简单的Lambda写法
- linux dialog详解(图形化shell)
- 循环队列 - 顺序存储结构
- MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。
- pymol安装教程linux,PyMOL | Pymol绘图教程(一)
- 雅虎又泄露 3200 万账户数据,因cookie伪造攻击
- java socket编程 聊天_基于java的socket简单聊天编程