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设置临时表空间使用上限,防止出现临时表空间暴涨,服务器空间不足导致数据库宕机。