DB2 V9.5 系统临时表空间空间没回收

今天前端应用人员反映报错,SQL0289N错误,报告未能在“TEMPSYS_TBSP1”分配新的页面。SQLSTATE=57011。然后我看数据库系统临时表空间的详情,发现如下:

Tablespace ID                        = 3

Name                                 = TEMPSYS_TBSP1

Type                                 = Database managed space

Contents                             = System Temporary data

State                                = 0x0000

   Detailed explanation:

     Normal

Total pages                          = 2785280

Useable pages                        = 2785248

Used pages                           = 2785248

Free pages                           = 0

High water mark (pages)              = 2785248

Page size (bytes)                    = 32768

Extent size (pages)                  = 32

Prefetch size (pages)                = 64

Number of containers                 = 1


TBSP_ID TABLESPACE_NAME      TABLESPACE_TYPE TOTAL_GB   USED_GB    FREE_GB    PAGE_SIZE  ------- -------------------- --------------- ---------- ---------- ---------- -----------

3            TEMPSYS_TBSP1                   SYSTEMP                        1360          85             1274             32768


请问,这种情况下怎么解决?为什么空间没有自动的回收呢?

参与14
  • 当时可以做个如此的操作,查看运行的会话db2pd -d dbname -sort,然后获取会话快照信息,通常系统临时表空间都是SQL排序过高造成的,然后逐步优化SQL语句
    2015-11-05

6同行回答

db2haodbdb2haodb数据库开发工程师IGI
空间没有自动回收说明有大的数据库进程(如SQL)在持续执行,或者空间不够造成进程pending了,可以通过db2top监控找出消耗资源最大的sql,force掉,如果回滚或者其他原因不能force的,最直接的办法就是再建一个更大的临时表空间(用完后可以删除或者保留)。对于多个临时表空间的情况,D...显示全部

空间没有自动回收说明有大的数据库进程(如SQL)在持续执行,或者空间不够造成进程pending了,可以通过db2top监控找出消耗资源最大的sql,force掉,如果回滚或者其他原因不能force的,最直接的办法就是再建一个更大的临时表空间(用完后可以删除或者保留)。对于多个临时表空间的情况,DB2使用的时候首先会选bufferpool大的,如果bufferpool相同,则选pagesize大的,如果pagesize再相同,则随机选择一个。

收起
互联网服务 · 2015-11-04
浏览1481
db2bird1db2bird1数据库管理员enmo
问题解决了,但是并是不好的方法。是通过重启数据库来解决的。当时实例级监控没开,所以问题不好诊断,然后就用此下下策了显示全部

问题解决了,但是并是不好的方法。是通过重启数据库来解决的。

当时实例级监控没开,所以问题不好诊断,然后就用此下下策了

收起
系统集成 · 2015-11-04
浏览1475
db2bird1db2bird1数据库管理员enmo
在0分区占用很高。但是如何排除有问题的SQL呢显示全部

在0分区占用很高。但是如何排除有问题的SQL呢

收起
系统集成 · 2015-11-04
浏览1428
db2bird1db2bird1数据库管理员enmo
TABLESPACE_NAME      TABLESPACE_TYPE DBPARTITIONNUM TOTAL_MB             USED_MB              FREE_MB         ...显示全部

TABLESPACE_NAME      TABLESPACE_TYPE DBPARTITIONNUM TOTAL_MB             USED_MB              FREE_MB              PAGE_SIZE  

-------------------- --------------- -------------- -------------------- -------------------- -------------------- -----------

TEMPSYS_TBSP1        SYSTEMP                      0                87040                87039                    0       32768

TEMPSYS_TBSP1        SYSTEMP                      1                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                      2                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                      3                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                      4                87040                   11                87028       32768

TEMPSYS_TBSP1        SYSTEMP                      5                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                      6                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                      7                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                      8                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                      9                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                     10                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                     11                87040                   11                87028       32768

TEMPSYS_TBSP1        SYSTEMP                     12                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                     13                87040                    6                87033       32768

TEMPSYS_TBSP1        SYSTEMP                     14                87040                   10                87029       32768

TEMPSYS_TBSP1        SYSTEMP                     15                87040                   10                87029       32768

收起
系统集成 · 2015-11-04
浏览1479
db2bird1db2bird1数据库管理员enmo
1、报错信息:SQL0289N  Unable to allocate new pages in table space \"TEMPSYS_TBSP1\".  SQLSTATE=570112、系统本来就有两个系统临时表空间,但是他非要去用这个而且报错TBSP_ID TABLESPACE_NAME      TABLESPACE_TYPE TOTAL_G...显示全部

1、报错信息:

SQL0289N  Unable to allocate new pages in table space \"TEMPSYS_TBSP1\".  

SQLSTATE=57011


2、系统本来就有两个系统临时表空间,但是他非要去用这个而且报错

TBSP_ID TABLESPACE_NAME      TABLESPACE_TYPE TOTAL_GB   USED_GB    FREE_GB    PAGE_SIZE  

------- -------------------- --------------- ---------- ---------- ---------- -----------

3       TEMPSYS_TBSP1        SYSTEMP         1360       85         1274             32768

4       TEMPSYS_TBSP2        SYSTEMP         1360       0          1359             32768


3、当前系统没有回滚的操作

收起
系统集成 · 2015-11-04
浏览1478
新数科技新数科技IT顾问北京新数科技有限公司
系统临时表空间,是系统内部自己用的,像你这种情况,怀疑是有SQL语句在运行排序之类的操作,但是正常情况下用完后马上会释放掉,像你这种情况感觉比较奇怪,我怀疑可能有操作正在回滚,所以一直没有释放系统临时表空间。系统临时表空间我们是没有办法操作的,只能等待数据库完成操作后...显示全部

系统临时表空间,是系统内部自己用的,像你这种情况,怀疑是有SQL语句在运行排序之类的操作,但是正常情况下用完后马上会释放掉,像你这种情况感觉比较奇怪,我怀疑可能有操作正在回滚,所以一直没有释放系统临时表空间。

系统临时表空间我们是没有办法操作的,只能等待数据库完成操作后自己释放。如果长时间不是放,有一个办法,就是你再创建一个系统临时表空间,临时先用着,等这个释放了,再把新建的删掉。

你也可以看一下,当前系统有没有rollback状态的连接。可以用db2 list applications show detail命令看。

收起
IT咨询服务 · 2015-11-04
浏览1513

提问者

db2bird1
数据库管理员enmo

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-11-04
  • 关注会员:4 人
  • 问题浏览:4928
  • 最近回答:2015-11-04
  • X社区推广