DB2 на AIX

User avatar
BOBAH
Уже с Приветом
Posts: 9885
Joined: 18 Apr 2000 09:01
Location: Moscow -> VA -> Boston, MA

DB2 на AIX

Post by BOBAH »

Странные вилы обнаружились.
AIX 5.2 DB2 7.2.8 (FixPak 10a). 32-х битный инстанс базы.
Пускаю тест (32 bits) в котором создается несколько конекшенов к базе. При попытке создать 4-й конекшен тест падает с ошибкой [IBM][CLI Driver] SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. SQLSTATE=55032
Это если ходить на локальную базу. Если ходить на удаленную - все в порядке.
Если тест пересобрать в 64 бита и ходить на 64-х битный инстанс, то тоже все в порядке.

Все рекомендации из дибитушной доки прочел - все настроено правильно. В момент выполнения теста на эту базу никто больше не ходит, поэтому превышения ограничения на количество сегментов памяти по-идее быть не может. В чем еще могут быть грабли?

Да, тот-же самый тест прекрасно работает на NT и Solaris.
zVlad
Уже с Приветом
Posts: 15311
Joined: 30 Apr 2003 16:43

Post by zVlad »

Do you have access to IBMLink?

I was able to find 33 items with search keyword = 'SQL1224N'
One of them was (see Local Fix information on the bottom) :

" ERROR DESCRIPTION:
' DIA8300C A memory heap error has occurred. ' and 0x8B0F0047
seen in db2diag.log messages . End-user might also report
SQL1224N on Connect to DB or other commands. Errors are
sporadic , although they might occur in a predictable frequency
(after each inst recycle) if using static workload .
.
Sample diag log snippet:
.
2003-08-16-03.36.51.777946 Instance:db2sta Node:000
PID:4153470(db2agent 0) TID:1 Appid:none
base sys utilities sqleGetAppCB Probe:100
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.36.51.785007 Instance:db2sta Node:000
PID:4153470(db2agent 0) TID:1 Appid:none
DRDA Application Server sqljsInitApp Probe:25
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.36.51.805189 Instance:db2sta Node:000
PID:4096102(db2agent 0) TID:1 Appid:none
base sys utilities sqleBuildAndRegisterAppGroup Probe:10
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.36.51.817638 Instance:db2sta Node:000
PID:4096102(db2agent 0) TID:1 Appid:none
base sys utilities sqleGetAppGroup Probe:10
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.36.51.830306 Instance:db2sta Node:000
PID:4096102(db2agent 0) TID:1 Appid:none
base sys utilities sqleGetAppCB Probe:100
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.36.51.845749 Instance:db2sta Node:000
PID:4096102(db2agent 0) TID:1 Appid:none
DRDA Application Server sqljsInitApp Probe:25
.
DIA8300C A memory heap error has occurred.
ZRC=0x8B0F0047
.
2003-08-16-03.52.14.011672 Instance:db2sta Node:000
PID:3825714(db2agent (idle) 0) TID:1 Appid:C0A87A78.EA94.000
DRDA Application Server sqljsInitAgent Probe:10 Database:STA
.
............. .
........

LOCAL FIX:
Set maxagents and num_poolagents equal in value."
User avatar
BOBAH
Уже с Приветом
Posts: 9885
Joined: 18 Apr 2000 09:01
Location: Moscow -> VA -> Boston, MA

Post by BOBAH »

Спасибо zVlad. Попробовал, но не помогло. Мы решили на это дело забить и использовать удаленную базу для 32 битных программ.
SiarheiH
Уже с Приветом
Posts: 297
Joined: 21 Mar 2002 10:01
Location: Minsk, BY -> central NJ

Re: DB2 на AIX

Post by SiarheiH »

BOBAH wrote:Странные вилы обнаружились.
Все рекомендации из дибитушной доки прочел - все настроено правильно.


Вообще то там где-то и есть рекомендация, что предпочтительнее использовать remote connect.

А вообще было бы интресно сначала увидеть db2diag.log в момент ошибки.

2zVlad, вы не нароком не на IBM работаете?
User avatar
BOBAH
Уже с Приветом
Posts: 9885
Joined: 18 Apr 2000 09:01
Location: Moscow -> VA -> Boston, MA

Re: DB2 на AIX

Post by BOBAH »

SiarheiH wrote:
BOBAH wrote:Странные вилы обнаружились.
Все рекомендации из дибитушной доки прочел - все настроено правильно.


Вообще то там где-то и есть рекомендация, что предпочтительнее использовать remote connect.


Что вобщем есть идиотизм, но как бы то ни было мне не кажется что мы тремя соединениями превышаем ограничение на количество сегмонтов памяти (10)

SiarheiH wrote:А вообще было бы интресно сначала увидеть db2diag.log в момент ошибки.



на момент ошибки:

2003-11-19-10.14.00.103474 Instance:db2inst1 Node:000
PID:44572(zendomain.exe) Appid:
oper_system_services sqlocshr2 Probe:200

