系统临时表空间失效,该怎么处理

如题所述

系统临时表空间失效
1、程序和数据库都准备完成以后,首次执行程序,在进行数据检索的时候出现如下错误信息:

com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-1584, SQLSTATE=57055, SQLERRMC=8192, DRIVER=3.62.56

2、然后在数据库中分别创建了 4K、8K、16K、32K 的 4 个临时表空间,再次运行程序,问题解决。

3、停止程序和数据库的运行,然后重新启动数据库和程序,再次出现第一步中出现的错误提示。

删掉上次建立的系统临时表空间,然后重建,再次运行程序,问题消失。

但是,每次只要重启数据库,就会重复出现这个问题,我使用了下述的命令分别建立临时系统表空间,

问题都未得到解决。仍旧只是当次起作用,重启就不管用了,重启数据库后,临时表空间和缓冲池仍旧存在于数据库

因为要用这个程序,我写了个脚本。

附1:
//db2 "CREATE BUFFERPOOL "BUP4K" SIZE 10000 PAGESIZE 4096 "

//db2 "CREATE BUFFERPOOL "BUP8K" SIZE 10000 PAGESIZE 8192 "

//db2 "CREATE BUFFERPOOL "BUP16K" SIZE 10000 PAGESIZE 16384 "

//db2 "CREATE BUFFERPOOL "BUP32K" SIZE 10000 PAGESIZE 32768 "
=================================================================================

在使用以下两种方案的时候,还分别使用了“NO FILE SYSTEM CACHING”和“FILE SYSTEM CACHING”两个参数加在这两个方案中,作为方案3和方案4测试。

方案1================================================================
//db2
"CREATE SYSTEM TEMPORARY TABLESPACE TS4K PAGESIZE 4096 MANAGED BY
SYSTEM USING ('/home/db2inst1/czfxdata/temptbs4/tmp_tbsp4') EXTENTSIZE
32 PREFETCHSIZE 32 BUFFERPOOL BUP4K"

//db2 "CREATE SYSTEM
TEMPORARY TABLESPACE TS8K PAGESIZE 8192 MANAGED BY SYSTEM USING
('/home/db2inst1/czfxdata/temptbs8/tmp_tbsp8') EXTENTSIZE 32
PREFETCHSIZE 32 BUFFERPOOL BUP8K"

//db2 "CREATE SYSTEM TEMPORARY
TABLESPACE TS16K PAGESIZE 16384 MANAGED BY SYSTEM USING
('/home/db2inst1/czfxdata/temptbs16/tmp_tbsp16') EXTENTSIZE 32
PREFETCHSIZE 32 BUFFERPOOL BUP16K"

//db2 "CREATE SYSTEM TEMPORARY
TABLESPACE TS32K PAGESIZE 32768 MANAGED BY SYSTEM USING
('/home/db2inst1/czfxdata/temptbs32/tmp_tbsp32') EXTENTSIZE 32
PREFETCHSIZE 32 BUFFERPOOL BUP32K"

方案2=================================================================
//db2
"CREATE SYSTEM TEMPORARY TABLESPACE TS4K PAGESIZE 4096 MANAGED BY
SYSTEM USING ('/home/db2inst1/czfxdata/temptbs4/tmp_tbsp4') BUFFERPOOL
BUP4K"

//db2 "CREATE SYSTEM TEMPORARY TABLESPACE TS8K PAGESIZE
8192 MANAGED BY SYSTEM USING
('/home/db2inst1/czfxdata/temptbs8/tmp_tbsp8') BUFFERPOOL BUP8K"

//db2
"CREATE SYSTEM TEMPORARY TABLESPACE TS16K PAGESIZE 16384 MANAGED BY
SYSTEM USING ('/home/db2inst1/czfxdata/temptbs16/tmp_tbsp16') BUFFERPOOL
BUP16K"

//db2 "CREATE SYSTEM TEMPORARY TABLESPACE TS32K PAGESIZE
32768 MANAGED BY SYSTEM USING
('/home/db2inst1/czfxdata/temptbs32/tmp_tbsp32') BUFFERPOOL BUP32K"

附2:
#!/bin/bash
db2start;
db2 connect to rordb99;
echo "================================================================================";
db2 "DROP TABLESPACE "TS16K"";
db2 "DROP TABLESPACE "TS32K"";
db2 "DROP TABLESPACE "TS4K"";
db2 "DROP TABLESPACE "TS8K"";
echo "================================================================================";
db2 "DROP BUFFERPOOL "IBMDEFAULT4K"";
db2 "DROP BUFFERPOOL "IBMDEFAULT8K"";
db2 "DROP BUFFERPOOL "IBMDEFAULT16K"";
db2 "DROP BUFFERPOOL "IBMDEFAULT32K"";
echo "================================================================================";
db2 "CREATE BUFFERPOOL "IBMDEFAULT4K" IMMEDIATE SIZE 10000 PAGESIZE 4096 ";
db2 "CREATE BUFFERPOOL "IBMDEFAULT8K" IMMEDIATE SIZE 10000 PAGESIZE 8192 ";
db2 "CREATE BUFFERPOOL "IBMDEFAULT16K" IMMEDIATE SIZE 10000 PAGESIZE 16384 ";
db2 "CREATE BUFFERPOOL "IBMDEFAULT32K" IMMEDIATE SIZE 10000 PAGESIZE 32768 ";
温馨提示:答案为网友推荐,仅供参考