IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 7 ------------------------------------------------------------------------ Contents Overview of FixPak for IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 7 AIX (32-bit) Installation Notes * 2.1 Prerequisites * 2.2 Prior to Installation * 2.3 Installation Instructions o 2.3.1 Installing the FixPak using SMIT or installp o 2.3.2 Applying the FixPak for Data Links Manager on UNIX * 2.4 After Installation o 2.4.1 Update Instances o 2.4.2 Enabling the New SQL Built-in Scalar Functions o 2.4.3 Rebinding Bind Files + 2.4.3.1 Rebinding to Non-DRDA DB2 Databases + 2.4.3.2 Rebinding to DRDA Databases + 2.4.3.3 Rebinding Specific Packages + 2.4.3.4 Binding Database Utilities Using the Run-Time Client * 2.5 Special Notes o 2.5.1 Loss of Control Center Functionality o 2.5.2 Using DB2 XML Extender o 2.5.3 Restoring backup images created under FixPak 4 or greater o 2.5.4 Changes to concurrency management components o 2.5.5 Relational Connect and djxlink o 2.5.6 Merant Driver Manager DB2 Customer Support Notices ------------------------------------------------------------------------ Overview of FixPak for IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 7 IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 7 PTF No: U482561_5903 VRMF: 7.1.0.69 Note: To read this file more easily, set your font to monospace. If you have received special fixes from IBM support since 06/16/2002, then you must contact IBM support to request an updated version of the special fixes instead of installing this FixPak. By doing this, you are assured that your system is in a consistent state and no special fixes are lost. This README file contains information for the following products and components: * DB2 Administration Client, Version 7.2 * DB2 Application Development Client, Version 7.2 * DB2 Connect Enterprise Edition, Version 7.2 * DB2 Data Links Manager, Version 7.2 * DB2 Life Sciences Data Connect, Version 7.2 * DB2 OLAP Starter Kit, Version 7.2 * DB2 Query Patroller, Version 7.2 * DB2 Relational Connect, Version 7.2 * DB2 Run-Time Client, Version 7.2 * DB2 Spatial Extenders, Version 7.2 * DB2 UDB Enterprise Edition, Version 7.2 * DB2 UDB Enterprise-Extended Edition, Version 7.2 * DB2 UDB Workgroup Edition, Version 7.2 * DB2 Warehouse Manager, Version 7.2 For additional information on changes to the product, review the product Release Notes: /usr/lpp/db2_07_01/Readme/%L/Release.Notes where %L is the locale name. If you are planning to install DB2 Query Patroller for the first time on AIX*, HP-UX, NUMA-Q/PTX, or the Solaris** Operating Environment, before you begin, refer to the technote "Installing DB2 Query Patroller version 7.1 and 7.2 on UNIX**," available from the DB2 Universal Database Online Support web page at http://www.ibm.com/software/data/db2/udb/winos2unix/support. ------------------------------------------------------------------------ AIX (32-bit) Installation Notes ------------------------------------------------------------------------ 2.1 Prerequisites You must have DB2 UDB V7.2 or DB2 UDB V7.1 with FixPak 3 or greater already installed before installing this FixPak. To determine if the required prerequisites are installed, issue the following command: lslpp -al "db2_07_01*" The output of the command should include the following: db2_07_01.client 7.1.0.x or higher (32-bit only) where "x" is the fix level, and is 40 or higher. ------------------------------------------------------------------------ 2.2 Prior to Installation Log on as root and enter the following commands for each instance: su - iname . $HOME/sqllib/db2profile db2 force applications all db2 terminate db2stop db2licd end # run at each physical node exit where iname is the instance owner name. Then, while still logged on as root, enter the following commands: su - aname . $HOME/sqllib/db2profile db2admin stop exit where aname is the administration server name. You should also run, as root, slibclean to unload unused shared libraries from memory before installing this FixPak: /usr/sbin/slibclean ------------------------------------------------------------------------ 2.3 Installation Instructions Starting from FixPak 6, a new FixPak installation script has been provided called installFixPak. The installFixPak script provides installation prerequisite checking that is not provided when you install the FixPak using SMIT or installp. Instructions for using SMIT are still provided, but we strongly recommend that you use the installFixPak script to install this FixPak. To install the FixPak: su - root cd ./installFixPak where is the top directory in which the FixPak image is located. By default, installFixPak will commit all of the updated filesets. If you do not wish to commit the updates, you should issue the installFixPak command with the -a option (for "apply" as versus "commit") as follows: ./installFixPak -a 2.3.1 Installing the FixPak using SMIT or installp We strongly recommend that you use the installFixPak script to apply this FixPak. However, you can install selected updates using either SMIT or installp. Please ensure that you meet the installation prerequisites for this FixPak before proceeding. SMIT will allow you to install this FixPak even if you do not meet installation prerequisites, and this could disable your DB2 environment. To list the installable options in this FixPak, use: installp -ld device where device is the name of the device where the FixPak resides. To install with all the prerequisites in apply state, select Software Installation & Maintenance --> Update Installed Software to Latest Level (Update ALL) in SMIT. To skip directly to this menu, use the following command: smit update_all If you would like to be able to reject (uninstall) the FixPak afterwards, make sure to select the following options in SMIT: COMMIT software updates = NO SAVE replaced files = YES You can later commit or reject the FixPak using SMIT again. For more information about the installp command or SMIT, refer to the online documentation by issuing the man installp or man smit commands. 2.3.2 Applying the FixPak for Data Links Manager on UNIX 1. As the DB2 Data Links Manager Administrator, bring down the DB2 Data Links Manager by running the following commands: dlfm stop dlfm stopdbm Ensure that there are no DB2 or DLFM processes remaining. 2. As root, unmount each dlfs filesystem (filesystems controlled by the DB2 Data Links Manager) by running the following command: umount /filesystem_name where /filesystem_name is the name of the dlfs filesystem which you want to unmount. 3. As root, unload the DLFS device driver by running the following command: strload -uf /usr/lpp/db2_07_01/cfg/dlfs_cfg 4. Install the FixPak. 5. After successful installation of the FixPak, as root, update the Data Links Manager instance by running the following command: /usr/lpp/db2_07_01/instance/dlfmupdt dlm_instance_name where dlm_instance_name is the name of the DB2 Data Links Manager Administrator. 6. As root, load the DLFS device driver by running the following command: strload -f /usr/lpp/db2_07_01/cfg/dlfs_cfg 7. As root, mount each of the DLFS filesystems by running the following command: mount -v dlfs /filesystem_name 8. As the DB2 Data Links Manager Administrator, run the following commands to bring up the DB2 Data Links Manager: dlfm bind dlfm start 9. Check the db2diag.log to ensure that the Data Links Manager is started properly. ------------------------------------------------------------------------ 2.4 After Installation 2.4.1 Update Instances Note: You need to be logged on as root to update the instances. For each instance, issue the command: /usr/lpp/db2_07_01/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 an EEE instance. For the DAS instance, issue the command: /usr/lpp/db2_07_01/instance/dasiupdt dasname where dasname is the DAS instance name. For more information on the db2iupdt or dasiupdt commands, run db2iupdt or dasiupdt with the "-h" option. 2.4.2 Enabling the New SQL Built-in Scalar Functions FixPak 2 and later of Version 7 delivers new SQL built-in scalar functions. Refer to the SQL Reference and updates in the Release Notes for a description of these new functions. The new functions are not automatically enabled on each database when the database server code is upgraded to FixPak 2 or later of Version 7.1. To enable these new functions, you must login as the instance (or a SYSADM user) and issue the command db2updv7, specifying each database for each instance. This command makes an entry in the database that ensures that database objects created prior to executing this command use existing function signatures that may match the new function signatures. WARNING about use of db2updv7: If you intend to issue the db2updv7 command, you must be aware that it will change the database to run only with Version 7.1 FixPak 2 (or higher) of the database manager. You will not be able to run this database with any previous FixPak level. You must perform a full offline backup of the database prior to running db2updv7 in order to have the ability to restore to a previous FixPak level. 2.4.3 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.3.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. 2.4.3.2 Rebinding to DRDA Databases If you are using DB2 Connect 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" in the DB2 Connect User's Guide for a list of bind files that are used for your specific client operating system. If a bind file changes and your clients do not use that bind file, you do not need to re-bind it. 2.4.3.3 Rebinding Specific Packages If you want to bind only the specific .bnd files to the database, issue the following commands for each 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 where is the name of the bind file, and is the name of your database. 2.4.3.4 Binding Database Utilities Using the Run-Time Client The Run-Time Client cannot be used to bind the database utilities (import, export, reorg, the Command Line Processor) and DB2 CLI bind files to each database before they can be used with that database. You must use the DB2 Administration Client or the DB2 Application Development Client instead. You must bind the database utilities (import, export, reorg, the Command Line Processor) and DB2 CLI bind files to each database before they can be used with that database. In a network environment, if you are using multiple clients that run on different operating systems or are at different versions or service levels of DB2, you must bind the utilities once for each operating system and DB2-version combination. ------------------------------------------------------------------------ 2.5 Special Notes 2.5.1 Loss of Control Center Functionality There should be no problems introduced against downlevel Control Center clients by applying FixPak 2 or FixPak 3 to a DB2 server. However, in DB2 Version 7.2, downlevel Control Center clients 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. 2.5.2 Using DB2 XML Extender The README.TXT file for DB2 XML Extender Version 7.1 incorrectly states the following under "Considerations": * The default version of DB2 UDB is DB2 UDB Version 7.1. If you wish to use DB2 UDB Version 6.1 on AIX and Solaris, you should ensure that you are running with DB2 UDB V6.1 instances and with the DB2 UDB V6.1 libraries. This is incorrect. The DB2 XML Extender is supported only with DB2 Version 7.1 and 7.2. The readme.aix file incorrectly lists Software Requirements of DB2 UDB 6.1 with FP1_U465423 or higher. This is incorrect. The DB2 XML Extender requires DB2 Version 7.1 or 7.2. 2.5.3 Restoring backup images created under FixPak 4 or greater When the RELOCATE USING option is used with the db2inidb command, the user provided configuration file is copied into the database directory (for example, SQL00001) and is renamed to db2path.cfg. If the database was initialized as a snapshot then the db2path.cfg file will be removed after the necessary crash recovery completes. However, if the database was initialized as a standby then the file will only be removed after the database is taken out of the rollforward pending/in-progress state (by stopping or cancelling the rollforward). Databases can be backed up when in the rollforward pending/in-progress state. If the db2path.cfg file exists then it will be included in the backup image. Because this file is new to V7 beginning with FixPak 4, a restore of an image containing this file will fail on any V7 level earlier than FixPak 4. If restoring from such a backup image, the instance must be running with a DB2 level of FixPak 4 or greater. 2.5.4 Changes to concurrency management components DB2 and AIX software engineers have found a new and much more efficient method of implementing one of DB2's internal concurrency management components. This new method reduces CPU utilization when many DB2 agent processes are working on a single database. This is already available in DB2 UDB Version 7.2 in 64-bit mode on AIX, and is being introduced in DB2 UDB Version 7.2 in 32 bit mode on AIX in FixPak 4. To take advantage of this for 32-bit AIX requires that the AIX level is at least AIX 4.3.1. (For customers running on earlier releases of AIX, no action is required as DB2 will automatically use the previous concurrency management method). These changes have generally provide significant improvement in high concurrency workloads, and small improvements in medium concurrency workloads. For most other workloads, these changes do not have a measurable impact. There are some infrequent anomalous cases of queries whose performance has degraded. These are typically, but not exclusively, cases of a very small number of users running very complex queries and using intra-query parallelism with a high degree of parallelism. Customers who experience such query performance degradation can investigate this using the AIX vmstat performance tool; higher system CPU utilization and possibly higher idle time with no other changes (for example, no changes in query plan) indicate a possibility that the new concurrency management method may be the cause of the degradation. For these isolated cases of query performance degradation, it is likely that performance can be restored to or near that of the previous FixPak by use of a DB2 registry variable: DB2SPINLATCHES. This registry variable controls operation of the internal concurrency management component on SMP machines (machines with more than one processor) when two processes are both contending for an internal resource. In particular, it affects the balance between time spent "spinning" (executing redundant instructions in the hope that the resource becomes available) versus time spent waiting for the resource via a call to the AIX operating system. Waiting is more efficient if the time to wait is long, but less efficient if the time to wait is short. The syntax of the DB2SPINLATCHES registry variable is db2set DB2SPINLATCHES=,, where each of are integers in the range of 1 to 2000000000 The default setting if not explicitly set is db2set DB2SPINLATCHES=5,5,5 For the purposes of dealing with query performance degradations as described in this note, it is recommended that ONLY the third number, , be tuned, and the other two numbers be set explicitly to 5. Do not omit these two numbers; specify all of them if you set the variable. To deal with the performance degradation, set to some value greater than 5. The value which gives the best performance depends on a number of factors such as the query mix, the speed of the processors, the nature and quantity of table accesses, and so on, and has to be found by experiment. However, to help find a good setting as rapidly as possible, we recommend trying the following settings in this order until performance is acceptable: db2set DB2SPINLATCHES=5,5,1000 db2set DB2SPINLATCHES=5,5,500 db2set DB2SPINLATCHES=5,5,5000 db2set DB2SPINLATCHES=5,5,250 db2set DB2SPINLATCHES=5,5,10000 db2set DB2SPINLATCHES=5,5,100 db2set DB2SPINLATCHES=5,5,50 Note: After changing the setting, the DB2 database manager must be stopped and started for the new setting to take effect. If none of these settings affect performance at all, then the cause of the degradation is not the new concurrency management method. Use your usual procedure to diagnose performance problems. If these settings affect performance but none improve it acceptably, then contact IBM service for assistance. 2.5.5 Relational Connect and djxlink If you have DB2 Relational Connect installed, you must run the djxlink command after installing this FixPak and before running db2iupdt. Perform the following steps: 1. Log on as root. 2. Remove or rename the file djxlink.out, which is located in the $install_dir/lib/ directory, where $install_dir is the DB2 installation directory. 3. If you are using Relational Connect to connect to an Oracle data source, set the environment variable ORACLE_HOME to the oracle home directory. 4. Run the command: djxlink For more information on installing DB2 Relational Connect please see the DB2 Installation and Configuration Supplement. 2.5.6 Merant Driver Manager If you are using the Merant Driver Manager, see "Merant Driver Manager and the DB2 UDB Version 7 ODBC Driver on Unix" in the General Installation, Migration and Configuration Information section of the Release Notes. ------------------------------------------------------------------------ DB2 Customer Support Web-based support for DB2 products, including documentation, FixPaks, and APAR information, is provided at http://www.ibm.com/software/data/db2/udb/winos2unix/support and http://www.ibm.com/software/data/db2/udb/support.html. DB2 FixPaks can also be downloaded from IBM's anonymous FTP server at ftp.software.ibm.com. Go to ps/products/db2/fixes/%L/%P/ where %L is the appropriate locale (for example, english-us, spanish, german), and %P is the product name/version (for example db2aixv7). The main Usenet newsgroup for DB2-related questions is comp.databases.ibm-db2. To contact DB2 Customer Service by phone: * In the United States, call 1-800-237-5511. * In Canada, call 1-800-IBM-SERV (426-7378). * Worldwide, call 1-404-238-1234 (charges may apply). For information on IBM offices in your country or region, consult IBM's Directory of Worldwide Contacts at http://www.ibm.com/planetwide. ------------------------------------------------------------------------ Notices ------------------------------------------------------------------------------- * are trademarks or registered trademarks of IBM Corporation. ** are trademarks or registered trademarks of their respective owners. ------------------------------------------------------------------------------- ******************************************************************************* ** ** (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 2002. ** ALL RIGHTS RESERVED. ** *******************************************************************************