达梦数据库临时表空间暴涨,问题定位方式及解决方法

1、确定是暴涨过程中发现问题还是事后发现问题:

(1)暴涨过程中发现问题,可及时打开log_commit跟踪日志,并抓取当前活跃的session

select * from v$sessions where state = 'ACTIVE';

获取执行中的sql,并进行分析。

(2)事后发现问题,则可对前期日志进行分析,主要可分析的文件包括:bin下dm_DMSERVER_*.log运行日志,core文件(导致宕机才会产生);log文件夹下log_commit01.log跟踪日志。

2、定位并处理问题sql

3、使用函数SP_TRUNC_TS_FILE,在线缩小临时表空间大小。

示例:

处理前,临时表空间2.3G
在这里插入图片描述

使用SP_TRUNC_TS_FILE函数在线缩小临时表空间至64M,
在这里插入图片描述
在这里插入图片描述

SP_TRUNC_TS_FILE函数说明
在这里插入图片描述

4、设置临时表空间使用上限大小。

DM.INI中使用TEMP_SPACE_LIMIT设置临时表空间使用上限,防止出现临时表空间暴涨,服务器空间不足导致数据库宕机。

发布了56 篇原创文章 · 获赞 5 · 访问量 9352

猜你喜欢

转载自blog.csdn.net/fengxiaozhenjay/article/details/103223395