2016-06-28 4 views
0

J'ai installé une instance DB2 Express C DB2 sur ma machine Windows et l'utilise dans des tests JUnit pour tester du code.Comment créer un plus grand tablespace temporaire?

Avec une déclaration que j'obtenir le code d'erreur suivant:

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

j'ai appris que c'est probablement parce que la taille de page de mon espace table temporaire est petite. J'ai confirmé cela en estimant la taille de la ligne à environ 16 Ko et en découvrant à l'aide d'IBM Data Studio que mon espace de table temporaire avait une taille de page de 8 Ko. Je veux donc créer un nouveau tablespace temporaire avec la taille de page 32k.

J'ai essayé de le faire avec IBM Data Studio, mais le champ pour le format de la page contient toujours 8 Ko et ne peut pas être modifié. Je suis venu un peu plus près de mon objectif en utilisant le "Befehlszeilenprozessor", je suppose que cela se traduit par un interpréteur en ligne de commande ou quelque chose. J'ai exécuté la commande suivante:

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

et a obtenu le résultat suivant:

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 

Je suppose que la partie pertinente se traduit à peu près à:

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 

Alors, comment puis-je faire un tablespace temporaire correspondant à mes exigences?

+1

Vous devez disposer d'un pool de mémoire tampon avec une taille de page correspondante pour chaque espace de table. Utilisez la commande 'CREATE BUFFERPOOL' pour en créer un. – mustaccio

+0

@mustaccio Type d'évidence ... travaillé. Est-ce que vous allez afficher cela comme une réponse, alors vous obtenez votre karma internet? –

Répondre