alert日志中的一条ora警告信息的分析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 今天照例检查数据库alert日志,发现一个错误。但是也没在意,想可能有大的操作导致的,马上会释放空间的,但是转眼一想,这是生产库,而且现在时早上,泰国的运营商还不算忙时,需要重视这个问题,看有没有什么潜在的问题, 从...
今天照例检查数据库alert日志,发现一个错误。但是也没在意,想可能有大的操作导致的,马上会释放空间的,但是转眼一想,这是生产库,而且现在时早上,泰国的运营商还不算忙时,需要重视这个问题,看有没有什么潜在的问题,

从alert日志里面看到的

Fri Jul 12 09:08:23 ICT 2013

ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP

 

查询temp_usage,发现目前使用的只有goldengate的10多个session,占用的自用很少,查询现在的temp usage已经恢复正常了。

SQL> select TABLESPACE_NAME,TOTAL_BLOCKS,USED_BLOCKS,FREE_BLOCKS from v$sort_segment;


TABLESPACE_NAME                 TOTAL_BLOCKS USED_BLOCKS FREE_BLOCKS

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

TEMP                                 1023872        7936     1015936




导出awr报告,数据库整体负载很小。top sql里面看到的sql貌似都加了Hint,是被优化过的。


(awr报告时1小时一生成,可能有很多信息都不准确)

没办法,最后查ASH,精确到那一分钟,得到了以下的信息,


Service

Module

% Activity

Action

% Action

XXXX01

TOAD 9.6.1.1

83.08

UNNAMED

83.08

 

JDBC Thin Client

13.85

UNNAMED

13.85

 

并且发现下面的sql耗费了大量的资源,

Top SQL Statements

SQL ID

Planhash

% Activity

Event

% Event

SQL Text

7v8g1ffh5mwz7

3702571469

83.08

CPU + Wait for CPU

83.08

SELECT /*+ leading (ar1_charge...

d8x0ns0xjbrp9

1042878405

9.23

CPU + Wait for CPU

9.23

SELECT MT.SHORT_DESC, MO.ENTIT...

2979km1x69s3g

3257149028

1.54

CPU + Wait for CPU

1.54

SELECT AR_BALANCE FROM AR1_ACC..

 

猛一看,这个sql应用了大量的hint,细细一看,是一个很有问题的sql

关联了好几个大表,但是没有关联。

SQL details:

SQL Id

SQL Text

7v8g1ffh5mwz7

SELECT /*+ leading (xxxxx1 xxxx2  xxx3) use_nl (xxxxx1 xxxx2   xxx3) index (xxxxx1 xxxx2 _ix) index (xxxx2  xxxx2 _pk) */ xxxxx1 .CHARGE_ID, xxxxx2.debit_id, xxxx2.invoice_id, xxxx1.partition_id, xxxx1.period_key, ROW_NUMBER () OVER (ORDER BY xxxx2.DEBIT_ID DESC) RN FROM xxxx1, xxxx2, xxx3 WHERE xxxx1.ACCOUNT_ID = 10000027

 

最后马上和team里面确认了下,是有一个人执行的。

然后为了阻止隐患,为邮件给关联的team,对于sql的优化问题一点那个要优化转发到dba team。


看似一个很小的问题,可能包含着错误的操作。

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11天前
|
存储 SQL 监控
|
11天前
|
运维 监控 安全
|
14天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
35 3
|
14天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
32 2
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1630 14
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
35 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
44 2
|
12天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
119 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
220 3
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
31 0