问题:CentOS磁盘剩余空间报警

分析:通过命令发现,/home/db2inst1占用了36G

du -ah / | sort -rh | head -n 100

36G /home/db2inst1
36G /home
35G /home/db2inst1/archived_logs/db2inst1/PRODDB/NODE0000/LOGSTREAM0000/C0000001

解决:

1.执行看下目前的归档日志有哪些

db2 connect to PRODDB

db2 list history all for PRODDB | egrep “B P|B D|X D”
B D 20230526132840000 N S0000000.LOG S0000000.LOG
B D 20230601220826000 N S0000000.LOG S0000000.LOG
B D 20230601220855001 F D S0000000.LOG S0000000.LOG
B D 20240107175047000 N S0000000.LOG S0000000.LOG

X D 20240107181525 1 D S0000000.LOG C0000001
X D 20240107181547 1 D S0000001.LOG C0000001
X D 20240107181607 1 D S0000002.LOG C0000001

X D 20241012020002 1 D S0002420.LOG C0000001
X D 20241012020028 1 D S0002421.LOG C0000001
B D 20241012132004000 N S0002421.LOG S0002421.LOG
X D 20241012132037 P D S0002422.LOG C0000001
B D 20241012132018001 N D S0002421.LOG S0002421.LOG

X  D:归档日志

B  P:表空间的备份

B  D:表数据的完整备份

2. 确认哪些是可以删除的日志

db2 get db cfg for PRODDB

找到First active log file,记录文件名,这是目前在使用中的最早的归档日志

3. 删除日志

执行命令 db2 prune logfile prior to S0002421.LOG 打上标记

注意:如果当前数据库的恢复历史依赖于这些日志,删除操作可能会导致问题。