0000 0018 ....


2003-11-19-10.14.00.144893 Instance:db2inst1 Node:000
PID:44572(zendomain.exe) Appid:
oper_system_services sqlocshr2 Probe:200

pSetHdl 4000 0000 4000 0000 0001 0000 0266 0028 @...@........f.(
0004 0000 ....

Остальные сообщения в логе одинковые типа:

2003-11-19-10.13.35.100458 Instance:db2inst1 Node:000
PID:42462(db2agent (DB2AIX72) 0) Appid:*LOCAL.db2inst1.031119150852
data_management sqldEscalateLocks Probe:2 Database:DB2AIX72

-- Lock Count, Target : 1144, 572
-- Table (ID) Name : (4;6) T47AIX2 .OPT_RESULTS
-- Locks, Request Type : 736, X
-- Result (0 = success): 0
zVlad
Уже с Приветом
Posts: 15311
Joined: 30 Apr 2003 16:43

Post by zVlad »

What about this (found in IBMLink as well):

----------------------------------------------------------------------------------------------------
PROBLEM SUMMARY:
All user of db2pe running AIX with sql1224n message
Installing db2 performance expert on AIX. The script turns on
extshm=on. This turns on shared Memory. Customer does not
want this turned on. User has both local and remoted databases
cataloged.
The EXTSHM is used to ext shared memory. The shared memory is
to avoid DB2 shwing the sql1224n error message."
------------------------------------------------------------------------------------------------------

To SiarheiH: No, I'm not an IBM guy. Moreover, I'm not DB2 UDB guy, I'm working on DB2 for OS/390. We have access to IBMLink because this is a part of the support from IBM.
SiarheiH
Уже с Приветом
Posts: 297
Joined: 21 Mar 2002 10:01
Location: Minsk, BY -> central NJ

Post by SiarheiH »

As of DB2 UDB V7.1 FP3 you can now use the EXTSHM environment variable on
AIX to iimplement AIX extended shared memory.
Prior to DB2 UDB Version 7.2 (DB2 Version 7.1 FixPack 3), EXTSHM was not
supported. Prior to AIX 4330-05, there was a defect
with EXTSHM.

Reference:
[url]www-1.ibm.com/servlet/support/manager?rs=71&rt=0&org=SW&doc=1009742[/url]

The above reference has the steps you need to take... enjoy!


Как указал zVlad, это одна из проблем DB2 на AIX, по линку в цитате есть подробное описание решения проблемы.
User avatar
BOBAH
Уже с Приветом
Posts: 9885
Joined: 18 Apr 2000 09:01
Location: Moscow -> VA -> Boston, MA

Post by BOBAH »

Спасибо ребята!

Только применение обоих методов (количество агентов в пуле и расширеная память) решило мои проблемы.

Кстати, в help про EXTSHM написано просто поставить как переменную среды и проэкспортировать. Но нигде не написано про установку ее через db2set. :x
SiarheiH
Уже с Приветом
Posts: 297
Joined: 21 Mar 2002 10:01
Location: Minsk, BY -> central NJ

Post by SiarheiH »

BOBAH, она не устанавливается через db2set, так как это системная переменная, если вы обратили внимание, то ее необходимо поставить перед запуском сервисов DB2.
User avatar
SGA
Posts: 14
Joined: 02 Apr 2003 18:59
Location: MA

Re: DB2 на AIX

Post by SGA »

BOBAH wrote:В чем еще могут быть грабли?
.


By default, AIX does not permit 32-bit applications to attach to more than 11 shared memory segments per process
For Java applications, the number of applications is limited to 1 shared memory segment per process.
When this limit is reached, DB2 returns SQLCODE -1224 on an SQL CONNECT.

The AIX environment variable EXTSHM can be used to increase the maximum number of shared memory segments to which a process can attach.

To use EXTSHM with DB2, do the following:

In client sessions:

export EXTSHM=ON

When starting the DB2 server:

export EXTSHM=ON
db2set DB2ENVLIST=EXTSHM
db2start

An alternative - to access the local database with TCP/IP loop-back by cataloging it as a remote node.
User avatar
BOBAH
Уже с Приветом
Posts: 9885
Joined: 18 Apr 2000 09:01
Location: Moscow -> VA -> Boston, MA

Post by BOBAH »

SiarheiH wrote:BOBAH, она не устанавливается через db2set, так как это системная переменная, если вы обратили внимание, то ее необходимо поставить перед запуском сервисов DB2.


перед запуском DB2 надо дать команду
db2set DB2ENVLIST=EXTSHM

Вон и SGA про это написал.
SiarheiH
Уже с Приветом
Posts: 297
Joined: 21 Mar 2002 10:01
Location: Minsk, BY -> central NJ

Post by SiarheiH »

Сорри, виноват.
Мало я на AIX'e сижу, а на Solaris такой проблемы нет.
:)

Return to “Вопросы и новости IT”