Saturday, April 10, 2010

Upgrade to DB2 9.1 - failed to start

We upgraded from DB2 version 8.1 to DB2 version 9.1, including fixpack 4a.
The migration of instance was successful, and upgraded DB2 started successfully ... until the next restart of DB2.

DB2 had to be restarted due to a scheduled O/S maintenance upgrade but failed to start with the following error :-
$ db2start
11/06/2009 09:12:36 0 0 SQL1042C An unexpected system error occurred.
SQL1032N No start database manager command was issued. SQLSTATE=57019

In ~db2home/sqllib/db2dump/db2diag.log

2009-11-06-09.11.36.117352+660 I899974A1641 LEVEL: Event
PID : 14156 TID : 1 PROC : db2start
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, base sys utilities, sqleStartStopSingleNode, probe:1130
DATA #1 : String, 42 bytes
/home/function/ldapdb2/sqllib/adm/db2star2
DATA #2 : Hexdump, 256 bytes
0xFFFFFFFF7FFE8F30 : 2F68 6F6D 652F 6675 6E63 7469 6F6E 2F6C /home/function/l
0xFFFFFFFF7FFE8F40 : 6461 7064 6232 2F73 716C 6C69 622F 6164 dapdb2/sqllib/ad
0xFFFFFFFF7FFE8F50 : 6D2F 6462 3273 7461 7232 004E 4F4D 5347 m/db2star2.NOMSG
0xFFFFFFFF7FFE8F60 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8F70 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8F80 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8F90 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FA0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FB0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FC0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FD0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FE0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE8FF0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE9000 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE9010 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0xFFFFFFFF7FFE9020 : 0000 0000 0000 0000 0000 0000 0000 0000 ................

2009-11-06-09.11.37.614178+660 I901616A360 LEVEL: Severe
PID : 14160 TID : 1 PROC : db2sysc 0
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, oper system services, sqloInitPriorityManagementDaemon, probe:30
MESSAGE : ZRC=0x00000016=22
DIA8022C Incompatible data type "" used with an EXECUTE or OPEN.

2009-11-06-09.11.37.618462+660 E901977A384 LEVEL: Error (OS)
PID : 14160 TID : 1 PROC : db2sysc 0
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, oper system services, sqloInitPriorityManagementDaemon, probe:35
MESSAGE : ZRC=0x83000016=-2097151978
CALLED : OS, -, unspecified_system_function
OSERR : EINVAL (22) "Invalid argument"

2009-11-06-09.11.37.619159+660 I902362A283 LEVEL: Severe
PID : 14160 TID : 1 PROC : db2sysc 0
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, oper system services, sqloInitEDUServices, probe:3040
MESSAGE : ZRC=0x83000016=-2097151978

2009-11-06-09.12.36.879551+660 E902646A1389 LEVEL: Severe (OS)
PID : 14158 TID : 1 PROC : db2star2
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, oper system services, sqloWaitIPCWaitPost, probe:100
MESSAGE : ZRC=0x83000023=-2097151965
CALLED : OS, -, msgrcv
OSERR : ENOMSG (35) "No message of desired type"
DATA #1 : timeout value, 4 bytes
0
DATA #2 : String, 187 bytes
{
pc = 0x0
cs = {
lock = { 0xFF [ locked ] }
identity = sqlo_waitpost::cs (6)
}

state = 0x2
guard = initialized
flags = 0x2
numWaiters = 1
}
DATA #3 : ipc waitpost, PD_TYPE_SQLO_IPCWAITPOST, 24 bytes
0x00000002000400B8 : 0000 0000 FFCC 0006 0000 0002 0000 ABFE ................
0x00000002000400C8 : 0002 0000 0000 0001 ........
DATA #4 : system V message queue identifier., PD_TYPE_SYSV_QUEUE_ID, 4 bytes
0x0700002F
DATA #5 : Bitmask, 8 bytes
0x0000000000000000
CALLSTCK:
[0] 0xFFFFFFFF7DB88BD8 sqloWaitIPCWaitPost + 0x4C0
[1] 0x0000000100008A30 DB2StartMain + 0x4850
[2] 0x00000001000040BC _start + 0x17C
[3] 0x0000000000000000 ?unknown + 0x0
[4] 0x0000000000000000 ?unknown + 0x0
[5] 0x0000000000000000 ?unknown + 0x0
[6] 0x0000000000000000 ?unknown + 0x0
[7] 0x0000000000000000 ?unknown + 0x0
[8] 0x0000000000000000 ?unknown + 0x0
[9] 0x0000000000000000 ?unknown + 0x0

2009-11-06-09.12.36.886516+660 I904036A378 LEVEL: Error
PID : 14158 TID : 1 PROC : db2star2
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, base sys utilities, DB2StartMain, probe:660
MESSAGE : db2sysc exited prematurely. sqlcode :
DATA #1 : Hexdump, 4 bytes
0xFFFFFFFF7FFF5A2C : 8300 0023 ...#

2009-11-06-09.12.36.887235+660 I904415A353 LEVEL: Error
PID : 14158 TID : 1 PROC : db2star2
INSTANCE: ldapdb2 NODE : 000
FUNCTION: DB2 UDB, base sys utilities, DB2StartMain, probe:670
MESSAGE : db2syscPID :
DATA #1 : Hexdump, 4 bytes
0xFFFFFFFF7FFF3C1C : 0000 3750 ..7P

