Странные вилы обнаружились.
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.
DB2 на AIX
-
- Уже с Приветом
- Posts: 9885
- Joined: 18 Apr 2000 09:01
- Location: Moscow -> VA -> Boston, MA
-
- Уже с Приветом
- Posts: 15311
- Joined: 30 Apr 2003 16:43
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."
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."
-
- Уже с Приветом
- Posts: 9885
- Joined: 18 Apr 2000 09:01
- Location: Moscow -> VA -> Boston, MA
-
- Уже с Приветом
- Posts: 297
- Joined: 21 Mar 2002 10:01
- Location: Minsk, BY -> central NJ
Re: DB2 на AIX
BOBAH wrote:Странные вилы обнаружились.
Все рекомендации из дибитушной доки прочел - все настроено правильно.
Вообще то там где-то и есть рекомендация, что предпочтительнее использовать remote connect.
А вообще было бы интресно сначала увидеть db2diag.log в момент ошибки.
2zVlad, вы не нароком не на IBM работаете?
-
- Уже с Приветом
- Posts: 9885
- Joined: 18 Apr 2000 09:01
- Location: Moscow -> VA -> Boston, MA
Re: DB2 на AIX
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
-
- Уже с Приветом
- Posts: 15311
- Joined: 30 Apr 2003 16:43
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.
----------------------------------------------------------------------------------------------------
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.
-
- Уже с Приветом
- Posts: 297
- Joined: 21 Mar 2002 10:01
- Location: Minsk, BY -> central NJ
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, по линку в цитате есть подробное описание решения проблемы.
-
- Уже с Приветом
- Posts: 9885
- Joined: 18 Apr 2000 09:01
- Location: Moscow -> VA -> Boston, MA
-
- Уже с Приветом
- Posts: 297
- Joined: 21 Mar 2002 10:01
- Location: Minsk, BY -> central NJ
-
- Posts: 14
- Joined: 02 Apr 2003 18:59
- Location: MA
Re: DB2 на AIX
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.
-
- Уже с Приветом
- Posts: 9885
- Joined: 18 Apr 2000 09:01
- Location: Moscow -> VA -> Boston, MA
-
- Уже с Приветом
- Posts: 297
- Joined: 21 Mar 2002 10:01
- Location: Minsk, BY -> central NJ