473,588 Members | 2,565 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

DB2 hangs on USEREXIT failure.

Running db2 8.2 ON aIX 5.3.

We have a third party USEREXIT program that periodically hangs for
some unknown reason.

Db2 generates error message to the diag log.
MESSAGE : Successfully archived log file S0011930.LOG to USEREXIT
from
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
DB2 was unable to confirm logs were archived.
MESSAGE : Successfully archived log file S0011931.LOG to USEREXIT
from
MESSAGE : Successfully archived log file S0011931.LOG to USEREXIT
from
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
MESSAGE : DB2 is waiting for log files to be archived.
DB2 was unable to confirm logs were archived.
MESSAGE : Successfully archived log file S0011932.LOG to USEREXIT
from
MESSAGE : Successfully archived log file S0011933.LOG to USEREXIT
from

The big problem is that if DB2 cannot archive the log file it hangs
with symptoms similar to a log path disk full condition. Transactions
time out and no new applications can connect to the DB. When I kill
the user exit program DB2 recovers.

Do anyone know the default behavior of DB2 when the userexit program
hangs? Is there a timeout setting anywhere?

Sep 13 '08 #1
2 5519
On Sep 13, 3:34*pm, Patrick Finnegan <finnegan.patr. ..@gmail.com>
wrote:
Running db2 8.2 ON aIX 5.3.

We have a third party USEREXIT program that periodically hangs for
some unknown reason.

Db2 generates error message to the diag log.

* * * * MESSAGE : Successfully archived log file S0011930.LOG to USEREXIT
from
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * DB2 was unable to confirm logs were archived.
* * * * MESSAGE : Successfully archived log file S0011931.LOG to USEREXIT
from
* * * * MESSAGE : Successfully archived log file S0011931.LOG to USEREXIT
from
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * MESSAGE : DB2 is waiting for log files to be archived.
* * * * DB2 was unable to confirm logs were archived.
* * * * MESSAGE : Successfully archived log file S0011932.LOG to USEREXIT
from
* * * * MESSAGE : Successfully archived log file S0011933.LOG to USEREXIT
from

The big problem is that if DB2 cannot archive the log file it hangs
with symptoms similar to a log path disk full condition. *Transactions
time out and no new applications can connect to the DB. *When I kill
the user exit program DB2 recovers.

Do anyone know the default behavior of DB2 when the userexit program
hangs? *Is there a timeout setting anywhere?

Problem was analyzed by DB2 laboratory which provided the following
answer:

"The message "DB2 was unable to confirm logs were archived." is
triggered when we timeout waiting on a response from the vendor
library.
The db2logmgr calls the Vendor code and then the db2loggr waits for
the db2logmgr to post that the archive attempt succeeded/failed.
However, the Vendor mechanism isn't returning back to the db2logmgr
with the expected success/fail.
The Vendor code just doesn't report back to the db2logmgr(). Since
the Vendor code has control, there is nothing that DB2 can do until
the
Vendor code returns control, in this case with an archive attempt
failed.

As for the possibility to use FAILARCHPATH to circumvent this, I am
afraid that this not possible.
FAILARCHPATH will come into play once the NUMARCHRETRY and
ARCHRETRYDELAY have been exhausted.
But ArchRetryDelay and NumArchRetry will not be in the picture until
the Vendor code returns control to the db2logmgr with a failure return
code, therefore,
the failarchpath is not in play here at all.

This hang condition in the vendor code must somehow be broken to allow
DB2 to once again operate properly. If instead, the hang condition can
be broken
from the Vendors side (ie. hardware shutdown, Vendor code timeout,
etc.) then it is likely that DB2 would recover without recycling the
instance.
(in this case they killed the istance to recover the situation)
I would suggest that you contact Netbackupsuppor t to investigate
this."
For another customer who had the same hangs, the problem is that when
a tape drive was not available the delay causes DB2 to abort the
backup and retry later.

The problem seems to be when DB2 sent the logs over to VENDOR, and he
tape was not available at this time, being used by another
source to backup their files, and then when one is free, it will
acknowledge DB2's request.

The suggested soultion was on NetBackup, in particular using the
NetBackup Disk Staging Storage Unit.
Was suggested to use this Disk Staging Storage Unit for you DB2
archive log backups.

This type of storage unit would always be available for the archive
logs backup. There is no delay waiting for a tape drive to be
available.

