REPAIR DBD complains about DB in use

Michael Ebert

REPAIR DBD complains about DB in use
Hello List,

I just discovered this little (?) problem in one of our development databases
(DB2 V5, OS390):

DSNT360I + ***********************************
DSNT361I + * DISPLAY DATABASE SUMMARY
* GLOBAL
DSNT360I + ***********************************
DSNT362I + DATABASE = DDS1J1 STATUS = RW
DBD LENGTH = 1928626453

Obviously something is shot (see the DBD Length). I tried to run the REPAIR
Utility with the TEST DBD keyword, after starting the DB (and later all TSs as
well) in UT mode. This is what I got:

OUTPUT START FOR UTILITY, UTILID = OSO031.REPAIR
REPAIR
DBD TEST DATABASE DDS1J1
DBD TEST STARTED FOR DATABASE DDS1J1
DATABASE DDS1J1 IS IN USE
DBD TEST COMPLETE FOR DATABASE DDS1J1
UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8

There are no threads using anything in DDS1J1. There are no stopped utilities
either. The same problem exists with at least one other DB that doesn't have an
obviously incorrect DBD length (DDS0J1 - it's related to the first one). It
works on several other DBs I tried. Any suggestions of what I can do next? Also,
can you relate any experiences using REPAIR DBD REBUILD?

Thanks

Dr. Michael Ebert
DB2 Database Administrator
aMaDEUS Data Processing
Erding / Munich, Germany



Bob Jeandron

Re: REPAIR DBD complains about DB in use
(in response to Max Scarpa)
We've used DBD rebuild about a year ago in one of our busiest production DB2s
(not for your exact problem) and it worked fine with no problems found as of
today. We only did this under recommendation from IBM. We also did the
REPAIR DBD DIAG on the problem database to collect more info on the problem.
>>> [login to unmask email]@inter2 01/02/01 05:45AM >>>
Hello List,

I just discovered this little (?) problem in one of our development databases
(DB2 V5, OS390):

DSNT360I + ***********************************
DSNT361I + * DISPLAY DATABASE SUMMARY
* GLOBAL
DSNT360I + ***********************************
DSNT362I + DATABASE = DDS1J1 STATUS = RW
DBD LENGTH = 1928626453

Obviously something is shot (see the DBD Length). I tried to run the REPAIR
Utility with the TEST DBD keyword, after starting the DB (and later all TSs as
well) in UT mode. This is what I got:

OUTPUT START FOR UTILITY, UTILID = OSO031.REPAIR
REPAIR
DBD TEST DATABASE DDS1J1
DBD TEST STARTED FOR DATABASE DDS1J1
DATABASE DDS1J1 IS IN USE
DBD TEST COMPLETE FOR DATABASE DDS1J1
UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8

There are no threads using anything in DDS1J1. There are no stopped utilities
either. The same problem exists with at least one other DB that doesn't have
an
obviously incorrect DBD length (DDS0J1 - it's related to the first one). It
works on several other DBs I tried. Any suggestions of what I can do next?
Also,
can you relate any experiences using REPAIR DBD REBUILD?

Thanks

Dr. Michael Ebert
DB2 Database Administrator
aMaDEUS Data Processing
Erding / Munich, Germany








Max Scarpa

Re: REPAIR DBD complains about DB in use
(in response to Michael Ebert)
Hi mebert

You didn't post any error message DSNxxxx, but take a look at :

http://techsupport.services.ibm.com/390/psd-adv.html

and search for PQ39794 or II11173.

HTH

Max Scarpa



Kurt Sahlberg

Re: REPAIR DBD complains about DB in use
(in response to Bob Jeandron)
Hello Michael,
There was a PTF for the incorrect DBD length.
Sorry I can't recall the fix #.
Kurt


>>> [login to unmask email] 01/02/01 05:45AM >>>
Hello List,

I just discovered this little (?) problem in one of our development databases
(DB2 V5, OS390):

DSNT360I + ***********************************
DSNT361I + * DISPLAY DATABASE SUMMARY
* GLOBAL
DSNT360I + ***********************************
DSNT362I + DATABASE = DDS1J1 STATUS = RW
DBD LENGTH = 1928626453

Obviously something is shot (see the DBD Length). I tried to run the REPAIR
Utility with the TEST DBD keyword, after starting the DB (and later all TSs as
well) in UT mode. This is what I got:

OUTPUT START FOR UTILITY, UTILID = OSO031.REPAIR
REPAIR
DBD TEST DATABASE DDS1J1
DBD TEST STARTED FOR DATABASE DDS1J1
DATABASE DDS1J1 IS IN USE
DBD TEST COMPLETE FOR DATABASE DDS1J1
UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8

There are no threads using anything in DDS1J1. There are no stopped utilities
either. The same problem exists with at least one other DB that doesn't have an
obviously incorrect DBD length (DDS0J1 - it's related to the first one). It
works on several other DBs I tried. Any suggestions of what I can do next? Also,
can you relate any experiences using REPAIR DBD REBUILD?

Thanks

Dr. Michael Ebert
DB2 Database Administrator
aMaDEUS Data Processing
Erding / Munich, Germany






Sandra Lakenburger

Re: REPAIR DBD complains about DB in use
(in response to Isaac Yassin)
I think the REPAIR DBD utility may require the database to now be stopped to
allow it to run.



Isaac Yassin

REPAIR DBD complains about DB in use
(in response to Kurt Sahlberg)
Hi,

I did it few times, no problem. Try to stop and start it before that, to see
if the "test" will give you better response.
I didn't get a dbsize like you got.


Isaac Yassin
DBMS & IT Consultant
[login to unmask email]



Michael Ebert

Re: REPAIR DBD complains about DB in use
(in response to Sandra Lakenburger)
Hello List,

thanks for all responses, on- and off-list. Unfortunately there was nothing that
helped me. Here's a short summary:

1) REPAIR DBD requires the DB to be in UT mode. There's a new PTF (UQ48011) that
can run REPAIR DBD DIAGNOSE/TEST in RW mode. We don't have it and it's no help
for REPAIR DBD REBUILD anyway. It's definitely not a vital PTF to have.
2) The PTF about the DBD length display (UQ33487) fixes the display for DBD
lengths>65536. We have it. Anyway the problem was not with the display; this is
more likely just a symptom.
3) There is an entry in the Utility Guide for MODIFY: Reclaiming DBD space. This
only applies to multi-table TSs when you've dropped a table (we only have a
handful of multi-table TSs and they're static). Also, reclaiming space just
means that entries from the OBIDMAP can be re-used. It does not release (free)
the space (as far as I can tell).
4) I did run REPAIR DBD REBUILD on a couple of other DBDs (up to 500K in length)
to check my procedure. To my surprise, the DBD length never changed: I had
thought the REPAIR REBUILD would release unused space. Apparently it doesn't.
This removes my main incentive for running it in the first place.
Does somebody know whether reducing the DBD size ("compressing" the DBD) is at
all possible? I'm pretty sure (without trying it) that a REORG on DBD01 is NOT
the answer.
5) Some info I've not mentioned in my original email: a couple of weeks before,
I've noticed the odd length display for the first time. I tried to run REPAIR
DBD TEST: both the job and DB2 immediately abended. After DB2 was up again a few
minutes later without any problem, the length displayed correctly. Since no
other problems have been reported, I then did something else.
Now the length problem has re-appeared, and I can't run REPAIR DBD: Database in
use. My suspicion is that there are a few fragments of the REPAIR utility in
SYSUTILX due to the abend (even though -DIS UTIL(*) displays nothing), and that
this is causing the Database In Use message (It does not explain why I get this
message for another DB as well).
I'm thinking about analysing SYSUTILX, or simply re-initialising it, but since
this probably would only get me back to where I was a few weeks ago, and since
there are no ill effects observed from the DBD problem I certainly have, I'll
probably put this on the back burner.

