IBM VisualAge TeamConnection 3.0.7 FixPak - 
upgrading_to_v303HF1.txt (13-MAR-2001)
------------------------------------------

Documents ---------

backup_db.txt, fix302.ddl, fixdb.ddl, readme.txt, relnotes.txt, restore_db.txt, systeminfo.txt, trace.txt, upgrading_to_v303HF1.txt

Main Index ----------

- Where to get the most recent version of this file - Objective: (Upgrading to TeamConnection V3.0.3HF1) - Step 0. Delete Carriage returns on UNIX - Step 1. Backup your database - Step 2. Determine which script to run - Step 2.A Run fix302.ddl --OR-- - Step 2.B Run fixdb.ddl - Step 3 Analyze the output of the script - Step 4. Do the VisualAge TeamConnection upgrade: - Step 5. Run fixdb.ddl Back to Main Index

Where to get the most recent version of this file -------------------------------------------------

The most recent version of this file can be found at: ftp://ftp.software.ibm.com/ps/products/teamconnection/fixes/ Back to Main Index

Objective: (Upgrading to TeamConnection V3.0.3HF1) ----------------------

When upgrading from TeamC v3.0.0, v3.0.1, v3.0.2, or v3.0.3 to Teamc v3.0.3 HotFix 1 (v3.0.3HF1), there are two scripts that should be used to fix known problems that can cause the upgrade to fail. fix302.ddl should be run on v3.0.0, v3.0.1, or v3.0.2 databases before an upgrade to v3.0.3HF1 is attempted. fixdb.ddl should be run on a v3.0.3 database before an upgrade and run on the v3.0.3HF1 database after a successful upgrade or at any time. For your ease, we suggest you view the HTML version of this document in a web browser. Here is what to do. Back to Main Index

0. Delete Carriage returns on UNIX -----------------------------------

UNIX: Run a crlf tool on the scripts to remove carriage returns and line feeds. For, example fixcrlf fixdb.ddl (There have been some problems where scripts would not execute because of the carriage returns from Windows that appear as ^M in the UNIX scripts. If you view the fix302.ddl and fixdb.ddl scripts on UNIX and do not see ^M characters, you probably do not need to do this step.) If you need a crlf tool, you can get a version of fixcrlf from the following ftp site: ftp://ftp.software.ibm.com/ps/products/teamconnection/tools/ You may need to SHIFT-LeftClick on the link to download it. INTEL: skip this step Back to Main Index

1. Backup your database ------------------------

Make certain you have a backup copy of your database. See the document backup_db.txt for a brief description of how this is done. Back to Main Index

2. Determine which scripts to run ----------------------------------

You should run fix302.ddl and fixdb.ddl on a version of the database from before an upgrade was attempted since the upgrade modifies the database. You cannot run the scripts on a database resulting from a failed upgrade. If you have already attempted an upgrade which has failed, restore to a previous version of the database. See the document restore.txt for details. It is not necessary to have the TeamConnection code installed to run fix302.ddl or fixdb.ddl since the scripts only issues DB2 commands. You should run fix302.ddl and fixdb.ddl in order to find and repair known database problems that could cause the upgrade to fail. If you are upgrading from v3.0.0, v3.0.1, or v3.0.2 to v3.0.3 HotFix 1, you should follow step 2.A to run fix302.ddl. If you are upgrading from v3.0.3 to v3.0.3 HotFix 1, then you should follow step 2.B to run fixdb.ddl. Back to Main Index

2.A. Run fix302.ddl ------------------------------------------

Make sure the script fix302.ddl can find db2batch by setting DB2PATH to point to where DB2 was installed. (Having DB2INSTANCE_HOME set to the location of the DB2 instance should also work.) Run the script fix302.ddl this way from the family login: UNIX: $DB2_PATH/sqllib/misc/db2batch -d $TC_FAMILY -f fix302.ddl -r fix302.out INTEL: %DB2PATH%\misc\db2batch -d %TC_FAMILY% -f fix302.ddl -r fix302.out You do not need to issue a "db2 connect..." and the TeamC family server can be up or down. However, to avoid contention it may be best to bring the family down (with "tcstop [family_name]"). fix302.ddl may take hours to run. The exact length of time is a function of the size of your database. Back to Main Index

2.B. Run fixdb.ddl ------------------------------------------

