首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建更大的临时表空间?

如何创建更大的临时表空间?
EN

Stack Overflow用户
提问于 2016-06-28 12:43:44
回答 2查看 3.1K关注 0票数 0

我在我的windows机器上安装了一个DB2 Express C DB2实例,并在JUnit测试中使用它来测试一些代码。

使用一条语句,我得到以下错误代码:

DB2 SQL错误: SQLCODE=-1585,SQLSTATE=54048,SQLERRMC=null,DRIVER=4.15.134

我了解到这可能是因为我临时表空间的页面大小太小了。

我通过估算大约16k的行大小并使用IBM发现我的临时表空间的页面大小为8k,从而证实了这一点。因此,我希望创建一个新的临时表空间,页面大小为32k。

我尝试在中这样做,但是页面大小的字段总是包含8 KB,无法编辑。

我通过使用"Befehlszeilenprozessor“来实现我的目标,我想它可以翻译成命令行解释器之类的东西。我执行了以下命令:

代码语言:javascript
复制
CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp PAGESIZE 32K MANAGED BY SYSTEM USING ('C:\DB2\NODE0000\SAMPLE\TNEWTEMP')

并得到以下结果:

代码语言:javascript
复制
DB21034E  Der Befehl wurde als SQL-Anweisung verarbeitet, da es sich um     
keinen gültigen Befehl des Befehlszeilenprozessors handelte.  Während der 
SQL-Verarbeitung wurde Folgendes ausgegeben:
SQL1582N  Die Seitengröße (PAGESIZE) für den Tabellenbereich "TMP_TBSP" stimmt
nicht mit der Seitengröße für den Pufferpool "IBMDEFAULTBP" überein, der
diesem Tabellenbereich zugeordnet ist.  SQLSTATE=428CB

我想相关的部分大概是:

代码语言:javascript
复制
SQL1582N  the page size (PAGESIZE) for the table space "TMP_TBSP" does not 
match the page size of the buffer pool "IBMDEFAULTBP" assigned to this 
tablespace.  SQLSTATE=428CB

那么,如何使临时表空间与我的需求相匹配呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-28 14:40:33

每个表空间必须有一个具有匹配页大小的缓冲池。使用 statement创建一个。

票数 1
EN

Stack Overflow用户

发布于 2019-07-16 05:04:54

首先,您必须创建大小为32k的Bufferpool,名为MyBF。然后使用以下语句:

代码语言:javascript
复制
CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp PAGESIZE 32K MANAGED BY SYSTEM USING ('C:\DB2\NODE0000\SAMPLE\TNEWTEMP') BUFFERPOOL MyBF;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38076615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档