===

Solution

Post-installation of DB2 fixpacks, it is necessary to update each instance in DB2

As root
To check for instances associated to DB2
/opt/IBM/db2/V9.1/instance/db2ilist
DB2DIR/instance/db2ilist

To update each instance
/opt/IBM/db2/V9.1/instance/db2iupdt ldapdb2
DB2DIR/instance/db2iupdt iname

RESULT: DBI1070I Program db2iupdt completed successfully.


As instance owner (ldapdb2)
Optional - Update the system catalog objects in your databases to support the fix pack
db2updv9 -d ldapdb2
db2updv9 -d dbname

RESULT: db2updv9 completed successfully for database 'ldapdb2'.

Also ensure Etrust daemon retrust binaries before restarting DB2. DB2 started up without a problem.

Sunday, March 28, 2010

Outlook 2003 not starting - Windows 7 x64

Recently upgraded my OS to Windows 7 x64(64 bit) Ultimate Edition. Then installed full version MS Office 2003.
All Office 2003 started up successfully except for Outlook.
During the start up phase for Outlook 2003, Windows 7 will prompt and complain that the application is not responding and did not start correctly. Tried running Outlook 2003 as Administrator - failed.

Solution
Installed MS Office Service Pack 3, restarted my computer.
Outlook 2003 worked like a charm.

Thursday, July 23, 2009

WAS Integrated Solutions Console log out of Tivoli Access Manager SSO

We have implemented the following
  • Tivoli Access Manager 6.1 for e-Business (base components)
  • TAM WebSEAL 6.1
  • WebSphere Application Server 6.1
  • Deployed Web Portal Manager 6.1 as a plugin for WAS Integrated Solutions Console
  • Configured Trust Association Interceptor Plus(TAI++) for Single Sign-on
  • Configured WAS ISC(Admin Console) and WPM to be utilise TAM's SSO credential
So we have created a WebSEAL junction to access WAS ISC and ultimately access WPM in the drop down menu using WebSEAL SSO credential.
The problem which we have encountered was deciding how to
implement a synchronised logout from WAS ISC and WebSEAL. Native behaviour when clicking the Logout link, ./ibm/console/logout.do, the user is only logged out of the WAS ISC. The problem however is, its not a total logout from WebSEAL SSO session, as you can revalidate into the WAS ISC without manual reauthentication if using the same browser (utilising TAM SSO credential). This problem can be described in more detail on this link http://www.ibm.com/developerworks/tivoli/library/t-tamtai/ (in the Security Issues section, as WebSEAL and WAS authentication are two distinct HTTP sessions which are not synchronised)

There is the option where you can redirect the logout link to use solely the TAM's WebSEAL logout command, pkmslogout, and this will destroy TAM SSO credential and logout of WebSEAL's session. However WAS authenticated session is still logged in, and you may encounter the problem scenario as described at link
http://www.ibm.com/developerworks/tivoli/library/t-tamtai/ in the Security Issues section.

So the solution that we required was to logout from WAS and then WebSEAL session. Using the following link as reference http://publib.boulder.ibm.com/infocenter/ltscnnct/v1r0/index.jsp?topic=/com.ibm.help.lotus.connections.doc/t_secure_with_tam_102.html, we can to this conclusion

(1) Have IBM HTTP web server running
(2) Configure httpd.conf file to include rewrite rules (you can also include RewriteCond if you wanted)
  • RewriteRule /(.*)/logout(.*) /ibm/console/ibm_security_logout?logoutExitPage=../../../pkmslogout [noescape,L,R]
So the above rewrite rule will log the user out of the WAS session, then direct the logout request to the TAM's WebSEAL logout command which will logout of the SSO session.

(3) Ensure also that httpd.conf has the following lines not commented out
  • LoadModule rewrite_module modules/mod_rewrite.so
  • RewriteEngine On
Hope the above information helps.

Monday, July 20, 2009

CloudScape / DB2 Error - Database has exceeded largest log file number 4,194,303

When using Tivoli Directory Integrator to convert and integrate different sources of data, I encountered the following error :-
ERROR XSLAK: Database has exceeded largest log file number 4,194,303.
at db2j.de.b.newException(Unknown Source)
at db2j.ci.g.qm_(Unknown Source)
at db2j.ci.g._t6(Unknown Source)
at db2j.ci.g.checkpoint(Unknown Source)
at db2j.ci.g.recover(Unknown Source)

The appropriate solution that I found was simply increase the max file log id which is detailed in this article, http://osdir.com/ml/apache.db.derby.devel/2005-05/msg00685.html
However with little knowledge of cloudscape and integrator, and much more importantly little patience - I went with a more aggressive approach. Within the ./CloudScape/log directory which contains the log files -
log4194300.dat
log4194301.dat

log4194302.dat
I removed these dat files and restarted the TDI job. Voila! The job kicked off successfully and produced the resulting xml file (or whatever output file) correctly.

NOTE: I left the following files untouched
logmirror.ctrl
log.ctrl