系统临时表空间不足,如何调整

时间:2023-01-14 05:56:24
报错:不存在具有足够页大小的系统临时表空间,

要怎么调整?

14 个解决方案

#1


你的表空间没有空间了
需要加设备
db2 list tablespaces show detail查看那个表空间不足
然后alter tablespace add device添加设备

#2


这个说的不对

表空间有三种类型:规则、临时和长整数。
包含用户数据的表存放在规则表空间中。缺省用户表空间名为USERSPACE1。索引也存储在规则表空间中。系统目录表存放在规则表空间中。缺省系统目录表空间名为SYSCATSAPCE。
包含长整数字段数据或长整数对象数据(如多媒体对象)的表存放在长整数表空间中。
临时表空间分为系统临时表空间或用户临时表空间。系统临时表空间用来存储SQL操作(如排序、重组表、创建索引和连接表)期间所需的内部临时数据。虽然可以创建任意数目个系统临时表空间,但建议您只适用大多数表所使用的页大小创建一个。缺省系统临时表空间名为TEMPSPACE1。用户临时表空间用来存储已说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表空间不是在数据库创建时缺省创建的。


对于规则表空间需要有页大小一样的临时表空间与之对应
你用db2 list tablespaces show detail查看表空间
看是否有某个规则表空间没有页大小与之一样的临时表空间
创建一个那样的临时表空间

引用 1 楼 zhaojianmi1 的回复:
你的表空间没有空间了
需要加设备
db2 list tablespaces show detail查看那个表空间不足
然后alter tablespace add device添加设备

#3


怎么找不到TEMPSPACE1这个表空间?

#4


db2 list tablespaces show detail

#5


自己创建一个临时表空间

#6


对于规则表空间需要有页大小一样的临时表空间与之对应
你用db2 list tablespaces show detail查看表空间
看是否有某个规则表空间没有页大小与之一样的临时表空间
创建一个那样的临时表空间

#7


可不可以不用创建新的表空间,页对现有的进行更改?

#8


引用 7 楼 tonyibm 的回复:
可不可以不用创建新的表空间,页对现有的进行更改?
不行

#9


例子:db2 "create system temporary tablespace TBSTMP32K pagesize 32k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

#10


引用 7 楼 tonyibm 的回复:
可不可以不用创建新的表空间,页对现有的进行更改?


不可以,表空间创建完成,是不能在修改的。

#11


表空间应该是可以扩容的啊,

我上次有一个表空间的可用页为0之后,就使用以下的命令进行扩容,

ALTER TABLESPACE PTRPTS EXTEND

但是这次我不知道是不是这种问题,

#12


引用 11 楼 tonyibm 的回复:
表空间应该是可以扩容的啊,

我上次有一个表空间的可用页为0之后,就使用以下的命令进行扩容,

ALTER TABLESPACE PTRPTS EXTEND

但是这次我不知道是不是这种问题,
不是这种情况了,
对于一个数据表空间假设页大小(pagesize)为8k,必须有一个8k页大小的系统临时表空间(system temporary tablespace )与之对应
你就创建一个这样的表空间:
db2 "create system temporary tablespace TBSTMP8K pagesize  8k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

#13


好像我的数据表空间的页大小都是4kb的,

还有一个问题,和这个4kb相对应的系统临时表空间叫什么名字?

db2 "create system temporary tablespace TBSTMP8K pagesize 8k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

这个命令里面的TBSTMP8K是什么意思?
('/bopdw_tmp/tbstmp32k')是什么路径,要更改吗?
BFPDETAIL是什么意思?

不好意思,问多了,
新手,见谅!

#14


建库时,系统建立默认的临时表空间,页大小4k
TBSTMP8K:是系统临时表空间名称,可以自己命名
'/bopdw_tmp/tbstmp32k':unix系统下的路径,和临时文件名,windows不一样为C:/tmp/tbstmp32k

#1


你的表空间没有空间了
需要加设备
db2 list tablespaces show detail查看那个表空间不足
然后alter tablespace add device添加设备

#2


这个说的不对

表空间有三种类型:规则、临时和长整数。
包含用户数据的表存放在规则表空间中。缺省用户表空间名为USERSPACE1。索引也存储在规则表空间中。系统目录表存放在规则表空间中。缺省系统目录表空间名为SYSCATSAPCE。
包含长整数字段数据或长整数对象数据(如多媒体对象)的表存放在长整数表空间中。
临时表空间分为系统临时表空间或用户临时表空间。系统临时表空间用来存储SQL操作(如排序、重组表、创建索引和连接表)期间所需的内部临时数据。虽然可以创建任意数目个系统临时表空间,但建议您只适用大多数表所使用的页大小创建一个。缺省系统临时表空间名为TEMPSPACE1。用户临时表空间用来存储已说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表空间不是在数据库创建时缺省创建的。


对于规则表空间需要有页大小一样的临时表空间与之对应
你用db2 list tablespaces show detail查看表空间
看是否有某个规则表空间没有页大小与之一样的临时表空间
创建一个那样的临时表空间

引用 1 楼 zhaojianmi1 的回复:
你的表空间没有空间了
需要加设备
db2 list tablespaces show detail查看那个表空间不足
然后alter tablespace add device添加设备

#3


怎么找不到TEMPSPACE1这个表空间?

#4


db2 list tablespaces show detail

#5


自己创建一个临时表空间

#6


对于规则表空间需要有页大小一样的临时表空间与之对应
你用db2 list tablespaces show detail查看表空间
看是否有某个规则表空间没有页大小与之一样的临时表空间
创建一个那样的临时表空间

#7


可不可以不用创建新的表空间,页对现有的进行更改?

#8


引用 7 楼 tonyibm 的回复:
可不可以不用创建新的表空间,页对现有的进行更改?
不行

#9


例子:db2 "create system temporary tablespace TBSTMP32K pagesize 32k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

#10


引用 7 楼 tonyibm 的回复:
可不可以不用创建新的表空间,页对现有的进行更改?


不可以,表空间创建完成,是不能在修改的。

#11


表空间应该是可以扩容的啊,

我上次有一个表空间的可用页为0之后,就使用以下的命令进行扩容,

ALTER TABLESPACE PTRPTS EXTEND

但是这次我不知道是不是这种问题,

#12


引用 11 楼 tonyibm 的回复:
表空间应该是可以扩容的啊,

我上次有一个表空间的可用页为0之后,就使用以下的命令进行扩容,

ALTER TABLESPACE PTRPTS EXTEND

但是这次我不知道是不是这种问题,
不是这种情况了,
对于一个数据表空间假设页大小(pagesize)为8k,必须有一个8k页大小的系统临时表空间(system temporary tablespace )与之对应
你就创建一个这样的表空间:
db2 "create system temporary tablespace TBSTMP8K pagesize  8k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

#13


好像我的数据表空间的页大小都是4kb的,

还有一个问题,和这个4kb相对应的系统临时表空间叫什么名字?

db2 "create system temporary tablespace TBSTMP8K pagesize 8k managed by system using ('/bopdw_tmp/tbstmp32k') extentsize 8 prefetchsize 64 bufferpool BFPDETAIL"

这个命令里面的TBSTMP8K是什么意思?
('/bopdw_tmp/tbstmp32k')是什么路径,要更改吗?
BFPDETAIL是什么意思?

不好意思,问多了,
新手,见谅!

#14


建库时,系统建立默认的临时表空间,页大小4k
TBSTMP8K:是系统临时表空间名称,可以自己命名
'/bopdw_tmp/tbstmp32k':unix系统下的路径,和临时文件名,windows不一样为C:/tmp/tbstmp32k