Make sure the script fixdb.ddl can find db2batch by setting DB2PATH to point to where DB2 was installed. (Having DB2INSTANCE_HOME set to the location of the DB2 instance should also work.) Run the script fixdb.ddl this way from the family login: UNIX: $DB2_PATH/sqllib/misc/db2batch -d $TC_FAMILY -f fixdb.ddl -r fixdb.out INTEL: %DB2PATH%\misc\db2batch -d %TC_FAMILY% -f fixdb.ddl -r fixdb.out You do not need to issue a "db2 connect..." and the TeamC family server can be up or down. However, to avoid contention it may be best to bring the family down (with "tcstop [family_name]"). fixdb.ddl may take hours to run. The exact length of time is a function of the size of your database. Back to Main Index

3. Analyze the Output of the script --------------------------------------

When fix302.ddl (fixdb.ddl) has finished, it produces an output file called fix302.out (fixdb.out). Check the output file for errors. Each script consists of three logical sections. First, is a set of queries to determine if there are problems. Second is a set of delete and update commands to fix known problems, and third is another set of queries to verify that the problems have been fixed. If the queries worked, you should see output similar to this for each query: OID OVER OIDC PPARSERMSGS OSRELPARSERID ----------------------------------------------------------------- Number of rows retrieved is: 0 Number of rows sent to output is: 0 For the section that does deletes and updates you should see no error message or you should see: SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table. SQLSTATE=02000 If you see this next message in the output file, then you need to run fixcrlf on the fix302.ddl and fixdb.ddl scripts before running them: (see step 0 for details). SQL0007N The character " " following "BEGIN-OF-STATEMENT" is not valid. SQLSTATE=42601 If you see any other errors for the update and delete section, contact TeamConnection Customer Support. AT The end of the output file, you should see a summary of the first set of queries, the updates, and the second set of queries. You should verify that queries from the first set that had rows fetched did not have rows fetched in the second set at the end. In the example below, statement 4 indicates a problem because rows were fetched, but when the same query is run again after the updates, no rows are fetched (statement 40). This indicates that the problem was fixed. 1 1.000 Not Collected 0 0 2 Not Collected Not Collected 0 0 3 1.500 Not Collected 0 0 4 33.360 Not Collected 1 1 . . . 40 31.969 Not Collected 0 0 41 Not Collected Not Collected 0 0 42 Not Collected Not Collected 0 0 If the summary shows that problems are still being found or there are other SQL error messages in the output, please contact TeamConnection Customer Support. In any case, it is advisable that you contact customer support to verify that any problems have been fixed. In some cases, fix302.ddl or fixdb.ddl finds problems that it does not fix. Queries for these problems are under the section titled "potential problems which need further assessment" in the script. You must contact Customer support to have these problems taken care of. DO NOT PROCEED WITH THE UPGRADE UNTIL ALL PROBLEMS HAVE BEEN FIXED. Back to Main Index

4. Do the VisualAge TeamConnection upgrade: -------------------------------------------

This step requires that you have successfully installed TeamConnection v3.0.3 Hotfix 1. See the TeamConnection FixPak readme.txt for details. To do the upgrade, make sure you are logged in as your family administrator, then INTEL: run the following command: fhcirt -vv %TC_HOME%\nls\cfg\*.dd? %TC_HOME%\nls\cfg\*.bnd 2>&1 | tee fhcirt.out and follow the regular process for upgrading TeamConnection, such as running updviews.bat to update views. See the TeamConnection FixPak readme.txt for more details. (If you don't have tee, then redirect like " 2>&1 >fhcirt.out"). Check fhcirt.out for errors. If fhcirt fails, return fhcirt.out to TeamConnection Customer Support. UNIX: modify the call to fhcirt in $TC_HOME/samples/ksh/upgrade_db (or upgrade_db_v303) so it appears as fhcirt -vv $TC_HOME/nls/cfg/*.dd? $TC_HOME/nls/cfg/*.bnd 2>&1 | tee fhcirt.out and run uprade_db from the family login. Check fhcirt.out for errors. If fhcirt fails, return fhcirt.out to TeamConnection Customer Support. NOTE: The upgrade process to TeamConnection Fixpak v3.0.3 Hotfix 1 or to FixPak 3.0.4 might take anywhere from 7 to 12 hours, depending on your installation. Back to Main Index

5. Run fixdb.ddl -----------------

Now that you have successfully upgraded to v3.0.3HF1 (or v3.0.4), run fixdb.ddl from the family login. This searches for and fixes known problems in v303 databases. UNIX: $DB2PATH/sqllib/misc/db2batch -d $TC_FAMILY -f fixdb.ddl -r fixdb.out INTEL: %DB2PATH%\misc\db2batch -d %TC_FAMILY% -f fixdb.ddl -r fixdb.out The output in fixdb.out should be analysed as described above in step 3. If you are not confident that fixdb.ddl has fixed all problems it found, please contact TeamConnection Customer Support. Back to Main Index