凌晨6点钟接到数据库告警,磁盘快满了,不对啊,下班之前还检查过,还有很多。获取0-6点的数据库报告,数据库是3个实例,其中一个的信息为:
Segments by DB Blocks Changes
- % of Capture shows % of DB Block Changes for each top segment compared
- with total DB Block Changes for all segments captured by the Snapshot
Owner | Tablespace Name | Object Name | Subobject Name | Obj. Type | DB Block Changes | % of Capture |
---|---|---|---|---|---|---|
LPUB | ZZ | SYS_LOB0000235316C00017$$ | SYS_LOB_P8991 | LOB PARTITION | 1,987,152 | 67.38 |
sql> select 1987152*8/1024/1024 from dual; --1987152是数据块的个数,8是数据块的单位8k
1987152*8/1024/1024
-------------------
15.1607666
三个节点差不多,那就是45G,如果时间再拉长一点应该差不多有80G。看这种object_name是大字段。
select * from dba_lob_partitions s
where s.lob_partition_name = 'SYS_LOB_P8991'
and s.lob_name = 'SYS_LOB0000235316C00017$$';
查到是CALL_LOG表的字段INPUT_ARGS导致,是SOA调用报文导致。还不够具体,是哪个具体的报文呢?
select l.sys_name,l.sys_code,l.method_code,sum(DBMS_LOB.getlength(l.INPUT_ARGS))
from CALL_LOG l
where l.INVOKE_TIME >= to_date('2017-03-29 00:01:00','yyyy-MM-dd HH24:mi:ss')
and l.INVOKE_TIME <= to_date('2017-03-29 06:00:00','yyyy-MM-dd HH24:mi:ss')
group by l.method_code,l.sys_name,l.sys_code
终于查到某业务的问题。