凌晨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
终于查到某业务的问题。