Замечания по выпуску


|9.3 Глава 10. Увеличение числа процессоров в конфигурации

|9.3.1 Проблемы при добавлении узлов в многораздельную базу данных

| |

|При добавлении узлов в многораздельную базу данных, содержащую одно или |несколько системных временных табличных пространств, размер страниц которых |отличается от размера страниц по умолчанию (4 Кбайта), вы можете получить |сообщение об ошибке "SQL6073N Операция Add Node прервана" и |SQLCODE. Это вызвано тем, что при создании узла существует только пул |буферов IBMDEFAULTBP с размером страниц 4 Кбайта.

|Например, для добавления узла в текущую многораздельную базу данных может |использоваться команда db2start:

|      DB2START NODENUM 2 ADDNODE HOSTNAME newhost PORT 2

|Если эта многораздельная база данных содержит системные временные табличные |пространства, размер страниц которых равен размеру страниц по умолчанию, будет |возвращено следующее сообщение:

|   SQL6075W  Операция Start Database Manager успешно добавила узел. 
|   Узел не будет активен, пока все узлы не будут остановлены и запущены еще раз.

|Однако если системные временные табличные пространства этой многораздельной |базы данных имеют размер страниц, отличный от размера страниц по умолчанию, |будет возвращено сообщение:

|      SQL6073N Операция Add Node прервана. SQLCODE = "<-902>"

|Для добавления узла можно также использовать команду ADD NODE, |предварительно вручную добавив описание нового узла в файл |db2nodes.cfg. После изменения этого файла и |выполнения команды ADD NODE для многораздельной базы данных, содержащей |системные временные табличные пространства, размер страниц которых равен |размеру страниц по умолчанию, будет возвращено следующее сообщение:

|      DB20000I Команда ADD NODE выполнена успешно.

|Однако если системные временные табличные пространства этой многораздельной |базы данных имеют размер страниц, отличный от размера страниц по умолчанию, |будет возвращено сообщение:

|      SQL6073N Операция Add Node прервана. SQLCODE = "<-902>"

|Один из способов предотвратить описанную выше ошибку - выполнить |команду:

|   DB2SET DB2_HIDDENBP=16

|перед выполнением команды db2start или ADD NODE. Эта |переменная реестра разрешает DB2 выделять скрытые пулы буферов по 16 страниц |каждый, используя размер страницы, отличный от размера страницы по |умолчанию. Это обеспечивает успешное выполнение операции ADD |NODE.

|Другой способ предотвращения этой ошибки - задать условие WITHOUT |TABLESPACES в команде ADD NODE или db2start. После этого |нужно будет создать пулы буферов, используя оператор CREATE BUFFERPOOL, и |связать системные временные табличные пространства с пулом буферов, используя |оператор ALTER TABLESPACE.

|При добавлении узлов в существующую группу узлов, содержащую одно или |несколько табличных пространств, размер страниц которых отличается от размера |страниц по умолчанию (4 Кбайта), вы можете получить сообщение об ошибке |"SQL0647N Пул буферов "" в настоящее время неактивен.". Это |происходит потому, что созданные на новом узле пулы буферов с размером |страниц, отличным от размера страниц по умолчанию, не активируются для этих |табличных пространств.

|Например, для добавления узла в группу узлов можно использовать оператор |ALTER NODEGROUP:

|   DB2START
|   CONNECT TO mpp1
|   ALTER NODEGROUP ng1 ADD NODE (2)

|Если эта группа узлов содержит табличные пространства, размер страниц |которых равен размеру страниц по умолчанию, будет возвращено следующее |сообщение:

|   SQL1759W Для изменения распределения данных для объектов в группе узлов 
|   "<ng1>" требуется перераспределение группы узлов
|   с включением добавленных узлов или исключением отброшенных.

|Однако если табличные пространства этой группы узлов имеют размер страниц, |отличный от размера страниц по умолчанию, будет возвращено сообщение:

|   SQL0647N Пул буферов "" в настоящее время неактивен.

|Один из способов предотвратить описанную выше ошибку - создать пулы буферов |для каждого размера страниц и затем заново соединиться с базой данных перед |выполнением оператора ALTER NODEGROUP:

|   DB2START
|   CONNECT TO mpp1
|   CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192
|   CONNECT RESET
|   CONNECT TO mpp1
|   ALTER NODEGROUP ng1 ADD NODE (2)

|Другой способ предотвращения этой ошибки - выполнить команду:

|   DB2SET DB2_HIDDENBP=16

|перед выполнением команды db2start и операторов CONNECT и |ALTER NODEGROUP.

|Другая ошибка может возникнуть, когда оператор ALTER TABLESPACE |используется для добавления табличного пространства к узлу. |Например:

|   DB2START
|   CONNECT TO mpp1
|   ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES
|   ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2)

|Эта последовательность команд и операторов генерирует сообщение об ошибке |SQL0647N (а не ожидаемое сообщение SQL1759W).

|Чтобы правильно выполнить это изменение, необходимо заново соединиться с |базой данных после выполнения оператора ALTER NODEGROUP... WITHOUT |TABLESPACES.

|   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)

|Другой способ предотвращения этой ошибки - выполнить команду:

|   DB2SET DB2_HIDDENBP=16

|перед выполнением команды db2start и операторов CONNECT, ALTER |NODEGROUP и ALTER TABLESPACE.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]