вторник, 29 апреля 2008 г.

Сбор статистики по фрагментированной таблице

Как то обсуждая на sql.ru сбор статистики по большим таблицам один из участников обсуждения пожаловался что нельзя собирать статистику отдельно для каждого фрагмента таблицы. Действительно, предположим что есть фрагментированная таблица (или например разбитая на partitions). Если данные в такой таблице меняются только в некоторых фрагментах, а остальные остаются неизменными, то нет смысла запускать сбор статистики по всей таблице. Гораздо рациональнее было бы собирать статистику только по фрагментам с измененными данными. Однако такая возможность сбора статистики в информиксе не реализована.

пятница, 25 апреля 2008 г.

А вы все еще используете старые параметры VP?

Как известно, параметры виртуальных процессоров в информиксе задаются в $ONCONFIG с помощью параметров AFF_SPROC, AFF_NPROCS, NOAGE, NUMCPUVPS, и NUMAIOVPS. Так вот эти параметры давно (уже года два) не рекомендуется использовать. Вместо них предлагается использовать единые параметры конфигурации VPCLASS, в котором перечисляются все характеристики каждого определенного в информиксе класса виртуальных процессоров.
Приведу пример. Вот конфигурация с использованием старых параметров:

NUMCPUVPS 2 # Number of user (cpu) vps
NUMAIOVPS 2 # Number of IO vps
NOAGE 1

А вот та же конфигурация с использованием нового параметра VPCLASS:

VPCLASS cpu,num=2,noage
VPCLASS aio,num=2,noage

Исключение сделано для сетевых процессоров, для них как обычно используем параметр NETTYPE.

Как видим новая конфигурация позволяет более гибко управлять отдельными параметрами каждого класса VP. Также все параметры сосредоточены в одном месте что также повышает удобство конфигурации.

понедельник, 21 апреля 2008 г.

Используем CSM

Если требуется шифровать трафик от клиента к информиксу, то сделать это довольно просто с помощью Communication Support Module. Например рассмотрим настройку SPWDCSM на клиенте и сервере. Во первых следует уяснить, что если алиас информикса использует шифрование, то на клиенте тоже должен быть настроен CSM, иначе клиент не сможет подсоединиться к информиксу. Ну и во вторых, в Windows CSM стабильно работает на клиенте 2.90.TC6 и 3.00.TC2. На AIX например CSM работает также с использованием клиента 2.90.UC4. Старые версии клиентов, например 2.7 я бы не советовал использовать для работы с CSM.
Итак, настраиваем информикс. В каталоге $INFORMIXDIR/etc (или %INFORMIXDIR\etc для Windows) создаем текстовый файл concsm.cfg куда добавляем строку (пути при этом заменяем на реальные):


SPWDCSM("client=C:\Progra~1\IBM\Informix\Client-SDK\lib\
client\csm\ispws07a.dll,server=libixspw.so","","")


(перенос строки сделал потому что в блоге вся строка не влезает по ширине)

Далее в Setnet32 (для Windows) или в $INFORMIXDIR\etc\sqlhosts (для UNIX) находим нужный нам сервер где будет включен CSM, и в поле Options добавляем строку csm=(SPWDCSM)
Настройку клиента можно считать законченной. Настройка сервера практически не отличается от настройки клиента. В каталоге $INFORMIXDIR/etc создаем текстовый файл concsm.cfg где прописываем строку вида (путь к библиотеке libixspw.so заменить на тот который у вас):

SPWDCSM("server=/informix/test/lib/csm/libixspw.so","","")

и в sqlhosts для информикса в поле Options добавить строку csm=(SPWDCSM). После этого перезапустить информикс и проверить соединение.

Промежуточное обновление для Informix 11.10.UC2 вышло

Вот список исправлений в 11.10.xC2W2:

APAR
Description
IC56222 ABORTED TRANSACTION (ATS) OR DATA CORRUPTION POSSIBLE WITH UPDATE TRIGGER ON REPLICATED TABLE AND PARTIAL ROW REPLICATION
IC54613 BAD PERFORMANCE FOR A QUERY WHICH USES THE IN CONDITION IN THE WHERE CLAUSE
IC54917 THE START_ONPLOAD PROCEDURE IS NOT WORKING ON WINDOWS
IC54955 CONVERSION OF DECIMAL SEPARATOR IS NOT WORKING FOR PARAMETERIZED INSERT
IC55116 ASSERT FAILURE RELATED TO GET_FULL_QBUFH WHEN TSM STORAGE POOL IS FULL
IC55163 HPL: EXCEEDING THE 3^32 NUMBER OF ROWS, THE NUMBER OF ROWS PROCESSED GOES NEGATIVE.
IC55164 DBSCHEMA -D -HD CAUSES ERROR -1215 - VALUE EXCEEDS LIMIT OF INTEGER PRECISION
IC55213 AUTHENTICATION FAILURE ACCESSING REMOTE TABLES FROM TRIGGERS
IC55350 ONBAR REGRESSION ERROR CONNECTING TO IDS WITH LARGE SHARED MEMORY
IC55409 HUGE MEMORY ALLOCATION DURING INDEX BUILD
IC55416 CDR SYNC COMMAND HANGS WHEN COLUMN DATA VALUES ARE OUT OF THE FILTER RANGE IN THE REPLICATE
IC55419 QUERY USING OUTER JOIN RETURNS WRONG RESULT
IC55436 STANDARD MODE INFORMIX INSTANCE BECOMES PRIMARY AFTER RESTART IN A HDR/RSS ENVIRONMENT
IC55455 PHYSICAL RECOVERY CAN HANG IN V11, WHEN USING CONFIGURABLE PAGE SIZE
IC55490 INSTALLING IDS 11 ON A WINDOWS DOMAIN CONTROLLER FAILS WITH NOROLESEP_CREATEINFXUSER 3 ERROR
IC55661 DRDA: SELECT STATEMENTS WAIT FOR A LOCK TWICE THE TIME OF LOCK WAIT TIMEOUT PERIOD
IC55663 CRASH IN SQL WHEN USING SBLOBS IN MTS (XA) TIGHTLY COUPLED APPLICATION.
IC55673 RUNNING ONINIT -S ON HDR SECONDARY CRASHES THE SERVER
IC55983 WINDOWS DOMAIN USERS ARE ONLY ACCEPTED AS DOMAINUSERNAME NOT USERNAME.