Recovery question DB2 Z/OS

Larry Holford

Recovery question DB2 Z/OS
Hi All,

I am having trouble recovering a tablespace and need help, here is the
sequence of events.

1. Successfully ran an image copy of the tablespace (62 pages, 1722 rows).

2. Ran a BMC utility to rename a column (this really does a drop table and
create table command),
didn't do an unload of the data (my mistake), data now gone.

3. Tried running a Recovery of the tablespace using the previous image
copy from step 1.
- OUTPUT START FOR UTILITY, UTILID =
PSRCDDTA001
- RECOVER TABLESPACE DP1CD1.SCDDIST DSNUM ALL TOCOPY
DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00
- THE IMAGE COPY DATA SET DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00 WITH
DATE=20031202 AND
IS PARTICIPATING IN RECOVERY OF TABLESPACE
DP1CD1.SCDDIST
- MERGE STATISTICS FOR TABLESPACE DP1CD1.SCDDIST -

NUMBER OF
COPIES=1
NUMBER OF PAGES
MERGED=62
ELAPSED
TIME=00:00:00
- RECOVERY COMPLETE, ELAPSED
TIME=00:00:01
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

4. Ran create Index.
SET CURRENT SQLID = 'MGSYSADM';
---------+---------+---------+---------+---------+-------
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+-------

CREATE UNIQUE INDEX PRD.ICDDIST1 ON PRD.TCDDIST
(CONV_YEAR ASC,
DIST_NO ASC)
USING STOGROUP DB2PIX01
PRIQTY 96
SECQTY 96
FREEPAGE 0
PCTFREE 10
CLUSTER
BUFFERPOOL BP2
CLOSE NO
COPY YES;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--

COMMIT;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
---------+---------+---------+---------+---------+---------+--
DSNE617I COMMIT PERFORMED, SQLCODE IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 3
DSNE621I NUMBER OF INPUT RECORDS READ IS 19
DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 37

5. Ran a rebuild Index.
- OUTPUT START FOR UTILITY, UTILID = REBUILD
- REBUILD INDEX(PRD.ICDDIST1)
- INDEX NAME= PRD.ICDDIST1 IS EMPTY
- UNLOAD PHASE STATISTICS - NUMBER OF RECORDS PROCESSED=0
- UNLOAD PHASE COMPLETE - ELAPSED TIME=00:00:00
- BUILD PHASE STATISTICS - NUMBER OF KEYS=0 FOR INDEX PRD.ICDDIST1
- BUILD PHASE STATISTICS - NUMBER OF INDEXES=0
- BUILD PHASE COMPLETE, ELAPSED TIME=00:00:00
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4

6. Ran Runstats.
- OUTPUT START FOR UTILITY, UTILID = PSSDB2PA001
- RUNSTATS TABLESPACE(DP1CD1.SCDDIST) TABLE(ALL) INDEX(ALL) SHRLEVEL CHANGE
- SYSTABLEPART CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSTABLES CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSTABLESPACE CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSINDEXPART CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- INDEXSPACE IS EMPTY
- SYSINDEXES CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- RUNSTATS CATALOG TIMESTAMP = 2003-12-09-15.13.33.970244
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

7. Ran a select, no records!!!!
SELECT * FROM PRD.TCDDIST;
---------+---------+---------+---------+---------+---------+---------+--
CONV_YEAR DIST_NO PRIOR_MBRSHIP CURR_MBRSHIP MBR_INQ_RCVD
MBR_INQ_RCVD_DATE ELECT_CERT_RCVD ELECT_CERT_DATE ELECTION_DATE
LAST_CORRESP_DATE CURR_INT CONTACT_EMAIL
---------+---------+---------+---------+---------+---------+---------+--
DSNE610I NUMBER OF ROWS DISPLAYED IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100

8. Ran a DSN1PRNT, it show records in the table.
BD='0012'X PGSBID='01'X
20021005...B...B.N......N.......
.........[login to unmask email]
Y.US


BD='0012'X PGSBID='02'X
20021010.......|.N......N.......
.........[login to unmask email]



BD='0012'X PGSBID='03'X
20021015...@.....N......N.......
.........[login to unmask email]
RG

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Harold Lee