Dr. Michael Ebert
DB2 Database Administrator
aMaDEUS Data Processing
Erding / Munich, Germany


Hello List,

I just discovered this little (?) problem in one of our development databases
(DB2 V5, OS390):

DSNT360I + ***********************************
DSNT361I + * DISPLAY DATABASE SUMMARY
* GLOBAL
DSNT360I + ***********************************
DSNT362I + DATABASE = DDS1J1 STATUS = RW
DBD LENGTH = 1928626453

Obviously something is shot (see the DBD Length). I tried to run the REPAIR
Utility with the TEST DBD keyword, after starting the DB (and later all TSs as
well) in UT mode. This is what I got:

OUTPUT START FOR UTILITY, UTILID = OSO031.REPAIR
REPAIR
DBD TEST DATABASE DDS1J1
DBD TEST STARTED FOR DATABASE DDS1J1
DATABASE DDS1J1 IS IN USE
DBD TEST COMPLETE FOR DATABASE DDS1J1
UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8

There are no threads using anything in DDS1J1. There are no stopped utilities
either. The same problem exists with at least one other DB that doesn't have an
obviously incorrect DBD length (DDS0J1 - it's related to the first one). It
works on several other DBs I tried. Any suggestions of what I can do next? Also,
can you relate any experiences using REPAIR DBD REBUILD?

Thanks

Dr. Michael Ebert
DB2 Database Administrator
aMaDEUS Data Processing
Erding / Munich, Germany