IBM DB2 Universal Database* for Solaris** Version 6.1 PTF: U482116 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 an consistent state and no interim fixes are lost. | +-----------------------------------------------------------------------------+ This README file contains information for the following products and components: Solaris Specific ---------------- DB2 UDB Connect Enterprise Edition, V6.1 DB2 UDB Universal Database Enterprise Edition, V6.1 DB2 UDB Universal Database Extended Enterprise Edition, V6.1 DB2 UDB Query Patroller, V6.1 DB2 UDB Software Developer's Kit, V6.1 DB2 UDB Administration Client, V6.1 DB2 UDB Runtime Client, V6.1 =============================================================================== 1. Contents of FixPak 2. Installation Notes 2.1 Pre-requisites 2.1.1 Prerequisites 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. Service and Support 3.1 Product and Service Technical Library 3.2 Customer Support 3.3 Corrective Service 3.4 Java Method Signature in PARAMETER STYLE JAVA procedures and functions 3.5 Stored Procedures with PROGRAM TYPE MAIN 3.6 MIN_DEC_DIV_3 Database Configuration Parameter 3.7 Building Java Applets and Applications 4. Miscellaneous 4.1 Release Notes Changes * 4.2 Incorrect db2ccmsrv Port Number For additional information please see the following files: /opt/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 This FixPak requires one of the following to already be installed on the machine: DB2 UDB Connect Enterprise Edition, V6.1 DB2 UDB Universal Database Enterprise Edition, V6.1 DB2 UDB Universal Database Extended Enterprise Edition, V6.1 DB2 UDB Query Patroller, V6.1 DB2 UDB Software Developer's Kit, V6.1 DB2 UDB Administration Client, V6.1 DB2 UDB Runtime Client, V6.1 at the level: 06.01.0000.0000 and will upgrade to the level: 06.01.0000.0060 Use 'pkginfo | grep -i db2' to determine all DB2 UDB packages installed. The output of the command should include the following application db2cliv61 DB2 client Application Enabler 2.1.1 Prerequisites for APAR IX73249 Prerquistes 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 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 - iname . $HOME/sqllib/db2profile db2 force applications all db2 terminate db2stop db2licd end exit where iname is the instance name. Then, while still logged on as root, do the following: su - dasname . $HOME/sqllib/db2profile db2admin stop exit where dasname is the das instance name. 2.3 Installation Instructions run (as root) cd /cdrom/db2_for_solaris_v610_fixpak11 ./installallpatch 2.4 After Installation 2.4.1 Update Instances For each instance, issue the command: ./opt/IBMdb2/V6.1/instance/db2iupdt iname where iname is the instance name. Note: If you are running both Enterprise - Extended Edition (EEE) and Enterprise Edition (EE) on the same machine, then you need to run db2iupdt with the "-k" option. Otherwise, it will check to see if EEE filesets exist; if they do, it will perform the update as if it was a EEE instance. Here is the syntax for db2iupdt: FUNCTION: db2iupdt - update a DB2 instance after installation/removal: - of a new DB2 release (of the same version) - of additional DB2 products (eg. updating a client to a server) - of a patch/PTF USAGE: db2iupdt [-h|-?] [-d] [-k] [-s] [-a AuthType] [-u FencedID] InstName -h|-? display the usage information. -d turn debug mode on. -k keep the current instance type during update. -s ignore existing SPM log directory AuthType is the authentication type (SERVER, CLIENT or DCS) for the instance. The default is SERVER. FencedID is the name of user ID under which fenced User Defined Functions and fenced Stored Procedures will run. InstName is the name of the instance. For the DAS instance, issue the command ./opt/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 Chapter 4 "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 has 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 Service and Support 3.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 3.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. 3.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. db2sunv61). 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. 3.4 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. 3.5 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 3.6 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. 3.7 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. 4. Miscellaneous 4.1 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. 4.2 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. ------------------------------------------------------------------------------- * 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. ** *******************************************************************************