Wenn einer partitionierten Datenbank, die mindestens einen temporären Systemtabellenbereich mit einer anderen Seitengröße als der Standardseitengröße (4 KB) hat, Knoten hinzugefügt werden, kann folgende Fehlernachricht und ein SQLCODE-Wert angezeigt werden: "SQL6073N Das Hinzufügen von Knoten ist fehlgeschlagen". Dies passiert, weil beim Erstellen des Knotens nur der Pufferpool IBMDEFAULTBP mit einer Seitengröße von 4 KB vorhanden ist.
Sie können z. B. den Befehl db2start verwenden, um der aktuellen partitionierten Datenbank einen Knoten hinzuzufügen:
DB2START NODENUM 2 ADDNODE HOSTNAME neuerhost PORT 2
Wenn die partitionierte Datenbank temporäre Systemtabellenbereiche mit der Standardseitengröße hat, wird die folgende Nachricht zurückgegeben:
SQL6075W Die Operation START DATABASE MANAGER wurde erfolgreich zum Knoten hinzugefügt. Der Knoten ist erst aktiv, nachdem alle Knoten gestoppt und erneut gestartet wurden.
Wenn jedoch die partitionierte Datenbank temporäre Systemtabellenbereiche mit einer anderen Größe als der Standardseitengröße hat, wird die folgende Nachricht zurückgegeben:
SQL6073N Das Hinzufügen von Knoten ist fehlgeschlagen. SQLCODE-Wert = "<-902>"
In einem ähnlichen Beispiel können Sie den Befehl ADD NODE verwenden, nachdem die Datei db2nodes.cfg manuell mit der neuen Knotenbeschreibung aktualisiert wurde. Nachdem die Datei editiert und der Befehl ADD NODE mit einer partitionierten Datenbank mit temporären Systemtabellenbereichen mit der Standardseitengröße ausgeführt wurde, wird folgende Nachricht zurückgegeben:
DB20000I Der Befehl ADD NODE wurde erfolgreich ausgeführt.
Wenn jedoch die partitionierte Datenbank temporäre Systemtabellenbereiche mit einer anderen Größe als der Standardseitengröße hat, wird die folgende Nachricht zurückgegeben:
SQL6073N Das Hinzufügen von Knoten ist fehlgeschlagen. SQLCODE-Wert = "<-902>"
Eine Möglichkeit, die oben dargestellten Probleme zu vermeiden, ist die Ausführung des folgenden Befehls:
DB2SET DB2_HIDDENBP=16
Dieser Befehl muss vor dem Befehl db2start oder ADD NODE abgesetzt werden.Durch diese Registrierungsvariable kann DB2 verdeckte Pufferpools von je 16 Seiten zuordnen, die jeweils eine von der Standardgröße abweichende Seitengröße verwenden. Dadurch kann die Operation ADD NODE erfolgreich durchgeführt werden.
Eine weitere Möglichkeit zur Umgehung dieses Problems ist die Angabe der Klausel WITHOUT TABLESPACES beim Befehl ADD NODE oder db2start. Danach müssen Sie die Pufferpools mit der Anweisung CREATE BUFFERPOOL erstellen und die temporären Systemtabellenbereiche mit der Anweisung ALTER TABLESPACE dem Pufferpool zuordnen.
Wenn einer vorhandenen Knotengruppe, die mindestens einen Tabellenbereich mit einer anderen Seitengröße als der Standardseitengröße (4 KB) hat, Knoten hinzugefügt werden, kann folgende Fehlernachricht angezeigt werden: "SQL0647N Pufferpool "" ist zur Zeit nicht aktiv." Dieser Fehler tritt auf, weil die auf dem neuen Knoten erstellten Pufferpools mit einer vom Standard abweichenden Seitengröße für die Tabellenbereiche nicht aktiviert wurden.
Sie können z. B. die Anweisung ALTER NODEGROUP verwenden, um einen Knoten zu einer Knotengruppe hinzuzufügen:
DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2)
Wenn die Knotengruppe Tabellenbereiche mit der Standardseitengröße hat, wird die folgende Nachricht zurückgegeben:
SQL1759W Es ist erforderlich, die Knotengruppe umzuverteilen, um die Datenpartitionierung für Objekte in der Knotengruppe "<name-der-knotengruppe>" zu ändern, damit hinzugefügte Knoten aufgenommen oder gelöschte Knoten entfernt werden können.
Wenn jedoch die Knotengruppe Tabellenbereiche mit einer anderen Größe als der Standardseitengröße hat, wird die folgende Nachricht zurückgegeben:
SQL0647N Pufferpool "" ist zur Zeit nicht aktiv.
Eine Möglichkeit zum Umgehen dieses Problems besteht darin, Pufferpools für jede Seitengröße zu erstellen und sie dann wieder mit der Datenbank zu verbinden, bevor Sie die Anweisung ALTER NODEGROUP absetzen:
DB2START CONNECT TO mpp1 CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192 CONNECT RESET CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2)
Eine zweite Umgehungsmöglichkeit für dieses Problem besteht in der Ausführung des folgenden Befehls:
DB2SET DB2_HIDDENBP=16
Dies muss erfolgen, bevor Sie den Befehl db2start und die Anweisungen CONNECT und ALTER NODEGROUP absetzen.
Ein weiteres Problem kann auftreten, wenn die Anweisung ALTER TABLESPACE verwendet wird, um einem Tabellenbereich einen Knoten hinzuzufügen. Beispiel:
DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2)
Diese Reihe von Befehlen und Anweisungen generiert die Fehlernachricht SQL0647N (nicht die erwartete Nachricht SQL1759W).
Damit diese Änderung korrekt abgeschlossen wird, sollten Sie die Verbindung zur Datenbank wiederherstellen, nachdem die Anweisung ALTER NODEGROUP... WITHOUT TABLESPACES ausgeführt wurde.
DB2START CONNECT TO mpp1 ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES CONNECT RESET CONNECT TO mpp1 ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2)
Eine weitere Umgehungsmöglichkeit für dieses Problem besteht in der Ausführung des folgenden Befehls:
DB2SET DB2_HIDDENBP=16
Dies muss erfolgen, bevor Sie den Befehl db2start und die Anweisungen CONNECT, ALTER NODEGROUP und ALTER TABLESPACE absetzen.