【达梦数据库】临时表空间不足
问题1:SQL应用端报错:超出表空间限制
1、应用执行SQL的过程中,临时表空间占用率超过100%,报错:
2、查看数据库日志,未发现任何有关的报错;
3、增加临时表空间的数据文件1个,最大值102400(100G),设置自动增长,这样临时表空间最大值就是200G了
4、修改TEMP表空间限制TEMP_SPACE_LIMIT为200G;
SP_SET_PARA_VALUE(1,'TEMP_SPACE_LIMIT',204800);
SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT',204800);
SELECT SF_GET_PARA_VALUE(1,'TEMP_SPACE_LIMIT');
SELECT SF_GET_PARA_VALUE(2,'TEMP_SPACE_LIMIT');
5、重新执行SQL,临时表空间使用率上涨,SQL不报错。
补充
通过$MTAB_USED_HISTORY视图查看SQL使用临时表空间的大小select * from v$MTAB_USED_HISTORY;
通过v$sql_history和$MTAB_USED_HISTORY视图查看历史SQL使用临时表空间的大小select s.SESS_ID,m.SQL_TEXT,m.MTAB_USED_BY_M from v$sql_history s ,v$mtab_used_history m where s.EXEC_ID=m.EXEC_ID;