2016-06-28 54 views
0

我在Windows机器上安装了DB2 Express C DB2实例,并在JUnit测试中使用它来测试某些代码。如何创建一个更大的临时表空间?

有了一个说法,我得到以下错误代码:

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

我才知道,这可能是因为我的临时表空间的页面大小小。

我通过估计16k左右的行大小和使用IBM Data Studio发现我的临时表空间的页面大小为8k来证实了这一点。因此,我想创建一个页面大小为32k的新临时表空间。

我尝试使用IBM Data Studio进行此操作,但页面大小字段始终包含8 KB且无法编辑。

通过使用“Befehlszeilenprozessor”,我认为这可以转化为命令解释器或其他东西,从而更接近我的目标。我执行以下命令:

CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp PAGESIZE 32K MANAGED BY SYSTEM USING ('C:\DB2\NODE0000\SAMPLE\TNEWTEMP') 

,并得到以下结果:

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 

我想相关的部分大致翻译为:

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 

那么,怎样才能使一个临时表空间符合我的要求?

+1

您必须为每个表空间具有匹配页面大小的缓冲池。使用'CREATE BUFFERPOOL'命令创建一个。 – mustaccio

+0

@mustaccio一种明显的...工作。你打算发布这个答案,所以你得到你的互联网业力? –

回答