Re: Recovery question DB2 Z/OS
(in response to Larry Holford)
If what you did really did drop and recreate the table then you'll need to
use DSN1COPY to recover the old table. Create the old tablespace and table
and indexes then execute DSN1COPY, identify the source and target tablespace
and table (you may need to use DSN1PRNT against the imagecopy to identify
the OBIDs for the source tablespace and table - see the Diagnosis guide for
where you can find this information in the DSN1PRNT output), the source data
will come from your imagecopy. After you finish "loading" the table with
the data from the imagecopy then rebuild the indexes for the table and you
should be back to where you were before you started the column rename. Then
unload your data, redo the column rename and then reload the data.

I'm surprised that BMC didn't unload/load the data as part of the column
rename process.

Duane

-----Original Message-----
From: Larry Holford [mailto:[login to unmask email]
Sent: Wednesday, December 10, 2003 5:29 PM
To: [login to unmask email]
Subject: Recovery question DB2 Z/OS


Hi All,

I am having trouble recovering a tablespace and need help, here is the
sequence of events.

1. Successfully ran an image copy of the tablespace (62 pages, 1722 rows).

2. Ran a BMC utility to rename a column (this really does a drop table and
create table command),
didn't do an unload of the data (my mistake), data now gone.

3. Tried running a Recovery of the tablespace using the previous image
copy from step 1.
- OUTPUT START FOR UTILITY, UTILID =
PSRCDDTA001
- RECOVER TABLESPACE DP1CD1.SCDDIST DSNUM ALL TOCOPY
DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00
- THE IMAGE COPY DATA SET DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00 WITH
DATE=20031202 AND
IS PARTICIPATING IN RECOVERY OF TABLESPACE
DP1CD1.SCDDIST
- MERGE STATISTICS FOR TABLESPACE DP1CD1.SCDDIST -

NUMBER OF
COPIES=1
NUMBER OF PAGES
MERGED=62
ELAPSED
TIME=00:00:00
- RECOVERY COMPLETE, ELAPSED
TIME=00:00:01
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

4. Ran create Index.
SET CURRENT SQLID = 'MGSYSADM';
---------+---------+---------+---------+---------+-------
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+-------

CREATE UNIQUE INDEX PRD.ICDDIST1 ON PRD.TCDDIST
(CONV_YEAR ASC,
DIST_NO ASC)
USING STOGROUP DB2PIX01
PRIQTY 96
SECQTY 96
FREEPAGE 0
PCTFREE 10
CLUSTER
BUFFERPOOL BP2
CLOSE NO
COPY YES;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--

COMMIT;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
---------+---------+---------+---------+---------+---------+--
DSNE617I COMMIT PERFORMED, SQLCODE IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 3
DSNE621I NUMBER OF INPUT RECORDS READ IS 19
DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 37

5. Ran a rebuild Index.
- OUTPUT START FOR UTILITY, UTILID = REBUILD
- REBUILD INDEX(PRD.ICDDIST1)
- INDEX NAME= PRD.ICDDIST1 IS EMPTY
- UNLOAD PHASE STATISTICS - NUMBER OF RECORDS PROCESSED=0
- UNLOAD PHASE COMPLETE - ELAPSED TIME=00:00:00
- BUILD PHASE STATISTICS - NUMBER OF KEYS=0 FOR INDEX PRD.ICDDIST1
- BUILD PHASE STATISTICS - NUMBER OF INDEXES=0
- BUILD PHASE COMPLETE, ELAPSED TIME=00:00:00
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4

6. Ran Runstats.
- OUTPUT START FOR UTILITY, UTILID = PSSDB2PA001
- RUNSTATS TABLESPACE(DP1CD1.SCDDIST) TABLE(ALL) INDEX(ALL) SHRLEVEL CHANGE
- SYSTABLEPART CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSTABLES CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSTABLESPACE CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSINDEXPART CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- INDEXSPACE IS EMPTY
- SYSINDEXES CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- RUNSTATS CATALOG TIMESTAMP = 2003-12-09-15.13.33.970244
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

7. Ran a select, no records!!!!
SELECT * FROM PRD.TCDDIST;
---------+---------+---------+---------+---------+---------+---------+--
CONV_YEAR DIST_NO PRIOR_MBRSHIP CURR_MBRSHIP MBR_INQ_RCVD
MBR_INQ_RCVD_DATE ELECT_CERT_RCVD ELECT_CERT_DATE ELECTION_DATE
LAST_CORRESP_DATE CURR_INT CONTACT_EMAIL
---------+---------+---------+---------+---------+---------+---------+--
DSNE610I NUMBER OF ROWS DISPLAYED IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100

8. Ran a DSN1PRNT, it show records in the table.
BD='0012'X PGSBID='01'X
20021005...B...B.N......N.......
.........[login to unmask email]
Y.US


BD='0012'X PGSBID='02'X
20021010.......|.N......N.......
.........[login to unmask email]



BD='0012'X PGSBID='03'X
20021015...@.....N......N.......
.........[login to unmask email]
RG

----------------------------------------------------------------------------
-----
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home
page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select
"Join or Leave the list". If you will be out of the office, send the SET
DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins
can be reached at [login to unmask email] Find out the latest on
IDUG conferences at http://conferences.idug.org/index.cfm

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Paul A Redhead

Re: Recovery question DB2 Z/OS
(in response to Harold Lee)
Larry,
I think I understand you basically saying that you
(a) Took an Image Copy of the tablespace (FULL I hope)
(b) via software dropped and recreated the table in the tablespace
(c) recovered the tablespace.

In this situation the three magic numbers of importance to you are
the database id (DBID),
tablespace id (PSID - page set id) and the table id (OBID - OBject id).
Since you did not drop and
recreate the tablespace the DBID and PSID are kosher...when the RECOVERy
happend rows with
the old table id were put back. When DB2 looks for rows for the new table
(new table id) in that
tablespace it can't find them as there are none. It was possible to have
lucked out and gotten the same
table id for the new table, but chances were probably small.

The best course of action would be to use DSN1COPY from the existing
FULL image copy
(?SHRLEVEL REFERENCE?), there is no need to go to the trouble of recreating
tablespaces et al.

You can get all your magic numbers from the FULL image copy via two
invocations of DSN1COPY.
Page 0 is the header page and will contain the DBID and PSID. If you invoke
DSN1COPY something
like:

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(0),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and look for the field HPGOBID='12345678'X . The first 4 hex digits here
are the DBID and the
second 4 are the PSID.

You can get the OBID of the old table by printing any data page. The first
data page is page 2, and
so you may as well print that in the same way.

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(2),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and find the field in any of the data records PGSOBD='1234'X and this is
the OBID. You can get
the current table OBID from the DB2 catalog tables. Then do a DSN1COPY from
the FULL image
copy over the tablespace (probably STOP the tablespace first...) something
like:

//STEP1 EXEC PGM=DSN1COPY,PARM='FULLCOPY,OBIDXLAT,RESET'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSUT2 DD DSN=THE.DB2.PAGESET.NAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSXLAT DD *
oldDBID,newDBID
oldPSID,newPSID
oldOBID,newOBID
//*

I'm sure you'll work it out.

Paul.








Larry Holford <[login to unmask email]>@IDUGDB2-L.ORG> on 11/12/2003
10:28:57 AM

Please respond to DB2 Database Discussion list at IDUG
<[login to unmask email]>

Sent by: DB2 Data Base Discussion List <[login to unmask email]>


To: [login to unmask email]
cc:
Subject: Recovery question DB2 Z/OS


Hi All,

I am having trouble recovering a tablespace and need help, here is the
sequence of events.

1. Successfully ran an image copy of the tablespace (62 pages, 1722 rows).

2. Ran a BMC utility to rename a column (this really does a drop table and
create table command),
didn't do an unload of the data (my mistake), data now gone.

3. Tried running a Recovery of the tablespace using the previous image
copy from step 1.
- OUTPUT START FOR UTILITY, UTILID =
PSRCDDTA001
- RECOVER TABLESPACE DP1CD1.SCDDIST DSNUM ALL TOCOPY
DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00
- THE IMAGE COPY DATA SET DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00 WITH
DATE=20031202 AND
IS PARTICIPATING IN RECOVERY OF TABLESPACE
DP1CD1.SCDDIST
- MERGE STATISTICS FOR TABLESPACE DP1CD1.SCDDIST -

NUMBER OF
COPIES=1
NUMBER OF PAGES
MERGED=62
ELAPSED
TIME=00:00:00
- RECOVERY COMPLETE, ELAPSED
TIME=00:00:01
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

4. Ran create Index.
SET CURRENT SQLID = 'MGSYSADM';
---------+---------+---------+---------+---------+-------
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+-------

CREATE UNIQUE INDEX PRD.ICDDIST1 ON PRD.TCDDIST
(CONV_YEAR ASC,
DIST_NO ASC)
USING STOGROUP DB2PIX01
PRIQTY 96
SECQTY 96
FREEPAGE 0
PCTFREE 10
CLUSTER
BUFFERPOOL BP2
CLOSE NO
COPY YES;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--

COMMIT;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
---------+---------+---------+---------+---------+---------+--
DSNE617I COMMIT PERFORMED, SQLCODE IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 3
DSNE621I NUMBER OF INPUT RECORDS READ IS 19
DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 37

5. Ran a rebuild Index.
- OUTPUT START FOR UTILITY, UTILID = REBUILD
- REBUILD INDEX(PRD.ICDDIST1)
- INDEX NAME= PRD.ICDDIST1 IS EMPTY
- UNLOAD PHASE STATISTICS - NUMBER OF RECORDS PROCESSED=0
- UNLOAD PHASE COMPLETE - ELAPSED TIME=00:00:00
- BUILD PHASE STATISTICS - NUMBER OF KEYS=0 FOR INDEX PRD.ICDDIST1
- BUILD PHASE STATISTICS - NUMBER OF INDEXES=0
- BUILD PHASE COMPLETE, ELAPSED TIME=00:00:00
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4

6. Ran Runstats.
- OUTPUT START FOR UTILITY, UTILID = PSSDB2PA001
- RUNSTATS TABLESPACE(DP1CD1.SCDDIST) TABLE(ALL) INDEX(ALL) SHRLEVEL
CHANGE
- SYSTABLEPART CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSTABLES CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSTABLESPACE CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSINDEXPART CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- INDEXSPACE IS EMPTY
- SYSINDEXES CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- RUNSTATS CATALOG TIMESTAMP = 2003-12-09-15.13.33.970244
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

7. Ran a select, no records!!!!
SELECT * FROM PRD.TCDDIST;
---------+---------+---------+---------+---------+---------+---------+--
CONV_YEAR DIST_NO PRIOR_MBRSHIP CURR_MBRSHIP MBR_INQ_RCVD
MBR_INQ_RCVD_DATE ELECT_CERT_RCVD ELECT_CERT_DATE ELECTION_DATE
LAST_CORRESP_DATE CURR_INT CONTACT_EMAIL
---------+---------+---------+---------+---------+---------+---------+--
DSNE610I NUMBER OF ROWS DISPLAYED IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100

8. Ran a DSN1PRNT, it show records in the table.
BD='0012'X PGSBID='01'X
20021005...B...B.N......N.......
.........[login to unmask email]
Y.US


BD='0012'X PGSBID='02'X
20021010.......|.N......N.......
.........[login to unmask email]



BD='0012'X PGSBID='03'X
20021015...@.....N......N.......
.........[login to unmask email]
RG

---------------------------------------------------------------------------------

Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and
home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page
select "Join or Leave the list". If you will be out of the office, send
the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List
Admins can be reached at [login to unmask email] Find out the
latest on IDUG conferences at http://conferences.idug.org/index.cfm




************************************************************
Opinions contained in this e-mail do not necessarily reflect
the opinions of the Queensland Department of Main Roads,
Queensland Transport or National Transport Secretariat, or
endorsed organisations utilising the same infrastructure.
If you have received this electronic mail message in error,
please immediately notify the sender and delete the message
from your computer.
************************************************************

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Srini S Rajan

Re: Recovery question DB2 Z/OS
(in response to Paul A Redhead)
I have not tried it myself, but I read the following from the utilities
manual.

--------------------------------------------------------------------
The FROMCOPY image copy data set must have been created
| by one of the following utilities:

| COPY

# COPYTOCOPY

| LOAD inline image copy

| MERGECOPY

| REORG TABLESPACE inline image copy

which states that you can unload from the imagecopy set, I wonder will it
be easier for you
to unload the data from the imagecopy and reload it to the table.

Srini S Rajan (Known As Sundar)
Sr. Architect DBA
VDSI (9th Floor)
ISD: +91-44-22540281 (extn 3196)
VOIP - 813-987-8055(extn 5436)



[login to unmask email]
.QLD.GOV.AU To: [login to unmask email]
Sent by: "DB2 Data Base cc:
Discussion List" Subject: Re: Recovery question DB2 Z/OS
<[login to unmask email]>


12/11/2003 10:47 AM
Please respond to "DB2
Database Discussion list
at IDUG"






Larry,
I think I understand you basically saying that you
(a) Took an Image Copy of the tablespace (FULL I hope)
(b) via software dropped and recreated the table in the tablespace
(c) recovered the tablespace.

In this situation the three magic numbers of importance to you are
the database id (DBID),
tablespace id (PSID - page set id) and the table id (OBID - OBject id).
Since you did not drop and
recreate the tablespace the DBID and PSID are kosher...when the RECOVERy
happend rows with
the old table id were put back. When DB2 looks for rows for the new table
(new table id) in that
tablespace it can't find them as there are none. It was possible to have
lucked out and gotten the same
table id for the new table, but chances were probably small.

The best course of action would be to use DSN1COPY from the existing
FULL image copy
(?SHRLEVEL REFERENCE?), there is no need to go to the trouble of recreating
tablespaces et al.

You can get all your magic numbers from the FULL image copy via two
invocations of DSN1COPY.
Page 0 is the header page and will contain the DBID and PSID. If you invoke
DSN1COPY something
like:

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(0),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and look for the field HPGOBID='12345678'X . The first 4 hex digits here
are the DBID and the
second 4 are the PSID.

You can get the OBID of the old table by printing any data page. The first
data page is page 2, and
so you may as well print that in the same way.

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(2),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and find the field in any of the data records PGSOBD='1234'X and this is
the OBID. You can get
the current table OBID from the DB2 catalog tables. Then do a DSN1COPY from
the FULL image
copy over the tablespace (probably STOP the tablespace first...) something
like:

//STEP1 EXEC PGM=DSN1COPY,PARM='FULLCOPY,OBIDXLAT,RESET'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSUT2 DD DSN=THE.DB2.PAGESET.NAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSXLAT DD *
oldDBID,newDBID
oldPSID,newPSID
oldOBID,newOBID
//*

I'm sure you'll work it out.

Paul.








Larry Holford <[login to unmask email]>@IDUGDB2-L.ORG> on 11/12/2003
10:28:57 AM

Please respond to DB2 Database Discussion list at IDUG
<[login to unmask email]>

Sent by: DB2 Data Base Discussion List <[login to unmask email]>


To: [login to unmask email]
cc:
Subject: Recovery question DB2 Z/OS


Hi All,

I am having trouble recovering a tablespace and need help, here is the
sequence of events.

1. Successfully ran an image copy of the tablespace (62 pages, 1722 rows).

2. Ran a BMC utility to rename a column (this really does a drop table and
create table command),
didn't do an unload of the data (my mistake), data now gone.

3. Tried running a Recovery of the tablespace using the previous image
copy from step 1.
- OUTPUT START FOR UTILITY, UTILID =
PSRCDDTA001
- RECOVER TABLESPACE DP1CD1.SCDDIST DSNUM ALL TOCOPY
DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00
- THE IMAGE COPY DATA SET DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00 WITH
DATE=20031202 AND
IS PARTICIPATING IN RECOVERY OF TABLESPACE
DP1CD1.SCDDIST
- MERGE STATISTICS FOR TABLESPACE DP1CD1.SCDDIST -

NUMBER OF
COPIES=1
NUMBER OF PAGES
MERGED=62
ELAPSED
TIME=00:00:00
- RECOVERY COMPLETE, ELAPSED
TIME=00:00:01
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

4. Ran create Index.
SET CURRENT SQLID = 'MGSYSADM';
---------+---------+---------+---------+---------+-------
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+-------

CREATE UNIQUE INDEX PRD.ICDDIST1 ON PRD.TCDDIST
(CONV_YEAR ASC,
DIST_NO ASC)
USING STOGROUP DB2PIX01
PRIQTY 96
SECQTY 96
FREEPAGE 0
PCTFREE 10
CLUSTER
BUFFERPOOL BP2
CLOSE NO
COPY YES;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--

COMMIT;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
---------+---------+---------+---------+---------+---------+--
DSNE617I COMMIT PERFORMED, SQLCODE IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 3
DSNE621I NUMBER OF INPUT RECORDS READ IS 19
DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 37

5. Ran a rebuild Index.
- OUTPUT START FOR UTILITY, UTILID = REBUILD
- REBUILD INDEX(PRD.ICDDIST1)
- INDEX NAME= PRD.ICDDIST1 IS EMPTY
- UNLOAD PHASE STATISTICS - NUMBER OF RECORDS PROCESSED=0
- UNLOAD PHASE COMPLETE - ELAPSED TIME=00:00:00
- BUILD PHASE STATISTICS - NUMBER OF KEYS=0 FOR INDEX PRD.ICDDIST1
- BUILD PHASE STATISTICS - NUMBER OF INDEXES=0
- BUILD PHASE COMPLETE, ELAPSED TIME=00:00:00
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4

6. Ran Runstats.
- OUTPUT START FOR UTILITY, UTILID = PSSDB2PA001
- RUNSTATS TABLESPACE(DP1CD1.SCDDIST) TABLE(ALL) INDEX(ALL) SHRLEVEL
CHANGE
- SYSTABLEPART CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSTABLES CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSTABLESPACE CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSINDEXPART CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- INDEXSPACE IS EMPTY
- SYSINDEXES CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- RUNSTATS CATALOG TIMESTAMP = 2003-12-09-15.13.33.970244
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

7. Ran a select, no records!!!!
SELECT * FROM PRD.TCDDIST;
---------+---------+---------+---------+---------+---------+---------+--
CONV_YEAR DIST_NO PRIOR_MBRSHIP CURR_MBRSHIP MBR_INQ_RCVD
MBR_INQ_RCVD_DATE ELECT_CERT_RCVD ELECT_CERT_DATE ELECTION_DATE
LAST_CORRESP_DATE CURR_INT CONTACT_EMAIL
---------+---------+---------+---------+---------+---------+---------+--
DSNE610I NUMBER OF ROWS DISPLAYED IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100

8. Ran a DSN1PRNT, it show records in the table.
BD='0012'X PGSBID='01'X
20021005...B...B.N......N.......
.........[login to unmask email]
Y.US


BD='0012'X PGSBID='02'X
20021010.......|.N......N.......
.........[login to unmask email]



BD='0012'X PGSBID='03'X
20021015...@.....N......N.......
.........[login to unmask email]
RG

---------------------------------------------------------------------------------


Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and
home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page
select "Join or Leave the list". If you will be out of the office, send
the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List
Admins can be reached at [login to unmask email] Find out the
latest on IDUG conferences at http://conferences.idug.org/index.cfm




************************************************************
Opinions contained in this e-mail do not necessarily reflect
the opinions of the Queensland Department of Main Roads,
Queensland Transport or National Transport Secretariat, or
endorsed organisations utilising the same infrastructure.
If you have received this electronic mail message in error,
please immediately notify the sender and delete the message
from your computer.
************************************************************

---------------------------------------------------------------------------------

Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home
page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select
"Join or Leave the list". If you will be out of the office, send the SET
DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins
can be reached at [login to unmask email] Find out the latest on
IDUG conferences at http://conferences.idug.org/index.cfm

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

nguyen duc tuan

Re: Recovery question DB2 Z/OS
(in response to Srini S Rajan)
i've tried the test : unload from copy , you get the message "tablespace is
empty" , obviously it has the same logic as copy : the obid doesn't exist
anymore so ...

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Tina Hilton

Re: Recovery question DB2 Z/OS
(in response to nguyen duc tuan)
When the table has been dropped & recreated like this, you must include the
DDL of the original table as input. It's described in the Unload Plus
reference manual.

-----Original Message-----
From: nguyen dt [mailto:[login to unmask email]
Sent: Thursday, December 11, 2003 10:26 AM
To: [login to unmask email]
Subject: Re: Recovery question DB2 Z/OS


i've tried the test : unload from copy , you get the message "tablespace is
empty" , obviously it has the same logic as copy : the obid doesn't exist
anymore so ...

----------------------------------------------------------------------------
-----
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home
page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select
"Join or Leave the list". If you will be out of the office, send the SET
DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins
can be reached at [login to unmask email] Find out the latest on
IDUG conferences at http://conferences.idug.org/index.cfm

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Edward C. Benoit Jr.

Re: Recovery question DB2 Z/OS
(in response to Tina Hilton)
Nguyen,
This is Ed the person that sent you a GENDB2 package several months ago. The
GENDB2 software product will save all the IDs, DBIDs, PSIDs, and OBIDs that
way you do not have to print reports and figure it out (all panel driven). Did
you have time to install the software and test it? Please get back with me
off line.

Regards,
Ed. Benoit
Recovery Knowledge
www.recoveryknowledge.com
The DB2 Disaster Recovery People

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm

Larry Holford

Re: Recovery question DB2 Z/OS
(in response to Edward C. Benoit Jr.)
Thanks you so much for all your help, I got the table back.

Larry

-----Original Message-----
From: [login to unmask email]
[mailto:[login to unmask email]
Sent: Thursday, December 11, 2003 12:17 AM
To: [login to unmask email]
Subject: Re: Recovery question DB2 Z/OS


Larry,
I think I understand you basically saying that you
(a) Took an Image Copy of the tablespace (FULL I hope)
(b) via software dropped and recreated the table in the tablespace
(c) recovered the tablespace.

In this situation the three magic numbers of importance to you are
the database id (DBID),
tablespace id (PSID - page set id) and the table id (OBID - OBject id).
Since you did not drop and
recreate the tablespace the DBID and PSID are kosher...when the RECOVERy
happend rows with
the old table id were put back. When DB2 looks for rows for the new table
(new table id) in that
tablespace it can't find them as there are none. It was possible to have
lucked out and gotten the same
table id for the new table, but chances were probably small.

The best course of action would be to use DSN1COPY from the existing
FULL image copy
(?SHRLEVEL REFERENCE?), there is no need to go to the trouble of recreating
tablespaces et al.

You can get all your magic numbers from the FULL image copy via two
invocations of DSN1COPY.
Page 0 is the header page and will contain the DBID and PSID. If you invoke
DSN1COPY something
like:

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(0),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and look for the field HPGOBID='12345678'X . The first 4 hex digits here
are the DBID and the
second 4 are the PSID.

You can get the OBID of the old table by printing any data page. The first
data page is page 2, and
so you may as well print that in the same way.

//STEP1 EXEC PGM=DSN1PRNT,PARM='PRINT(2),FORMAT,FULLCOPY'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//*

and find the field in any of the data records PGSOBD='1234'X and this is
the OBID. You can get
the current table OBID from the DB2 catalog tables. Then do a DSN1COPY from
the FULL image
copy over the tablespace (probably STOP the tablespace first...) something
like:

//STEP1 EXEC PGM=DSN1COPY,PARM='FULLCOPY,OBIDXLAT,RESET'
//SYSUT1 DD DSN=YOUR.FULL.IC.DSNAME,
// DISP=SHR
//SYSUT2 DD DSN=THE.DB2.PAGESET.NAME,
// DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSXLAT DD *
oldDBID,newDBID
oldPSID,newPSID
oldOBID,newOBID
//*

I'm sure you'll work it out.

Paul.








Larry Holford <[login to unmask email]>@IDUGDB2-L.ORG> on 11/12/2003
10:28:57 AM

Please respond to DB2 Database Discussion list at IDUG
<[login to unmask email]>

Sent by: DB2 Data Base Discussion List <[login to unmask email]>


To: [login to unmask email]
cc:
Subject: Recovery question DB2 Z/OS


Hi All,

I am having trouble recovering a tablespace and need help, here is the
sequence of events.

1. Successfully ran an image copy of the tablespace (62 pages, 1722 rows).

2. Ran a BMC utility to rename a column (this really does a drop table and
create table command),
didn't do an unload of the data (my mistake), data now gone.

3. Tried running a Recovery of the tablespace using the previous image
copy from step 1.
- OUTPUT START FOR UTILITY, UTILID =
PSRCDDTA001
- RECOVER TABLESPACE DP1CD1.SCDDIST DSNUM ALL TOCOPY
DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00
- THE IMAGE COPY DATA SET DB2P.IC.SMS.RVY.DP1CD1.SCDDIST.G0170V00 WITH
DATE=20031202 AND
IS PARTICIPATING IN RECOVERY OF TABLESPACE
DP1CD1.SCDDIST
- MERGE STATISTICS FOR TABLESPACE DP1CD1.SCDDIST -

NUMBER OF
COPIES=1
NUMBER OF PAGES
MERGED=62
ELAPSED
TIME=00:00:00
- RECOVERY COMPLETE, ELAPSED
TIME=00:00:01
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

4. Ran create Index.
SET CURRENT SQLID = 'MGSYSADM';
---------+---------+---------+---------+---------+-------
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+-------

CREATE UNIQUE INDEX PRD.ICDDIST1 ON PRD.TCDDIST
(CONV_YEAR ASC,
DIST_NO ASC)
USING STOGROUP DB2PIX01
PRIQTY 96
SECQTY 96
FREEPAGE 0
PCTFREE 10
CLUSTER
BUFFERPOOL BP2
CLOSE NO
COPY YES;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--

COMMIT;
---------+---------+---------+---------+---------+---------+--
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
---------+---------+---------+---------+---------+---------+--
DSNE617I COMMIT PERFORMED, SQLCODE IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+--
DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 3
DSNE621I NUMBER OF INPUT RECORDS READ IS 19
DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 37

5. Ran a rebuild Index.
- OUTPUT START FOR UTILITY, UTILID = REBUILD
- REBUILD INDEX(PRD.ICDDIST1)
- INDEX NAME= PRD.ICDDIST1 IS EMPTY
- UNLOAD PHASE STATISTICS - NUMBER OF RECORDS PROCESSED=0
- UNLOAD PHASE COMPLETE - ELAPSED TIME=00:00:00
- BUILD PHASE STATISTICS - NUMBER OF KEYS=0 FOR INDEX PRD.ICDDIST1
- BUILD PHASE STATISTICS - NUMBER OF INDEXES=0
- BUILD PHASE COMPLETE, ELAPSED TIME=00:00:00
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4

6. Ran Runstats.
- OUTPUT START FOR UTILITY, UTILID = PSSDB2PA001
- RUNSTATS TABLESPACE(DP1CD1.SCDDIST) TABLE(ALL) INDEX(ALL) SHRLEVEL
CHANGE
- SYSTABLEPART CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSTABLES CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- SYSTABLESPACE CATALOG UPDATE FOR DP1CD1.SCDDIST SUCCESSFUL
- SYSINDEXPART CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- INDEXSPACE IS EMPTY
- SYSINDEXES CATALOG UPDATE FOR PRD.ICDDIST1 SUCCESSFUL
- SYSCOLUMNS CATALOG UPDATE FOR PRD.TCDDIST SUCCESSFUL
- RUNSTATS CATALOG TIMESTAMP = 2003-12-09-15.13.33.970244
- INDEX PRD.ICDDIST1 IS IN INFORMATIONAL COPY PENDING
- UTILITY EXECUTION COMPLETE, HIGHEST RETURN
CODE=0

7. Ran a select, no records!!!!
SELECT * FROM PRD.TCDDIST;
---------+---------+---------+---------+---------+---------+---------+--
CONV_YEAR DIST_NO PRIOR_MBRSHIP CURR_MBRSHIP MBR_INQ_RCVD
MBR_INQ_RCVD_DATE ELECT_CERT_RCVD ELECT_CERT_DATE ELECTION_DATE
LAST_CORRESP_DATE CURR_INT CONTACT_EMAIL
---------+---------+---------+---------+---------+---------+---------+--
DSNE610I NUMBER OF ROWS DISPLAYED IS 0
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100

8. Ran a DSN1PRNT, it show records in the table.
BD='0012'X PGSBID='01'X
20021005...B...B.N......N.......
.........[login to unmask email]
Y.US


BD='0012'X PGSBID='02'X
20021010.......|.N......N.......
.........[login to unmask email]



BD='0012'X PGSBID='03'X
20021015...@.....N......N.......
.........[login to unmask email]
RG

----------------------------------------------------------------------------
-----

Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and
home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page
select "Join or Leave the list". If you will be out of the office, send
the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List
Admins can be reached at [login to unmask email] Find out the
latest on IDUG conferences at http://conferences.idug.org/index.cfm




************************************************************
Opinions contained in this e-mail do not necessarily reflect
the opinions of the Queensland Department of Main Roads,
Queensland Transport or National Transport Secretariat, or
endorsed organisations utilising the same infrastructure.
If you have received this electronic mail message in error,
please immediately notify the sender and delete the message
from your computer.
************************************************************

----------------------------------------------------------------------------
-----
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home
page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select
"Join or Leave the list". If you will be out of the office, send the SET
DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins
can be reached at [login to unmask email] Find out the latest on
IDUG conferences at http://conferences.idug.org/index.cfm

---------------------------------------------------------------------------------
Welcome to the IDUG DB2-L list. To unsubscribe, go to the archives and home page at http://www.idugdb2-l.org/archives/db2-l.html. From that page select "Join or Leave the list". If you will be out of the office, send the SET DB2-L NO MAIL command to [login to unmask email] The IDUG List Admins can be reached at [login to unmask email] Find out the latest on IDUG conferences at http://conferences.idug.org/index.cfm