home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC66195 Status: Geschlossen

INSTANCE MAY TRAP AFTER RESTORE OF EXISTING DATABASE WHEN ROLL FORWARD
COMMANDS ARE ISSUED

Produkt:
DB2 FOR LUW / DB2FORLUW / 910 - DB2
Problembeschreibung:
The instance many trap after a restore of an existing database 
when a Roll Forward command is issued.  The Roll Forward command 
may include a check of the status of the Roll Forward as well as 
the actual command to start the Roll Forward.  The trap is due 
to a timing issue during the activation of different processes / 
threads. 
 
The the db2loggr process / thread will fail with a signal 11: 
 
2010-01-30-02.12.46.280761+060 E339182911E982     LEVEL: Severe 
PID     : 17712                TID  : 47238155786528  PROC : 
db2loggr (SAMPLE) 0 
INSTANCE: db2inst1             NODE : 000 
FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler, 
probe:20 
DATA #1 : Signal Number Recieved, 4 bytes 
11 
 
And will have the following stack: 
       sqlbInitEDU 
       sqlpgasn 
       sqloCreateEDU 
       sqloRunGDS 
       sqloInitEDUServices 
       sqloSystemControllerMain 
       sqloRunInstance 
       DB2main 
       main 
 
The problem is timing dependent, i.e. not always reproducible. 
The user can use a non-intrusive db2trc command to change the 
timing, thus work around the issue. In the same manner, db2trc 
can be used to reproduce the crash. Sample steps to recreate the 
crash: 
 
Setup: 
====== 
Create a database. Take an online backup while there is activity 
going on the database. 
 
session 1: db2 create db test 
session 1: db2 update db cfg for test using logretain yes 
session 1: db2 backup db test to /dev/null 
session 1: db2 backup db test online 
session 1: db2 connect to test 
session 1: db2 "create table t1 (c1 char(100))" 
session 1: db2 "insert into t1 values ('aaaaaaaaa')" 
session 1: while [ 1 ]; do db2 "insert into t1 select * from 
t1"; done 
session 2: db2 backup db test online 
session 1: Ctrl-C 
session 1: db2 terminate 
 
Reproduce: 
========== 
session 1: db2 restore db test 
session 1: db2trc on -crash "DB2.SQLP.sqlpgLoggrPostInit.entry" 
-suspend 
session 1: db2 rollforward db test (this step will hang) 
session 2: db2trc off              (in order to end the hang) 
session 1: (the session will resume, the output will be:) 
 
SQL1224N  The database manager is not able to accept new 
requests, has 
terminated all requests in progress, or has terminated your 
particular request 
due to a problem with your request.  SQLSTATE=55032
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All.                                                         * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* The instance many trap after a restore of an                 * 
* existingdatabasewhen a Roll Forward command is issued.  The  * 
* Roll Forwardcommandmay include a check of the status of the  * 
* Roll Forward aswell asthe actual command to start the Roll   * 
* Forward.  The trap isdueto a timing issue during the         * 
* activation of differentprocesses /threads.The the db2loggr   * 
* process / thread will fail with a                            * 
* signal11:2010-01-30-02.12.46.280761+060 E339182911E982       * 
* LEVEL:SeverePID    : 17712                TID  :             * 
* 47238155786528  PROC :db2loggr (SAMPLE) 0INSTANCE: db2inst1  * 
*           NODE : 000FUNCTION: DB2 UDB, oper system           * 
* services,sqloEDUCodeTrapHandler,probe:20DATA #1 : Signal     * 
* Number Recieved, 4 bytes11And will have the following        * 
* stack:sqlbInitEDUsqlpgasnsqloCreateEDUsqloRunGDSsqloInitEDUSer 
* problem is timing dependent, i.e. not alwaysreproducible.The * 
* user can use a non-intrusive db2trc command to               * 
* changethetiming, thus work around the issue. In the same     * 
* manner,db2trccan be used to reproduce the crash. Sample      * 
* steps to recreatethecrash:Setup:======Create a database.     * 
* Take an online backup while there isactivitygoing on the     * 
* database.session 1: db2 create db testsession 1: db2 update  * 
* db cfg for test using logretain yessession 1: db2 backup db  * 
* test to /dev/nullsession 1: db2 backup db test onlinesession * 
* 1: db2 connect to testsession 1: db2 "create table t1 (c1    * 
* char(100))"session 1: db2 "insert into t1 values             * 
* ('aaaaaaaaa')"session 1: while [ 1 ]; do db2 "insert into t1 * 
* select * fromt1"; donesession 2: db2 backup db test          * 
* onlinesession 1: Ctrl-Csession 1: db2                        * 
* terminateReproduce:==========session 1: db2 restore db       * 
* testsession 1: db2trc on                                     * 
* -crash"DB2.SQLP.sqlpgLoggrPostInit.entry"-suspendsession 1:  * 
* db2 rollforward db test (this step will hang)session 2:      * 
* db2trc off              (in order to end thehang)session 1:  * 
* (the session will resume, the output will be:)SQL1224N  The  * 
* database manager is not able to accept newrequests,          * 
* hasterminated all requests in progress, or has terminated    * 
* yourparticular requestdue to a problem with your request.    * 
* SQLSTATE=55032                                               * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to Version 9.1 Fix Pack 9 or later.                  * 
****************************************************************
Local-Fix:
Despite the presence of the "-crash" option of db2trc, these 
steps will not cause any crash or other damage to the system. 
Instead, a certain code path will merely be put to sleep, and 
later resumed. 
 
session 1: db2 restore db test 
session 1: db2trc on -crash "DB2.SQLP.sqlpterm.entry" -suspend 
session 1: db2 rollforward db test (this step will hang) 
session 2: db2trc off              (in order to end the hang) 
session 1: (the session will resume, the output will be:) 
 
                                Rollforward Status 
 
Input database alias                   = test 
Number of nodes have returned status   = 1 
<..etc, the regular success message...>
verfügbare FixPacks:
DB2 Version 9.1 Fix Pack 9  for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 10  for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 11  for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 12  for Linux, UNIX and Windows

Lösung
Problem was first fixed in Version 9.1 Fix Pack 9.
Workaround
keiner bekannt / siehe Local-Fix
Bug-Verfolgung
Vorgänger  : APAR is sysrouted TO one or more of the following: IC66272 IC66274 IC66283 
Nachfolger : 
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
10.02.2010
19.04.2010
19.04.2010
Problem behoben ab folgender Versionen (IBM BugInfos)
9.1.FP9
Problem behoben lt. FixList in der Version
9.1.0.9 FixList