ContentsIBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 10a Contents About this FixPak readme for IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 10a 1.1 About this readme 1.2 Who should read this readme file 1.3 How to get help AIX (32-bit) installation notes 2.1 Prerequisites 2.2 Prior to installation 2.3 Installation instructions 2.3.1 Installing the FixPak using SMIT or installp 2.3.2 Applying the FixPak for Data Links Manager on AIX 2.4 After installation 2.4.1 Updating instances 2.4.2 Enabling the new SQL built-in scalar functions 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 DB2 Run-Time Client 2.4.3.5 Binding db2sch.bnd to existing databases 2.4.4 Controlling login restrictions of a connecting user on an AIX server 2.5 Uninstalling FixPaks on UNIX 2.6 Alternate Unicode conversion tables for CCSID 943 2.7 Known problems and workarounds 2.7.1 Restriction on the db2look command 2.7.2 Additional command modifiers 2.7.3 Using APPC listener 2.7.4 Correction to Performance Variable 2.7.5 Informix Federated support for DB2 Information Integrator 2.7.6 Data corruption after moving from DB2 Version 7 FixPak 8 or earlier to a later Version 7 FixPak or to DB2 Version 8 2.7.7 Application Development and supported software update 2.7.8 Informix Federated support for DB2 Relational Connect 2.7.9 Loss of Control Center functionality 2.7.10 Using DB2 XML Extender 2.7.11 Restoring backup images created under FixPak 4 or greater 2.7.12 Changes to concurrency management components 2.7.13 Relational Connect and the djxlink command 2.7.14 Merant Driver Manager 2.7.15 Updates into local tables in federated systems 2.8 Version 7 FixPak 10a Updates 2.8.1 Longer than normal database activations or first connects 2.8.2 Search Discovery Listener Denial of Service Vulnerability 2.8.3 db2job security exposure 2.8.4 db2licm buffer overflow Notices About this FixPak readme for IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 10a IBM DB2 Universal Database* for AIX* (32-bit) Version 7 FixPak 10a PTF No: U495172 VRMF: 7.1.0.88 Note: If you have received special fixes from IBM support since 06/20/2003, 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 1.1 About this readme FixPak 10a is an updated version of FixPak 10. The changes for this update are listed in the Version 7 FixPak 10a Updates section. The Release Notes have not been updated in this FixPak. See the Release Notes for Version 7 FixPak 8 which is included in this FixPak. 1.2 Who should read this readme file The information in this readme file should be read by database administrators who seek to upgrade their present version of DB2 to the latest FixPak level. This readme file contains platform specific information about the latest changes and known problems and workarounds for DB2. 1.3 How to get help 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. 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 Version 7.2 or DB2 UDB Version 7.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) If the output of the command includes db2_07_01.client 7.1.1.y and does not include 7.1.2.z, then you have 64-bit DB2 for AIX 4.3.3 installed and you should get the 64-bit DB2 FixPak for AIX 4.3.3. Check the FixpakReadme.txt file for DB2 64-bit FixPak for AIX 4.3.3 concerning the prerequisites. If the output of the command includes db2_07_01.client 7.1.2.z then you have 64-bit DB2 for AIX 5 installed and you should get the 64-bit DB2 FixPak for AIX 5. Check the FixpakReadme.txt file for DB2 64-bit FixPak for AIX 5 concerning the prerequisites. Note: 64-bit DB2 FixPak for AIX 4.3.3 can only be applied on AIX 4.3.3 and 64-bit DB2 FixPak for AIX 5 can only be applied on AIX 5. 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 represents the instance owner name. If you are a hacmp user, you must use the ha_db2stop command to stop DB2 instead of the db2stop command. Otherwise the db2stop command will trigger a failure event. Then, while still logged on as root, enter the following commands: su - aname . $HOME/sqllib/db2profile db2admin stop exit where aname represents 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 Since 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 it is strongly recommended that you use the installFixPak script to install this FixPak. To install the FixPak enter the following: 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 It is strongly recommended that you use the installFixPak script to apply this FixPak. However, you can install selected updates using either SMIT or installp. Ensure that you meet the installation prerequisites for this FixPak before proceeding. SMIT allows you to install this FixPak even if you do not meet installation prerequisites, and this could disable your DB2 environment. To list the installation options in this FixPak, use: installp -ld device where device represents 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 want the ability 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 AIX 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. 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. As root, unload the DLFS device driver by running the following command: strload -uf /usr/lpp/db2_07_01/cfg/dlfs_cfg Install the FixPak. 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. As root, load the DLFS device driver by running the following command: strload -f /usr/lpp/db2_07_01/cfg/dlfs_cfg As root, mount each of the DLFS filesystems by running the following command: mount -v dlfs /filesystem_name As the DB2 Data Links Manager Administrator, run the following commands to bring up the DB2 Data Links Manager: dlfm bind dlfm start Check the db2diag.log to ensure that the Data Links Manager is started properly. 2.4 After installation 2.4.1 Updating 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 represents the instance name. Note: If you are running both Enterprise - Extended Edition (EEE) and Enterprise Edition (EE) on the same computer, 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 represents 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. Note: FixPak 8 is the minimum prerequisite if you want to use a Version 8 client to connect to a Version 7 server. Therefore, anyone updating to FixPak 8 will also have to run the db2updv7 command. ATTENTION : If you intend to issue the db2updv7 command, it will change the database so it runs 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, which follows, 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 that are 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 See "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 rebind 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 represents the name of the bind file, and represents the name of your database. 2.4.3.4 Binding database utilities using the DB2 Run-Time Client The DB2 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.4.3.5 Binding db2sch.bnd to existing databases For FixPak installations on the server, an additional bind file needs to be bound to existing databases after applying the FixPak. This requirement does not apply to clients. This additional bind file is db2sch.bnd. Prerequisites If support for DB2 Version 8.1 clients is required, the db2updv7 command must be run following the installation of FixPak 8 or 9. If support for DB2 Version 8.1 clients is not needed, then db2sch.bnd does not need to be bound to existing databases. Procedure To bind db2sch.bnd on the server, execute these commands: At a command prompt: db2 terminate db2 CONNECT TO db2 BIND /db2sch.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue db2 terminate or, At the DB2 command line: TERMINATE CONNECT TO BIND /db2sch.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue TERMINATE where represents the name of a database to which the utilities should be bound, and where represents the full path name of the directory where the bind files are located. 2.4.4 Controlling login restrictions of a connecting user on an AIX server By default, when an user is authenticated on an AIX server, DB2 will check the connecting user's local login restrictions before allowing the connection to proceed. The DB2LOGINRESTRICTIONS registry variable will permit DB2 to enforce alternative modes of login restrictions. If DB2LOGINRESTRICTIONS is not set, the default value is LOCAL. The variable may be set to the following values: REMOTE DB2 will only enforce remote login restrictions SU DB2 will only enforce su restrictions NONE DB2 will not enforce any particular mode of login restrictions LOCAL DB2 will only enforce local login restrictions In all cases, DB2 will still check for the following error conditions: expired account locked account invalid user 2.5 Uninstalling FixPaks on UNIX Note: If you have received special fixes from IBM Support that you have applied to your current FixPak level, you will lose all of the special fixes when you uninstall the current FixPak. The special fixes you received from IBM Support are only applicable to the current FixPak. You should not apply the same special fixes on top of any backlevel FixPak. If this applies to you, contact IBM Support before uninstalling your FixPak. Before uninstalling FixPaks, ensure that you: Stop all instances, including the DAS instance Backup your data AIX If the FixPak was installed and the filesets were just applied but not committed, then the FixPak can be uninstalled using smit. See the smit documentation for more details. If the filesets were committed when the FixPak was installed, which is the default, then the FixPak cannot be uninstalled. The only course of action available is to uninstall DB2 from your system, reinstall DB2, and then apply the appropriate FixPak. HP-UX FixPak filesets can be uninstalled using the sam utility. If you use swlist or sam, you can list all filesets for the DB2 FixPaks and receive output similar to the following: PDB2_712050005 7.1.0.55 PDB2_712050031 7.1.0.55 PDB2_712081005 7.1.0.75 PDB2_712081006 7.1.0.75 PDB2_712081032 7.1.0.75 The installation signature is combined with the name of the fileset. You should uninstall the group of PDB2_* filesets with the same signature starting with the largest number. You can remove the latest FixPak applied, or the latest FixPak plus the second last, etc. You can also select them all. Linux (Intel and s/390) You cannot uninstall a DB2 FixPak on Linux (Intel and s/390). The only course of action available is to uninstall DB2 from your system, reinstall DB2, and then apply the appropriate FixPak. A db2_deinstall script is provided with the FixPak which will uninstall DB2 from your system. Dynix, Solaris Operating Environment, and SGI The backoutallpatch script is provided with all FixPak images. Run this script to uninstall the FixPak and leave the system in the state that it was before installing the FixPak. You can find this script in /var/sadm/patch. The script will be named backoutallpatch.7.1.x.y where 7.1.x.y corresponds to the VRMF of the FixPak. You must uninstall FixPaks from highest to lowest level until you've uninstalled the FixPak(s) that you want to remove. For example if you're at FixPak 7, you wouldn't be able to uninstall FixPak 5 unless you've uninstalled FixPak 6 and FixPak 7. Update all instances, including the DAS instance. 2.6 Alternate Unicode conversion tables for CCSID 943 Some characters in CCSID 943 have two code points each: "NEC" code point "IBM" code point Some other characters are also represented two code points each: a "NEC" code point and a "JIS" code point. For example, both X'8754' ("NEC") and X'FA4A' ("IBM") refer to the same Roman numeral one character in CCSID 943; and both X'879C' ("NEC") and X'81BE' ("JIS") refer to the same mathematical union symbol in CCSID 943. When using the DB2 default CCSID 943 to Unicode conversion table, both the "NEC" and "IBM"/"JIS" code points are converted to the same Unicode character; but on the reverse, the Unicode character is converted to the "IBM"/"JIS" code point. When using the Microsoft version of the CCSID 943 to Unicode conversion table, both "NEC" and "IBM"/"JIS" code points are also converted to the same Unicode character; but on reverse, the Unicode character is converted to the "NEC"/"JIS" code point. For example: X'8754'or X'FA4A' ==> U+2160 ==> X'FA4A' (using the DB2 default CCSID 943<-->Unicode conversion tables) X'8754'or X'FA4A' ==> U+2160 ==> X'8754'(using the Microsoft version of CCSID 943<-->Unicode conversion tables) X'879C' or X'81BE' ==> U+222A ==> X'81BE' (using either the DB2 default or Microsoft version of CCSID 943<-->Unicode conversion tables) There are also some characters in CCSID 943 that can be converted into two different Unicode characters, depending on whether the DB2 default conversion table or the Microsoft version of the conversion table is used. For example, the double-byte dash character X'815C' in CCSID 943 is converted to the Unicode character U+2014 when using the DB2 default CCSID 943 to Unicode conversion table, but X'815C' is converted to the Unicode character U+2015 instead when using the Microsoft version of the conversion table. If you want DB2 to use the Microsoft version of the conversion tables, follow the procedure below after installation is complete. Prerequisites Before replacing the existing external code page conversion table files in the sqllib/conv directory, you may want to back them up first. On UNIX, sqllib/conv/ is linked to the install path of DB2. Procedure To use the Microsoft version of the CCSID 943 to/from Unicode conversion table files: Copy: sqllib/conv/ms/0943ucs2.cnv to sqllib/conv/0943ucs2.cnv sqllib/conv/ms/ucs20943.cnv to sqllib/conv/ucs20943.cnv sqllib/conv/ms/0941ucs2.cnv to sqllib/conv/0941ucs2.cnv sqllib/conv/ms/ucs20941.cnv to sqllib/conv/ucs20941.cnv Restart DB2. The use of these Microsoft conversion tables is restricted to closed environment between DB2 943 database and DB2 943 clients using the Microsoft version of the conversion tables. If we have a DB2 943 client using the default DB2 conversion tables, and another DB2 943 client using the Microsoft version of the conversion tables, and both clients are connected to the same DB2 943 database, then the same character may be stored as two different code points in the DB2 943 database. 2.7 Known problems and workarounds 2.7.1 Restriction on the db2look command You cannot use the "-f" option of the db2look command from a DB2 Version 7. 2 client at any Version 7 FixPak level. This restriction has been removed in DB2 Version 8. 2.7.2 Additional command modifiers Modifiers have been added to the EXPORT, IMPORT, and LOAD commands. The EXPORT command has the additional modifiers: Table 1. Additional File Type Modifiers (Export) Modifier Description striplzeros Removes the leading zeros from all exported decimal columns. db2 create table decimalTable ( c1 decimal( 31, 2 )) db2 insert into decimalTable values ( 1.1 ) db2 export to data of del select * from decimalTable Content of Exported file data +00000000000000000000000000001.10 db2 export to data of del modified by STRIPLZEROS select * from decimalTable Content of Exported file data +1.10 The IMPORT command has the following additional modifiers: Table 2. Additional File Type Modifiers (Import) Modifier Description timestampformat="x" x is the format of the time stamp in the source file.4 Valid time stamp elements are: YYYY - Year (four digits ranging from 0000 - 9999) M - Month (one or two digits ranging from 1 - 12) MM - Month (two digits ranging from 01 - 12; mutually exclusive with M and MMM) D - Day (one or two digits ranging from 1 - 31) DD - Day (two digits ranging from 01 - 31; mutually exclusive with D) DDD - Day of the year (three digits ranging from 001 - 366; mutually exclusive with other day or month elements) H - Hour (one or two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system) HH - Hour (two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system; mutually exclusive with H) M - Minute (one or two digits ranging from 0 - 59) MM - Minute (two digits ranging from 0 - 59; mutually exclusive with M, minute) S - Second (one or two digits ranging from 0 - 59) SS - Second (two digits ranging from 0 - 59; mutually exclusive with S) SSSSS - Second of the day after midnight (5 digits ranging from 00000 - 86399; mutually exclusive with other time elements) UUUUUU - Microsecond (6 digits ranging from 000000 - 999999; mutually exclusive with all other microsecond elements) UUUUU - Microsecond (5 digits ranging from 00000 - 99999, maps to range from 000000 - 999990; mutually exclusive with all other microseond elements) UUUU - Microsecond (4 digits ranging from 0000 - 9999, maps to range from 000000 - 999900; mutually exclusive with all other microseond elements) UUU - Microsecond (3 digits ranging from 000 - 999, maps to range from 000000 - 999000; mutually exclusive with all other Microseond elements) UU - Microsecond (2 digits ranging from 00 - 99, maps to range from 000000 - 990000; mutually exclusive with all other microseond elements) U - Microsecond (1 digits ranging from 0 - 9, maps to range from 000000 - 900000; mutually exclusive with all other Microseond elements) TT - Meridian indicator (AM or PM) A default value of 1 is assigned for unspecified YYYY, M, MM, D, DD, or DDD elements. A default value of 0 is assigned for all other unspecified elements. Following is an example of a time stamp format: "YYYY/MM/DD HH:MM:SS.UUUUUU" The following example illustrates how to import data containing user-defined date and time formats into a table called 'schedule': db2 import from delfile2 of del modified by timestampformat="yyyy.mm.dd hh:mm tt" insert into schedule The LOAD command has the following additional modifiers: Table 3. Additional File Type Modifiers (Load) Modifier Description timestampformat="x" x is the format of the time stamp in the source file.4 Valid time stamp elements are: YYYY - Year (four digits ranging from 0000 - 9999) M - Month (one or two digits ranging from 1 - 12) MM - Month (two digits ranging from 01 - 12; mutually exclusive with M and MMM) D - Day (one or two digits ranging from 1 - 31) DD - Day (two digits ranging from 01 - 31; mutually exclusive with D) DDD - Day of the year (three digits ranging from 001 - 366; mutually exclusive with other day or month elements) H - Hour (one or two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system) HH - Hour (two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system; mutually exclusive with H) M - Minute (one or two digits ranging from 0 - 59) MM - Minute (two digits ranging from 0 - 59; mutually exclusive with M, minute) S - Second (one or two digits ranging from 0 - 59) SS - Second (two digits ranging from 0 - 59; mutually exclusive with S) SSSSS - Second of the day after midnight (5 digits ranging from 00000 - 86399; mutually exclusive with other time elements) UUUUUU - Microsecond (6 digits ranging from 000000 - 999999; mutually exclusive with all other microsecond elements) UUUUU - Microsecond (5 digits ranging from 00000 - 99999, maps to range from 000000 - 999990; mutually exclusive with all other microseond elements) UUUU - Microsecond (4 digits ranging from 0000 - 9999, maps to range from 000000 - 999900; mutually exclusive with all other microseond elements) UUU - Microsecond (3 digits ranging from 000 - 999, maps to range from 000000 - 999000; mutually exclusive with all other Microseond elements) UU - Microsecond (2 digits ranging from 00 - 99, maps to range from 000000 - 990000; mutually exclusive with all other microseond elements) U - Microsecond (1 digits ranging from 0 - 9, maps to range from 000000 - 900000; mutually exclusive with all other Microseond elements) TT - Meridian indicator (AM or PM) A default value of 1 is assigned for unspecified YYYY, M, MM, D, DD, or DDD elements. A default value of 0 is assigned for all other unspecified elements. Following is an example of a time stamp format: "YYYY/MM/DD HH:MM:SS.UUUUUU" The following example illustrates how to import data containing user-defined date and time formats into a table called 'schedule': db2 import from delfile2 of del modified by timestampformat="yyyy.mm.dd hh:mm tt" insert into schedule 2.7.3 Using APPC listener If you have APPC listener started for your DB2 instance, stop your DB2 instance before stopping your APPC/SNA software. 2.7.4 Correction to Performance Variable Starting in the Release Notes for Version 7 FixPak 6 (and in FixPaks 7 and 8), there is an error in a performance variable name. In "Chapter 13. Configuring DB2" the section "DB2 Registry and Environment Variables" lists Table 5 Performance Variables. In this table a registry variable name is incorrect. The correction is: the variable name DB2_MINIMIZE_LIST_PREFETCH should be DB2_MINIMIZE_LISTPREFETCH. This correction affects FixPak 6, 7, and 8. 2.7.5 Informix Federated support for DB2 Information Integrator The Informix Federated support for DB2 Information Integrator was added starting in DB2 UDB Version 7 FixPak 4. If you have problems installing and configuring it (that is, informix script or related libraries are not installed), you should call the DB2 Support Team for help. 2.7.6 Data corruption after moving from DB2 Version 7 FixPak 8 or earlier to a later Version 7 FixPak or to DB2 Version 8 If you are using JDBC and JTA to connect to a Unicode database, you may experience corruption for in your CHAR, VARCHAR, and CLOB data after you migrate to DB2 UDB Version 7 FixPak 9, or to DB2 UDB Version 8. The corruption only affects data with a hexadecimal value between 80 and FF. Characters in the normal ASCII range are not affected. For more information, refer to the "Data corruption after moving from DB2 Version 7 FixPak 8 or earlier to a later Version 7 FixPak or to DB2 Version 8" technote. 2.7.7 Application Development and supported software update For application development and supported software updates, visit the DB2 application development Web site at: http://www.ibm.com/software/data/db2/udb/ad/v7 2.7.8 Informix Federated support for DB2 Relational Connect Informix Federated support for DB2 Relational Connect was added in DB2 FixPak 4. If you have problems during installation or configuration (informix script and/or related libraries not installed with FixPak 4), you should call DB2 Support Team for help. 2.7.9 Loss of Control Center functionality There should be no problems introduced against back-level Control Center clients by applying FixPak 2 or FixPak 3 to a DB2 server. However, in DB2 Version 7.2, back-level Control Center clients will lose nearly all functionality. Back-level 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.7.10 Using DB2 XML Extender The readme.txt file for DB2 XML Extender Version 7.1 states the following under Considerations: The default version of DB2 UDB is DB2 UDB Version 7.1. If you want to use DB2 UDB Version 6.1 on AIX and Solaris, you should ensure that you are running with DB2 UDB Version 6.1 instances and with the DB2 UDB Version 6.1 libraries. This is incorrect. The DB2 XML Extender is supported only with DB2 Version 7.1 and 7.2. The readme.aix file 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.7.11 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 db2path.cfg. If the database was initialized as a snapshot, then the db2path.cfg file is 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 or in-progress state (by stopping or cancelling the rollforward). Standby databases that do not contain SMS table spaces can be backed up when in the rollforward pending or in-progress state. If the db2path.cfg file exists for such a database, then it will be included in the backup image. Because this file is new to V7 beginning with FixPak 4, a restoration 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.7.12 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 it 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 because DB2 automatically uses the previous concurrency management method). These changes 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 using the DB2 registry variable, DB2SPINLATCHES. This registry variable controls operation of the internal concurrency management component on SMP computers (computers 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 through 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 that the other two numbers be set explicitly to 5. Do not omit these two numbers; specify all three if you set the variable. To deal with the performance degradation, set to some value greater than 5. The value that 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. The value has to be found by experimentation. However, to help find a good setting as rapidly as possible, it is recommended that you try 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.7.13 Relational Connect and the djxlink command 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: Log on as root. Remove or rename the file djxlink.out, which is located in the $install_dir/lib/ directory, where $install_dir is the DB2 installation directory. If you are using Relational Connect to connect to an Oracle data source, set the environment variable ORACLE_HOME to the oracle home directory. Run the command: djxlink 2.7.14 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. 2.7.15 Updates into local tables in federated systems You can perform insert, update, and delete operations into local tables in an MPP federated environment. Although a workaround for INSERT statements was provided in FixPak 4, the workaround is no longer needed. This capability is fully enabled in FixPak 9. 2.8 Version 7 FixPak 10a Updates 2.8.1 Longer than normal database activations or first connects If you have recoverable logging configured (LOGRETAIN=ON or USEREXIT=ON) and more than 4 GB of log space configured ( (LOGPRIMARY+LOGSECOND) * LOGFILSIZ * 4K ), you may experience longer than normal database activations or first connects. If the database is consistent at the time of activation, DB2 will unnecessarily reallocate log files, which is the reason for slow activation. This behavior may lead to rollforward or crash recovery failures. If these reallocated log files are used during a rollforward, the rollforward will fail with SQL1265 - archive log file is not associated with the current log sequence. A previous log file reallocation may result in the recreated log file not chained correctly with the previous log file. Rollforward fails when trying to process this log file. Crash recovery may fail when running a very large transaction requiring log space that spans across greater than 4 GB of active log space. This causes a wrong log sequence number to be written to the transaction logs on disk, which will cause DB2 crash recovery to fail. 2.8.2 Search Discovery Listener Denial of Service Vulnerability A vulnerability exists in the DB2 "Discovery" service that allows a skilled remote user to cause the Discovery service to stop responding by sending a malicious network packet. This creates a denial of service situation for the Discovery service only. If search discovery was being relied on to find DB2 servers on a local subnet, these would not be found after the listener was disabled. The only interim workaround is to preemptively disable discovery services. 2.8.3 db2job security exposure An exposure exists in the db2job and db2job2 programs that could allow a skilled user with local login access to a UNIX system where DB2 is installed to obtain system administrator ("root") privileges. An interim workaround exists and involves disabling job scheduling. For each instance: cd $HOME/sqllib/adm chmod 000 db2job db2job2 2.8.4 db2licm buffer overflow A buffer overflow vulnerability exists in the db2licm program that would allow a skilled user with local login access to a UNIX system where DB2 is installed to obtain system administrator ("root") privileges. An interim workaround exists which involves disabling the ability to install licenses. For each instance: cd $HOME/sqllib/adm chmod u-s db2licm To re-enable the ability to install licenses, run the following command: chmod u+s db2licm Notices IBM may not offer the products, services, or features discussed in this document in all countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country/region or send inquiries, in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan The following paragraph does not apply to the United Kingdom or any other country/region where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions; therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product, and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information that has been exchanged, should contact: IBM Canada Limited Office of the Lab Director 8200 Warden Avenue Markham, Ontario L6G 1C7 CANADA Such information may be available, subject to appropriate terms and conditions, including in some cases payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems, and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements, or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility, or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. This information may contain examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious, and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information may contain sample application programs, in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. Each copy or any portion of these sample programs or any derivative work must include a copyright notice as follows: (C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. _enter the year or years_. All rights reserved. IBM, DB2, Universal Database, and S/390 are trademarks of International Business Machines Corporation in the United States, other countries, or both. Windows is a registered trademark of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, or service names may be trademarks or service marks of others. ------------------------------------------------------------------------------- * are trademarks or registered trademarks of IBM Corporation. ** are trademarks or registered trademarks of their respective owners. ------------------------------------------------------------------------------- ******************************************************************************* ** ** (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1999-2003. ** ALL RIGHTS RESERVED. ** *******************************************************************************