The images written to the DSSU are then moved to NetBackup tape to
complete the data backup.
Sep 27 '08 #2
Ian
Patrick Finnegan wrote:
Was suggested to use this Disk Staging Storage Unit for you DB2
archive log backups.

This type of storage unit would always be available for the archive
logs backup. There is no delay waiting for a tape drive to be
available.

The images written to the DSSU are then moved to NetBackup tape to
complete the data backup.
I have had similar issues with NetBackup -- the NetBackup for DB2
module is not a great citizen when the NetBackup master server is
busy. The agent writes logs (in /usr/openv/netbackup/...) that
the job is sitting in the queue... Meanwhile DB2 is hosed.

Our solution (besides killing the instance) is to have the NetBackup
admin kill the job on the netbackup server -- this causes the
module to return control to DB2.

In general, though, pushing archive logs directly to tape is never
a very good idea. Best practice is to do exactly what you ended up
doing.
Oct 1 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
8503
by: anuradha.k.r | last post by:
hi, i am writing a socket program in python,both client side and server side.I've written the client side which is working perfectly fine(checked it against server program written in C).but as for my server program written in python it simply hangs.it does not show any error also.I've tried sample programs available .I don understand what the reason is as i am quite new to it. here is teh server side program: ///////////////////////
6
3478
by: Chris Connett | last post by:
I have an interesting problem with eval(). ---Background Info--- The program I'm working on launches a separate process with a popen to do some highly specialized processing of input, then this process leaves resultant data structured in files, in python syntax, at a known absolute path, which is then read in, eval()'ed, and processed further. It works fine when there are no errors in processing by this external program, but when there...
4
1795
by: Bren | last post by:
In the code below I'm trying to create a directory. It works on the production server, but it doesn't on my dev server; I'm running XP Pro, but I don't belong to a domain; I'm running it in a workgroup instead. I've enabled the write option in IIS on the directory. Because I'm not in a domain, there's no security tab on the property dialog for the folder in Windows Explorer, so I can't assign IUSR access right there. Do you have any...
0
1286
by: Guoping Jiang | last post by:
Hi, We have a DB2 UDB v7.2 (with Fixpak 6) database (named, say, PRODDB) running on a RS/6000 machine (pSeries) with AIX 5.2 (Maintenance Level 1). The database is not partitioned. Both LOGRETAIN & USEREXIT are turned on. I have compiled the sample userexit program db2uext2.c(disk) and put it under ${INSTANCE_HOME}/sqllib/adm
1
1205
by: NikP | last post by:
Hi We got a problem of this kind , we got several machines with different level of db2 from 6 to 8 , all of them have the userexit enable for backing-up to a tsm server , we got no problem with all the machines , except 2 of them both with AIX v 4.3 , db2 version 6.1.027 and tsm 5.1.7. We have compiled the db2uext2 individually on both machine ,the strange
11
7812
by: BizTalk Architect | last post by:
Hello, I am days into this problem and I cant make heads or tails of it. Please post suggestions, I dont care how crazy they sound. Scenario: I have a TAPI C# application. (TAPI 3.0)
1
2181
by: Divakar | last post by:
Hi, We are getting the following error while compiling the UserExit program. Not sure where the problem is. We are using the IBM supplied UserExit sample program. We have changed some variables according to our environment. DB2 8.2 on HP-UX. Using gcc compiler. Errors are as below:
37
4941
by: PeterOut | last post by:
I am using MS Visual C++ 6.0 on Windows XP 5.1 (SP2). I am not sure if this is a C, C++ or MS issue but fscanf has been randomly hanging on me. I make the call hundreds, if not thousands, of times but it hangs in different places with the same data. The offending code follows. ReadFile(char *csFileName) { float fFloat1, fFloat2;
1
2192
by: Patrick Finnegan | last post by:
The db2 diag log shows the last log file archived was S0011941.LOG. cat db2diag.log| grep -i archived MESSAGE : Successfully archived log file S0011938.LOG to USEREXIT from MESSAGE : Successfully archived log file S0011939.LOG to USEREXIT from MESSAGE : Successfully archived log file S0011940.LOG to USEREXIT from MESSAGE : Successfully archived log file S0011941.LOG to USEREXIT from However the db config examined after archive...
0
7929
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
7860
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8222
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8354
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8223
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
5726
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5398
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3847
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2371
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.