By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,610 Members | 2,310 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,610 IT Pros & Developers. It's quick & easy.

sql1042C error when I tried to activate a DB

P: 5
Hi everybody,

I have a very strange problem with one DB (only one in a list of 21).

This DB is used by a Java application and work fine since a couple of years. This week the application stop responding, throwing this java the error :

Cannot create PoolableConnectionFactory ([IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004
)


After a verification, the db was not Active so I tried to activate it (by clicking the "connect" link in Control center) a I got the error (obviously !):

([IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004


Since I cant access any parameter of this database if it does not start, I don't know how to solve my problem.


I tried to restore the file system of this DB from our backup but I got the same error.


If I refer to Db2 messages site, they suggest to reinstall the database manager or Db2 entirely. I'm not sure it's a good idea to reinstall for two reason :

1- we have db2 warehouse on the same server and dont want to fuck it up with a reinstall.
2- Other databases on this server works fine.

If reinstall is the only solutions, could I reinstall the database manager without any problem (data lost, broke warehouse link,...)?

I'm facing a wall... and need help as soon as possible

PS : we are using v8.1 on windows

Thanks in advance
Hugues
Sep 19 '07 #1
Share this Question
Share on Google+
8 Replies


docdiesel
Expert 100+
P: 297
Hi,

check the db2diag.log file for the reason of this. I guess you might find some error indicating that memory could not be allocated.

You're running the 32bit version of DB2 on 32bit Window$? Then it may be a limitation to the 32bit LUW DB2 version that you ran into. Although your server might have lots of RAM available, you may get a "no memory" error by DB2.

32bit means all user processes and therefore DB2, too, are limited to 2 GB userspace RAM. This also limits database shared memory and instance shared memory.

This all would take too long to describe here. You'll find more information at http://www.ibm.com/developerworks/db...6qi/index.html and possibly even the solution.

Regards, Bernd
Sep 19 '07 #2

P: 5
Thanks for the response Bernd ,

Yes we are on 32 bit, but if it's a version limitation why this problem occurs only with this DB ?

If I stop all others databases the problem still the same. I'd take a look at db2diag.log and found this (see at the end of the post).

What does it mean by "data does not exist". I wish i did not lost everything Seems to :-( but if I open the .dat file from the file system I can see lot of data between the "encrypted" text

Do you know what is the signification of "marked as bad" ?

Is it possible to restore a database from the file system file like in Sql Server (by copying the mdf file and attach a new DB) ?


Hugues


2007-09-19-13.49.38.748000-240 I79111629H388 LEVEL: Error
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgolf, probe:320
RETCODE : ZRC=0x870F0009=-2029060087=SQLO_EOF "the data does not exist"
DIA8506C Unexpected end of file was reached.

2007-09-19-13.49.38.758000-240 I79112019H530 LEVEL: Error
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgolf, probe:320
MESSAGE : Filename :
DATA #1 : Hexdump, 46 bytes
0x04AEF324 : 443A 5C44 4232 5C4E 4F44 4530 3030 305C D:\DB2\NODE0000\
0x04AEF334 : 5351 4C30 3030 3034 5C53 514C 4F47 4449 SQL00004\SQLOGDI
0x04AEF344 : 525C 5330 3030 3030 3030 2E4C 4F47 R\S0000000.LOG

2007-09-19-13.49.38.758000-240 I79112551H321 LEVEL: Error
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgole, probe:1440
MESSAGE : Error -2045771763 opening database log extent 0:

2007-09-19-13.49.38.758000-240 I79112874H398 LEVEL: Error
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgicl, probe:2130
RETCODE : ZRC=0x8610000D=-2045771763=SQLP_BADLOG "Log File cannot be used"
DIA8414C Logging can not continue due to an error.

2007-09-19-13.49.38.758000-240 I79113274H404 LEVEL: Error
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgLoggrInit, probe:1150
RETCODE : ZRC=0x8610000D=-2045771763=SQLP_BADLOG "Log File cannot be used"
DIA8414C Logging can not continue due to an error.

2007-09-19-13.49.38.758000-240 I79113680H160 LEVEL: Error
PID:3220 TID:3796 NODE:000 Title: SQLP_DBCB
Dump File:C:\PROGRA~1\IBM\SQLLIB\DB2\32203796.000

2007-09-19-13.49.38.768000-240 I79113842H405 LEVEL: Severe
PID : 3220 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
FUNCTION: DB2 UDB, data protection, sqlpgasn, probe:4000
MESSAGE : Logging can not continue due to an error.
DATA #1 : Hexdump, 4 bytes
0x04AEFC94 : 0000 0000 ....

2007-09-19-13.49.38.778000-240 I79114249H461 LEVEL: Severe
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, data protection, sqlpgint, probe:3640
RETCODE : ZRC=0x8610000D=-2045771763=SQLP_BADLOG "Log File cannot be used"
DIA8414C Logging can not continue due to an error.

2007-09-19-13.49.38.778000-240 I79114712H435 LEVEL: Severe
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, base sys utilities, sqledint, probe:120
MESSAGE : DiagData
DATA #1 : Hexdump, 4 bytes
0x04119020 : 0D00 1086 ....

2007-09-19-13.49.38.778000-240 I79115149H414 LEVEL: Error
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, base sys utilities, sqledint, probe:120
DATA #1 : Hexdump, 4 bytes
0x04119020 : 0D00 1086 ....

2007-09-19-13.49.38.778000-240 E79115565H372 LEVEL: Severe
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, base sys utilities, sqleMarkDBad, probe:10
MESSAGE : ADM7518C "SYNKGPR " marked bad.

2007-09-19-13.49.38.798000-240 I79115939H443 LEVEL: Severe
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, base sys utilities, sqleFirstConnect, probe:100
MESSAGE : DiagData
DATA #1 : Hexdump, 4 bytes
0x03FA1B14 : EEFB FFFF ....

2007-09-19-13.49.38.808000-240 I79116384H466 LEVEL: Severe
PID : 3220 TID : 3404 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SYNKGPR
APPHDL : 0-16 APPID: *LOCAL.DB2.070919174938
FUNCTION: DB2 UDB, base sys utilities, sqlescln, probe:24
DATA #1 : String, 22 bytes
sqlm_d_exit is failed.
DATA #2 : Hexdump, 4 bytes
0x04118D20 : 0100 0000
Sep 19 '07 #3

P: 5
Thanks for the response,

I'd submit new detail on the thread after reading your reply. Could you check this ?

Hi,

check the db2diag.log file for the reason of this. I guess you might find some error indicating that memory could not be allocated.

You're running the 32bit version of DB2 on 32bit Window$? Then it may be a limitation to the 32bit LUW DB2 version that you ran into. Although your server might have lots of RAM available, you may get a "no memory" error by DB2.

32bit means all user processes and therefore DB2, too, are limited to 2 GB userspace RAM. This also limits database shared memory and instance shared memory.

This all would take too long to describe here. You'll find more information at http://www.ibm.com/developerworks/db...6qi/index.html and possibly even the solution.

Regards, Bernd
Sep 19 '07 #4

docdiesel
Expert 100+
P: 297
Hi,

looks like something very bad did happen to the log file. Seems to be there, but something inside is wrong. Did you encounter a disc full error lately?

You said you tried a restore but got the same error afterwards. Do you have an earlier backup to restore?

A restore of the whole db directory (in your case SQL00004) often works, but it's not recommended. You could try it. Stop the instance, move/rename the SQL00004 folder, restore from backup device. On connect DB2 will try a crash recovery. Maybe working, but no guarantee! Another way may be renaming the logs, so that DB2 thinks there's none. Btw., is your parameter LOGRETAIN set to RECOVERY or OFF?

Regards, Bernd
Sep 20 '07 #5

P: 5
Hi,

Seems to be there, but something inside is wrong. Did you encounter a disc full error lately?
Nothing about disc full but a problem with the log file on another DB : msg=Database transaction log is full.

I saw that this "other" BD used log in SQL0004 (I don't understand why it does not use log in its db directory ?!?) then maybe the problem originate from this log error. I'll try to rename the log file as you mention.

You said you tried a restore but got the same error afterwards. Do you have an earlier backup to restore?
yes, but its not a DB2 backup but a file system backup from last week, before the problem occurs.

Btw., is your parameter LOGRETAIN set to RECOVERY or OFF?

Since my DB dont want to start (activate), how could I consult its parameters ? By now, I cant do anything with this DB


Thanks again
Hugues
Sep 20 '07 #6

docdiesel
Expert 100+
P: 297
HI,

Nothing about disc full but a problem with the log file on another DB : msg=Database transaction log is full.
This just means that the capacity of the log file(s) was exhausted. This may occure easily if you e.g. start a huge insert and your log files are too small. Doesn't do any harm.

You say the other db was using logs in a foreign db's folder? This is weird. But even though it shouldn't and no matter how that happened - if it is that way then this will have corrupted the log files of your db.

At the current moment I see no other way than to try the restore of the filesystem backup, to hope that it was taken while the db was inactive and therefore offline, and to wish you good luck.

Regards, Bernd

P.S.: Don't forget to repair the other messy db before doing the restore.
Sep 20 '07 #7

P: 5
thanks for your help Bernd but we work to much on that problem.

We finally restored the entire VM of this DB server and migrate the DB from the restored server to the production server (with another DB name).

thanks again
Hugues
Sep 24 '07 #8

docdiesel
Expert 100+
P: 297
Hi,

you're welcome. Glad to hear you got the DB working again.

Finally, I have a question to you. You wrote that you're running the DB2 server within a VM. Cloud you specify which kind of VM (LPAR,Vmware,Xen,...) and how your experiences are concerning reliability and performance?

Regards, Bernd
Sep 24 '07 #9

Post your reply

Sign in to post your reply or Sign up for a free account.