oracle数据库归档日志量陡增分析
============= oracle数据库archivelog暴增分析 ====================
前言
归档量突然增长到981G/天,导致归档目录使用率告警
归档日志量异常暴增会导致磁盘空间爆满,数据库异常
1、归档日志量统计
SELECT TRUNC(FIRST_TIME) "TIME",
SUM(BLOCK_SIZE * BLOCKS) / 1024 / 1024 / 1024 "SIZE(GB)"
FROM V$ARCHIVED_LOG
GROUP BY TRUNC(FIRST_TIME) order by TRUNC(FIRST_TIME);
部分输出:
TIME SIZE(GB)
--------- ----------
09-JUN-21 63.345335
10-JUN-21 50.041029
11-JUN-21 43.3773184
12-JUN-21 41.8273354
13-JUN-21 36.834712
14-JUN-21 38.4342957
15-JUN-21 42.0742655
16-JUN-21 40.6740589
17-JUN-21 44.1439724
18-JUN-21 53.9158897
19-JUN-21 981.466756
2、日志生成量最大的对象 (按小时统计)
select * from (
SELECT to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI') snap_time,
dhsso.object_name,
SUM(db_block_changes_delta)
FROM dba_hist_seg_stat dhss,
dba_hist_seg_stat_obj dhsso,
dba_hist_snapshot dhs
WHERE dhs.snap_id = dhss.snap_id
AND dhs.instance_number = dhss.instance_number
AND dhss.obj# = dhsso.obj#
AND dhss.dataobj# = dhsso.dataobj#
AND begin_interval_time> sysdate - 120/1440
GROUP BY to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI'),
dhsso.object_name
order by 3 desc)
where rownum<=5;
SNAP_TIME OBJECT_NAME SUM(DB_BLOCK_CHANGES_DELTA)
---------------- ------------------------------ ---------------------------
2021_06_19 09:00 OMS_GOODSQTY_UPLOAD_GDST_IDX 1506104016
2021_06_19 09:00 OMS_GOODSQTY_UPLOAD_IDX 175114000
2021_06_19 09:00 OMS_GOODSQTY_UPLOAD 148411280
2021_06_19 09:00 BMS_ST_IO_DTLTMP_INOUTID_IDX 201616
2021_06_19 09:00 GRESA_SA_DTL_RSAID_IDX 138160
tips:也可以查awr的Segments by Physical Writes的数据,数据相对应
3、相关sql查询
SELECT to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI'),
dbms_lob.substr(sql_text, 4000, 1),
dhss.instance_number,
dhss.sql_id,
executions_delta,
rows_processed_delta
FROM dba_hist_sqlstat dhss, dba_hist_snapshot dhs, dba_hist_sqltext dhst
WHERE UPPER(dhst.sql_text) LIKE '%OMS_GOODSQTY_UPLOAD%'
AND dhss.snap_id = dhs.snap_id
AND dhss.instance_Number = dhs.instance_number
AND dhss.sql_id = dhst.sql_id;
当前sql查询:
select a.username,a.sid,b.sql_text from v$session a,v$sql b
where a.sql_id=b.sql_id and b.sql_text like '%OMS_GOODSQTY_UPLOAD%';
4、查找关联SQL的session和module和machine
select username,program,module,machine from dba_hist_active_sess_history WHERE sql_id = 'cs3758yhdjxav';
处理方式及总结
排查出归档生成量最大的对象相关信息(用户名、对象名、程序名、模块、机器)反馈应用测排查相关业务,
紧急处理方式先停止相关异常业务,再进行业务侧优化。
新的业务上线前需要经过严格的测试,新业务上线前需要提前沟通,实时观察数据库情况,以便出现问题及时发现和处理;
数据库维护期间要保持高度警惕,认真观察,冷静分析。
<end>
oracle数据库归档日志量陡增分析的更多相关文章
- Oracle数据库重做日志及归档日志的工作原理说明
Oracle数据库重做日志及归档日志的工作原理: lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满 ...
- 改变oracle数据库归档模式_译文
Changing the Database Archiving Mode 改变数据库归档模式. Purpose 目的 This module describes how you can change ...
- Oracle 10g 归档日志满了的解决办法
如果Oracle的归档日志满了,应用连接数据库就会出错,这时需要手工删除过期的归档日志,方法如下: 1.指定数据库实例 $ export ORACLE_SID=db1 2.进入rman $ rman ...
- Linux Oracle删除归档日志
今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下 ...
- Windows平台使用RMAN命令自动删除Oracle过期归档日志的方法
自动删除Oracle过期归档日志的思路如下: 1.编写自动执行的bat脚本文件: 2.Windows设置定期执行计划 OracleArchLogClear.bat D:/Oracle/product/ ...
- Oracle 数据库 alert日志及trace日志的清理
Oracle 数据库 alert日志及trace日志的清理 方案一: 暂停数据库的trace 登录到数据库 sqlplus / as sysdba 修改参数: SQL> alter system ...
- 归档—监控ORACLE数据库告警日志
ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看 ...
- Oracle数据库归档模式的切换及其相关操作详解
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> ...
- oracle 启用归档日志
Oracle可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog) 归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和 ...
随机推荐
- 在@Data注释lombok上使用继承警告等于/ hashCode(Warning equals/hashCode on @Data annotation lombok with inheritance)
生成equals / hashCode实现但没有调用超类,即使这个类没有扩展java.lang.Object.如果这是故意的,请将 @EqualsAndHashCode(callSuper = fal ...
- JAVA8 lambda表达式权威教程!
Java 8新特性----Stream流 jdk8是Java 语言开发的一个主要版本,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等等.今天就重点介 ...
- MySQL权限管理实战
前言: 不清楚各位同学对数据库用户权限管理是否了解,作为一名 DBA ,用户权限管理是绕不开的一项工作内容.特别是生产库,数据库用户权限更应该规范管理.本篇文章将会介绍下 MySQL 用户权限管理相关 ...
- C++知识概要
static的用法和作用 在全局变量前加上关键字 static,全局变量就定义成一个全局静态变量.存储在静态存储区,在整个程序运行期间一直存在.同时全局静态变量在声明他的文件之外是不可见的 在局部变量 ...
- Zoho创始人斯瑞达.温布获评“年度最佳CEO”
近日,权威研究和咨询机构Constellation Research公布了一系列奖项,Zoho创始人斯瑞达.温布获评"年度最佳CEO"(The Best Enterprise CE ...
- traefik ingress Controller使用
Kubernetes Ingress Kubernetes Ingress是路由规则的集合,这些规则控制外部用户如何访问Kubernetes集群中运行的服务. 在Kubernetes中,有三种方式可以 ...
- [bug] redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
参考 https://www.geek-share.com/detail/2684728161.html
- Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.
1.按照提示 systemctl status ssh.service 查看报错原因 sshd -t 2.结果 /etc/ssh/sshd_config line 34: missing argume ...
- jolokia配置Java监控
wget http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-jvm/1.3.6/jolokia-jvm-1.3.6- ...
- Https实践
https实践 常用端口 ssh 22 telnet 23 ftp 21 rsync 873 http 80 mysql 3306 redis 6379 https 443 dns 53 php 90 ...