IBM DB2 Universal Database* for LINUX Version V6.1 PTF No: IP22478 VRMF: 06.01.0000.0060 +-- Note: ----------------------------------------------------------------+ | | To read this file more easily, set your font to monospace. | | If you have received interim fixes from IBM support after 04/01/2002, | then you must contact IBM support instead of installing this FixPak, to | request an updated version of the interim fixes. By doing this, you are | assured that your system is in a consistent state and no interim fixes | are lost. | +-------------------------------------------------------------------------+ This README file contains information for the following products and components: LINUX Specific ------------ DB2 Connect Personal Edition, V6.1 DB2 Connect Enterprise Edition, V6.1 DB2 Universal Database Personal Edition, V6.1 DB2 Universal Database Workgroup Edition, V6.1 DB2 Universal Database Enterprise Edition, V6.1 DB2 Software Developer's Kit, V6.1 DB2 Administration Client, V6.1 DB2 Runtime Client, V6.1 --------------------------------------------------------------------------- 1. Contents of FixPak 2. Installation Notes 2.1 Pre-requisites 2.1.1 Prerequisities for APAR IX73249 2.2 Prior to Installation 2.3 Installation Instructions 2.4 After Installation 2.4.1 Update Instances 2.4.2 Rebinding bind files 2.4.2.1 Rebinding to non-DRDA DB2 databases 2.4.2.2 Rebinding to DRDA databases 2.4.2.3 Rebinding Specific Packages 2.4.2.4 Rebinding Replication Bind Files 3. Correction of CREATE TABLE statement 3.1 MIN_DEC_DIV_3 Database Configuration Parameter 4. Service 4.1 Product and Service Technical Library 4.2 Customer Support 4.3 Corrective Service 5. Message in migration from V5 to V6.1 6. Workaround solution for db2start hangs problem on RedHat Linux V6.1 7. Java Method Signature in PARAMETER STYLE JAVA procedures and functions 8. Stored Procedures with PROGRAM TYPE MAIN 9. Release Notes Changes * 9.1 Incorrect db2ccmsrv Port Number 10. Loss of Control Center Functionality 11. Building Java Applets and Applications For additional information please see the following files: /usr/IBMdb2/V6.1/Readme/%L/Release.Notes where %L is the locale name. * In addition to the release notes changes specified in this section, there is now an additional release note file, ReleaseNotes2.txt, located in the same path as this readme. =========================================================================== 2. Installation Notes 2.1 Pre-requisites You must have Korn Shell installed before installing DB2 on Linux You should have the DB2 UDB V6.1 already installed before installing this Fixpak. To determine if the the required pre-requistes are installed, issue the following command: rpm -qa | grep db2 The output of the command should include the following: "db2cliv61-6.1.0-x" where "x" is the fix level 2.1.1 Prerequisites for APAR IX73249 Prerequisites for APAR IX73249 Incorrect Output for DB2 LIST DCS APPLICATIONS SHOW DETAIL The DB2 for MVS APAR PQ11645 must be applied in conjunction with DB2 Connect APAR IX73249 in order to provide the meaningful correlation token display on both the LIST DCS APPLICATIONS and the DB2 MVS DSP THD commands. 2.2 Prior to Installation Logon as root and do the following for each instance: su - ioname . $HOME/sqllib/db2profile db2 force applications all db2 terminate db2stop db2licd end exit where ioname is the instance owner name. Then, while still logged on as root, do the following: su - dasname . $HOME/sqllib/db2profile db2admin stop exit where dasname is the admin server name. 2.3 Installation Instructions To install the fixpak, su - root cd ./installpatch 2.4 After Installation 2.4.1 Update Instances For each instance, issue the command: Note that you need to be logged in as user root to update the instance /usr/IBMdb2/V6.1/instance/db2iupdt ioname where ioname is the instance name. For DAS instance, issue the command: /usr/IBMdb2/V6.1/instance/dasiupdt dasname where dasname is the das instance name. 2.4.2 Rebinding bind files Due to the new bind (.bnd) files that have been shipped with this FixPak, you will need to rebind your DB2 utilities against all your databases after the FixPak installation. This step is necessary for the fixes in this FixPak to become effective. The procedure of rebinding, outlined below, only needs to be performed once per database. 2.4.2.1 Rebinding to non-DRDA DB2 databases After applying fixes, you must do the following: - At a command prompt: db2 terminate db2 CONNECT TO db2 BIND /@db2ubind.lst BLOCKING ALL GRANT PUBLIC db2 BIND /@db2cli.lst BLOCKING ALL GRANT PUBLIC db2 terminate or, - At the DB2 command line: TERMINATE CONNECT TO BIND /@db2ubind.lst BLOCKING ALL GRANT PUBLIC BIND /@db2cli.lst BLOCKING ALL GRANT PUBLIC TERMINATE Where is the name of a database to which the utilities should be bound, and where is the full path name of the directory where the bind files are located, such as /sqllib/bnd. DB2UBIND.LST and DB2CLI.LST contain lists of commonly required bind files used for DB2. If is a DB2 v1.x database, do not bind db2cli.lst. Instead, use the db2cliv1.lst or specifically bind db2clics.bnd, db2cliur.bnd, db2clirr.bnd, and db2cliv1.bnd individually. 2.4.2.2 Rebinding to DRDA databases If you are using DDCS to connect to host databases, you will also need to bind the new bind files to the host. As above, use the DB2 Command Line Processor to connect to the host database, and then bind the utilities as follows: HOST COMMAND ======= =================================================== MVS BIND /@ddcsmvs.lst BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE VM BIND /@ddcsvm.lst BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE VSE BIND /@ddcsvse.lst BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE OS400 BIND /@ddcs400.lst BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE Please refer to "Binding Applications and Utilities" of the DDCS User's Guide for a list of what bind files are used for your specific client operating system. If a bind file changes but your clients do not use that bind file, you do not need to re-bind it. 2.4.2.3 Rebinding Specific Packages If you wish to bind only the specific .bnd files to the database, issue the following command for each database (where is the name of the bind file, and is the name of your database). - At a command prompt: db2 terminate db2 CONNECT TO db2 BIND / BLOCKING ALL GRANT PUBLIC db2 terminate or, - At the DB2 command line: TERMINATE CONNECT TO BIND / BLOCKING ALL GRANT PUBLIC TERMINATE 2.4.2.4 Rebinding Replication Bind Files If you are using Data Replication ( DPropR), please do the following once the fixpak have been installed, (1)For apply: You will have to rebind the bind files for each source and target database. Under the userid for each db2instance on your system, type the following for each source server database: db2 connect to cd $HOME/sqllib/bnd db2 bind @applycs.lst isolation cs blocking all db2 bind @applyur.lst isolation ur blocking all Under the userid for each db2instance on your system, type the following for each target server database: db2 connect to cd $HOME/qllib/bnd db2 bind @applycs.lst isolation cs blocking all grant public db2 bind @applyur.lst isolation ur blocking all grant public (2)For capture: You will have to rebind the bind files for each source server database. Type the following for each source server database: db2 connect to cd $HOME/sqllib/bnd db2 bind @capture.lst isolation ur blocking all 3. Correction of CREATE TABLE statement In the CREATE TABLE IN tablespace 1 statement, the algorithm for determining the tablespace chosen should read as follows: IF table space in the IBMDEFAULTGROUP nodegroup over which the user has USE privilege exists with sufficient page size THEN use it ELSE IF a table space over which the user has USE privilege exists with sufficient page size THEN use it ELSE issue an error (SQLSTATE 42727). 3.1 MIN_DEC_DIV_3 Database Configuration Parameter The addition of the MIN_DEC_DIV_3 database configuration parameter is provided as a quick way to enable a change to computation of the scale for decimal division in SQL. It is possible that this may not continue as this exact same database configuration parameter in the future. Default=NO. Values: YES, NO. This db cfg parameter changes the resulting scale of a decimal arithmetic operation involving division. If the value is NO, the scale is calculated as 31-p+s-s' (see SQL Reference, Chapter 3, "Decimal Arithmetic in SQL"). If set to YES, the scale is calculated as MAX(3, 31-p+s-s'). This causes the result of decimal division to always have a scale of at least 3 (precision is always 31). Attention: Changing this db cfg parameter may cause changes to applications for existing databases. This can occur when the resulting scale for decimal division would be impacted by changing this db cfg parameter. Here are some possible scenarios that may impact applications. A view that was defined in an environment with one setting could fail with SQLCODE -344 when referenced after the db cfg parameter was changed to the other setting if the resulting scale of one of the view columns is changed. The message SQL0344N refers to recursive common table expressions, however, if the object name (first token) is a view, then you will need to drop the view and create it again to avoid the error. A static package will not change behaviour until the package is rebound, either implicitly or explicitly. For example, after changing from NO to YES, the additional scale digits may not be included in the results until rebind occurs. For any static packages that may experience this change, an explicit rebind command can be used to force a rebind. A check contraint involving a decimal division may restrict some values that were previously accepted by the check constraint. Such rows now violate the constraint but will not be detected until the one of the columns involved in the check constraint row is updated or SET INTEGRITY with IMMEDIATE CHECKED is processed. To force checking of such a constraint, ALTER TABLE to DROP the check constraint and then ALTER TABLE to ADD the constraint again. If any of these scenarios are possible on a database server with existing databases, the implications of changing the MIN_DEC_DIV_3 setting should be carefully considered. Also Note: there are no new message text for this parameter in the v6 or v71 timeframe. This implies the following two limitations: 1) The command "GET DB CFG FOR " will not display the MIN_DEC_DIV_3 setting. The best way to determine the current setting is to observe the side-effect of a decimal division result. For example, if the following db2 statement: VALUES (DEC(1,31,0)/DEC(1,31,5)) Returns sqlcode sql0419n, then the database does not have MIN_DEC_DIV_3 support or it is set to OFF. But if the statement returns "1.000", then MIN_DEC_DIV_3 is ON. 2) The command "? UPDATE DB CFG" displays a list of "config-keywords". MIN_DEC_DIV_3 does not appear in the list. 4. Service 4.1 Product and Service Technical Library For a complete and up-to-date source of DB2 information, including information on issues discovered after this readme was published, use the Product and Service Technical Library on the World Wide Web at: http://www.software.ibm.com/data/db2/library 4.2 Customer Support To speak to an IBM representative regarding assistance with this product, please call 1-800-CALL-AIX (1-800-225-5249). Customer support is also provided via Electronic Question and Answer (Q&A) forums. These forums are accessible through CompuServe, IBMLink, and Usenet Newsgroup. (1) CompuServe - To access the forums on CompuServe, execute GO IBMDB2. - If you don't have access to CompuServe, call 1-800-848-8199 for membership information in Canada or the US. (2) Usenet Newsgroup: comp.databases.ibm-db2 - This Internet Newsgroup is a general forum for discussing questions and/or problems encountered using the DB2 family of products. (3) (IBMLink) Talklink OS/2 BBS - To access the forums on IBMLink, go to the OS2BBS section. - If you don't have access IBMLink, call 1-800-547-1283 for membership information in Canada or the US. 4.3 Corrective Service Corrective service can be downloaded electronically from the Internet by either: (1) FTP to anonymous server ftp.software.ibm.com (previously known as ps.boulder.ibm.com) at 198.17.57.66. Go to ps/products/db2/fixes/%L/%P/ where %L is the appropriate locale (e.g. english-us, spanish, german, etc.), and %P is the product name/version (eg. db2aixv61). or: (2) Use a World Wide Web (WWW) browser to connect to the DB2 Service and Support Page at: http://www.software.ibm.com/data/db2/db2tech/index.html If you do not have access to any of the above locations, please call 1-800-CALL-AIX (1-800-225-5249) to request these FixPaks be sent to you in the mail. For countries other than US and Canada, please contact your local DB2 Customer Service number for assistance in obtaining them. 5. Message in migration from V5 to V6.1 ==================================== Please ignore the following message in db2diag.log during the migration from V5 to V6.1 2000-02-02-12.03.32.831529 Instance:ddcopys Node:000 PID:45588(db2agent (LOADTEST)) Appid:*LOCAL.ddcopys.000202200332 config/install sqlfixdb Prode:40 Datebase:LOADTEST DIA9999E An internal error occured. Report the following error code : "FFFFEC55". 2000-02-02-12.05.42.559148 Instance:ddcopys NODE:000 PID:47496(db2agent (instance)) Appid:none config/install sqlfxdb_x Prode:40 DIA9999E An internal error occured. Report the following error code : 'FFFFEC55". 6. Workaround solution for db2start hangs problem on Redhat Linux V6.1 Due to the bug in RedHat Linux V6.1, db2start hangs problem may be encountered after the installation. DB2 already had it fixed since Fixpak 2. Before Redhat Linux V6.1 has the fix for it, the following is the workaround solution. Please run db2setup but omit the process of setting up instance, DAS and sample db. Ingore the warning message that instance is not setup and just install UDB product. After the installation of GA, apply Fixpak 2 or Fixpak 3 by installpatch and setup the DB and DAS instance by db2setup again. The DB2 UDB V6.1 Fixpaks can be downloaded from the IBM's ftp site: ftp://ftp.software.ibm.com/ps/products/db2/fixes/english-us/db2linuxv61/ 7. Java Method Signature in PARAMETER STYLE JAVA procedures and functions If specified after the Java method name in the EXTERNAL NAME clause of the CREATE PROCEDURE or CREATE FUNCTION statement, the Java method signature must correspond to the default Java type mapping for the sql signature specified after the procedure or function name. For example, the default Java mapping of the SQL type INTEGER is 'int', not 'java.lang.Integer'. If the signatures do not match, and exception will be raised when the procedure or function is invoked. 8. Stored Procedures with PROGRAM TYPE MAIN To ensure family compatibility, PROGRAM TYPE MAIN stored procedures have been changed to pass in the procedure name as the first argument (ie, argv[0]). Existing PROGRAM TYPE MAIN stored procedures can be changed to use this feature by incrementing the indices used to access the argv[] argument array. Alternatively, the original behaviour of PROGRAM TYPE MAIN for Version 6.1 can be restored by turning on the registry variable DB2_RESTORE_PTMAIN_BEHAVIOUR 9. Release Notes Changes In section 5.3 of the DB2 Universal Database Version 6.1 Release Notes, "Building Java Applets and Applications", in the paragraph beginning with "On Windows platforms, the JDBC applet server, the db2jd listener, can be...", the sentence: "This is not very convenient when you want it to start automatically. DB2 now provides a new db2set environment variable, DBJD_PORT_NUMBER. By setting this variable to a port number of your choice, every time db2jd is started without a port number passed in from the command line, this port number will be used." contains an error. Change the name of the environment variable DBJD_PORT_NUMBER to DB2JD_PORT_NUMBER. 9.1 Incorrect db2ccmsrv Port Number The "DB2 Enterprise - Extended Edition for UNIX Quick Beginnings" book states that when configuring the db2cclst daemon for the Control Center, an entry in the /etc/services file needs to be made for db2ccmsrv pointing to port 523. This is an error, because port 523 is reserved for the DAS. The db2ccmsrv port can have any unique port number that is greater than 1024. This number should be the same on all nodes. 10. Loss of Control Center Functionality "There should be no problems introduced against downlevel Control Center clients by applying this fixpak to a DB2 server. However, the next refresh of DB2, version 7.2, will break downlevel Control Center clients - the CC will lose nearly all functionality. Downlevel in this case refers to any version 6 client prior to fixpak 6, and any version 7 client prior to fixpak 2. Version 5 clients are not affected. The suggested fix is to upgrade any affected clients. Version 6 clients must be upgraded to fixpak 6 or later, and version 7 clients must be upgraded to fixpak 2 or later." 11. Building Java Applets and Applications If you are using IBM JDK 1.1.8 on supported platforms to build SQLJ programs, a JDK build date of November 24, 1999 (or later) is required. Otherwise you may get JNI panic errors during compilation. If you are using IBM JDK 1.2.2 on supported platforms to build SQLJ programs, a JDK build date of April 17, 2000 (or later) is required. Otherwise, you may get Invalid Java type errors during compilation. --------------------------------------------------------------------------- * are trademarks or registered trademarks of IBM Corporation. ** are trademarks or registered trademarks of their respective owners. --------------------------------------------------------------------------- *************************************************************************** ** ** (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 2001. ** ALL RIGHTS RESERVED. ** ***************************************************************************