When the export command is issued with a IXF file format and a SELECT * clause, index information is collected, if applicable.
If the column names specified in the index contain - or + characters, the index information will not be collected and you will receive SQL code SQL27984W. The export will complete and the data being exported will not be affected. However, the index information will not be saved in the IXF file.
If you will be recreating the table using the import command with the CREATE parameter, the indexes will not be recreated. To create the indexes separately, use the db2look utility.
Calling the db2ReadLog API from an application can result in an error when the application disconnects from the database if a commit or rollback is not performed before the disconnect:
For non-embedded SQL applications, set autocommit mode on before calling the db2ReadLog API.
Issue a COMMIT or ROLLBACK statement after calling the db2ReadLog API and before disconnecting from the database.
The db2gcf command starts, stops, or monitors a DB2 Universal Database (UDB) instance, usually from an automated script, such as in an HA (high availability) cluster.
Using the db2gcf system command with the -k parameter on DB2 UDB Workgroup Server will fail.
The "db2gcf -k" command works only on DB2 UDB Enterprise Server Edition and not on DB2 UDB Workgroup Server Edition.
If a 32-bit DB2 Universal Database (UDB) server is run on an AIX system and an application running on the same system has more than one local database connection through the DRDA wrapper, then the application might get the following error:
SQL1822N Unexpected error code "-1224" received from data source "W3_SERVER2". Associated text and tokens are func="DriverConnect" msg="SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. " SQLSTATE=560BD
To avoid this error, put the following entry in the federated configuration file (instance_directory/cfg/db2dj.ini):
EXTSHM=ON
Alternately, you can catalog the local DB2 UDB database as being on a TCP/IP node. For example:
CATALOG TCPIP NODE my_node REMOTE my_host SERVER 123; CATALOG DB mydb AT NODE my_node; CREATE WRAPPER drda; CREATE SERVER my_server TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "my_id" PASSWORD "my_pw" OPTIONS(ADD DBNAME 'MYDB');
If your hotkeys are not working in Microsoft Visual Studio .NET Framework 1.1, you can download a hotfix from the Microsoft Web site. You can find the hotfix in the Microsoft Knowledge Base, article Q836745.
AIX has changed the code set bound to the simplified Chinese locale Zh_CN on:
The code set has been changed from GBK (code page 1386) to GB18030 (code page 5488 or 1392). Since DB2 Universal Database (UDB) for AIX supports the GBK code set natively and the GB18030 code set via Unicode, DB2 UDB will default the Zh_CN locale's code set to ISO 8859-1 (code page 819), and in some operations will also default the locale's territory to the United States (US).
To work around this limitation, you have two options:
If you choose to use the first option, issue the following commands:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
If you choose to use the second option, change your locale from Zh_CN to either ZH_CN or zh_CN. The ZH_CN locale's code set is Unicode (UTF-8), while the zh_CN locale's code set is eucCN (code page 1383).
Red Hat Version 8 and later (including Red Hat Enterprise Linux [RHEL] versions 2.1 and 3) have changed the default code set for simplified Chinese from GBK (code page 1386) to GB18030 (code page 5488 or 1392).
Since DB2 Universal Database (UDB) for Linux supports the GBK code set natively and the GB18030 code set via Unicode, DB2 UDB will default its code set to ISO 8859-1 (code page 819), and in some operations will also default its territory to the United States (US).
To work around this limitation, you have two options:
If you choose to use the first option, issue the following commands:
db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start
If you choose to use the second option, issue any one of the following commands:
export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8
where the code set associated with zh_CN is eucCN or code page 1383, and with zh_CN.utf8 is code page 1208.
There are incompatibilities with Unicode support when the Merant Driver Manager accesses the DB2 ODBC driver on UNIX. These incompatibilities cause the Merant Driver Manager to use Unicode even if the application did not request Unicode use. This situation can lead to problems with components such as the Data Warehouse Center, Information Catalog Manager, and MQSI, which require the Merant Driver Manager to support non-IBM data sources. You can use an alternate DB2 ODBC driver library without Unicode support enabled until a permanent solution is available.
An alternative DB2 ODBC driver library without Unicode support enabled is included with DB2 Universal Database (UDB) Version 8.1 for AIX, HP-UX, and Solaris Operating Environment. To use this alternative library, you must create a copy of it, giving the copy the original DB2 ODBC driver library's name.
To switch to the non-Unicode ODBC library on AIX, HP-UX, or the Solaris Operating Environment, see the following instructions. Because this is a manual process, you must carry it out every time you update your product, including after the application of successive FixPaks or modification levels.
To create the alternate library on AIX:
cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o
To switch back to the original object, follow the same procedure using the backup file instead of the db2_36.o file.
To create the alternate library in a Solaris Operating Environment:
cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1
To switch back to the original object, follow the same procedure using the backup file instead of the libdb2_36.so.1 file.
To create the alternate library on HP-UX PA-RISC:
cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl
To switch back to the original object, follow the same procedure using the backup file instead of the libdb2_36.sl file.
To create the alternate library on HP-UX on IA64:
cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so
To switch back to the original object, follow the same procedure using the backup file instead of the libdb2_36.so file.
Contact IBM Support if you require assistance with DB2 UDB and the Merant Driver Manager on other UNIX operating systems.
AIX 5 NFS APAR IY32512 might cause the db2stop command to fail on systems with a large number of partitions.
On a server that is receiving large numbers of requests for blocking locks on files that are already locked, the lock daemon might become unresponsive. This situation occurs when all available locked threads are allocated to threads that are waiting for the locks to become available, so there is no thread available to pick up the work when the unlock request is made.
When this situation occurs the stopped nodes must be restarted. There is a DB2 Universal Database workaround for this situation by stopping the nodes one at a time using the NODENUM option of the db2stop command.
If the SQLFLAG(STD) precompile option is enabled, it will cause the following error: Abend C6 occurred while running Precompile program DSNHPC
Remove the SQLFLAG (STD) precompile option when using the Development Center to create SQL stored procedures to run on DB2 Universal Database for z/OS, Version 8.
DB2 Connect(TM) doesn't route connections to another member of a Distributed Data Facility (DDF) when the connecting member of the DDF in the data-sharing group on OS390 has been shutdown. With Sysplex enabled, DB2 Connect(TM) routes connections to another member in DDF according to the server list.
The DB2 Connect Version 8 Sysplex was designed with agent pooling in mind. The Sysplex server list is freed if there are no agents and no connections to a database. Therefore, at least one agent must be kept to maintain the Sysplex server list.
Enable connection pooling by running the following commands:
db2 update dbm cfg using num_poolagents number db2stop db2start
where number is the maximum number of agents allowed to be pooled on the DB2 instance. Connection pooling is enabled when number is greater than 0.
Set num_poolagents to -1, which resolves to half of the value assigned to the maxagents configuration parameter
Despite being documented in the DB2 Connect User's Guide, the DB2 Connect Custom Advisor is no longer supported in Version 8.2.
This failure can also occur when installing DB2 UDB Version 8.1 FixPak 7 if you manually updated the DB2 Administration Server jdk_path configuration parameter to point to the HP-UX SDK 1.4, or if you dropped and recreated the DB2 Administration Server (DAS). The failure occurs because, in either of these cases, the jdk_path configuration parameter changed to point to the HP-UX SDK 1.4.
A DB2 UDB Version 8.2 32-bit instance requires HP-UX SDK 1.3 to run successfully.
db2 update admin config using JDK_PATH /opt/java1.3
db2admin stop db2admin start
If you have problems displaying Indic characters when using the DB2 GUI tools, you might not have the required fonts installed on your system.
DB2 Universal Database (UDB) has packaged the following IBM TrueType and OpenType proportional Indic language fonts for your use. You can find these fonts in the font directory on any of the following CDs:
These fonts are to be used only in conjunction with DB2 UDB. You cannot engage in the general or unrestricted sale or distribution of these fonts:
Typeface | Weight | Font File Name |
---|---|---|
Devanagari MT for IBM | Medium | devamt.ttf |
Devanagari MT for IBM | Bold | devamtb.ttf |
Tamil | Medium | TamilMT.ttf |
Tamil | Bold | TamilMTB.ttf |
Telugu | Medium | TeluguMT.ttf |
Telugu | Bold | TeleguMTB.ttf |
Detailed instructions on how to install the fonts and modify the font.properties file can be found in the Internationalization section of the IBM Development Kit for Java documentation.
In addition, the following Microsoft products come with Indic fonts that can be used with DB2 GUI tools:
With the exception of the DB2 Setup wizard, the GUI tools will not work on zSeries servers running the Linux operating system. This limitation includes any items normally launched from the Installation launchpad, such as the Quick Tour.
If you want to use the GUI tools with one of these systems, install the administrative tools on a client system with a different system configuration, and use this client to connect to your zSeries server.
To get accurate search results in the DB2 Information Center you must enclose search terms that include numbers within quotation marks.
For example, if you search for the following term you will receive no results:
1.4.1
However, if you enclose the term within quotation marks, you receive the appropriate results:
"1.4.1"
A search for the following term will return extra topics:
DB20000I
But a search on the following term works properly:
"DB20000I"
If an Information Catalog Center log file is not generated when you import tag language files to the Information Catalog Center, perform the following troubleshooting steps:
db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ...
If the Query Patroller packages are not bound after applying a fixpak, a user without DBADM authority or proper Query Patroller privileges can encounter the following error when using the Query Patroller Center or Query Patroller command line:
SQL0001N - Binding or precompilation did not complete successfully.
If you are using the Query Patroller Center, the SQL0001N error is logged in qpdiag.log file. If you are using the Query Patroller command line, the SQL0001N is returned to the console
Auto-bind code exists to initiate automatic binding. However, the automatic binding fails when the connecting user does not have the necessary privileges to execute all statements in the Query Patroller packages. A symptom of this problem is missing folders in the Query Patroller Center.
To avoid this problem, the qpserver.lst packages should be bound manually by a user with DBADM authority or necessary privileges after applying a fixpak.
Submitted queries in Query Patroller might receive SQL code -29007 when there are no more available ports on Windows XP or Windows 2003. The likelihood of this error increases with an increasing number of clients accessing Query Patroller.
Set the following Windows registry variables:
MaxUserPort=65534 TcpTimedWaitDelay=30
and restart your system for the changes to take effect.
Details about setting Windows registry variables can be found at the Microsoft(R) Help and Support website at http://support.microsoft.com/.
You might experience file permission problems if you are using DB2 Universal Database (UDB) on Windows and are not an administrator on the Windows system. If you receive an SQL1035N, SQL1652N, or SQL5005C error message, possible causes and workarounds are shown in the following information:
Grant the users, at minimum, the MODIFY permission on the instance_dir directory at the file system level.
Some XML Extender sample programs might have the same name as other installed programs. Accidentally invoking another program with the same name as an XML Extender sample program can damage your XML files. The following list shows the old XML Extender sample program names as well as new replacement program names that are less likely to cause conflicts. Make sure you use the new sample program names instead of the old ones to prevent damaging your XML files.
Old Program (Do not use) | New Program (Use) |
---|---|
insertx.exe | dxxisrt.exe |
retrieve.exe | dxxretr.exe |
retrieve2.exe | dxxretr2.exe |
retrievec.exe | dxxretrc.exe |
shred.exe | dxxshrd.exe |
tests2x.exe | dxxgenx.exe |
tests2xb.exe | dxxgenxb.exe |
tests2xc.exe | dxxgenxc.exe |
Old Program (Do not use) | New Program (Use) |
---|---|
insertx | dxxisrt |
retrieve | dxxretr |
retrieve2 | dxxretr2 |
retrievec | dxxretrc |
shred | dxxshrd |
tests2x | dxxgenx |
tests2xb | dxxgenxb |
tests2xc | dxxgenxc |
The source code (.sqx files) for the executables listed previously are located in the samples\db2xml\c directory of your installation. The source files are still labeled with their old names. If you make changes to the source code, copy your newly compiled executables (with the old names) to the sqllib\bin directory.
On Windows platforms, you must make an additional copy, rename it with its new name above, and copy it to the bin directory. Both copies replace the existing files in the bin directory. For example, after compiling your new version of shred.exe, you need to make two copies and replace the files in the bin directory: one labeled shred.exe and the other renamed dxxshrd.exe.
On Linux and UNIX platforms, you need only to replace the file with the old name with your newly compiled version. If you create new executable files from these samples, you must copy the new files from the \SQLLIB\samples\db2xml\c\ directory into the \SQLLIB\bin\ directory, and then make an additional copy, renaming them according to the previous table.
You can now decompose documents that contain non-unique attributes or non-unique element names that map to different columns (of the same or different tables) without receiving the DXXQ045E error. The following is an example of an XML document with non-unique attributes and non-unique element names:
<Order ID="0001-6789"> <!-- Note: attribute name ID is non-unique --> <Customer ID="1111"> <Name>John Smith</Name> </Customer> <!-- Note: element name Name is non_unique --> <Salesperson ID="1234"> <Name>Jane Doe</Name> </Salesperson> <OrderDetail> <ItemNo>xxxx-xxxx</ItemNo> <Quantity>2</Quantity> <UnitPrice>12.50</UnitPrice> </OrderDetail> <OrderDetail> <ItemNo>yyyy-yyyy</ItemNo> <Quantity>4</Quantity> <UnitPrice>24.99</UnitPrice> </OrderDetail> </Order>
The accompanying DAD, which maps the duplicate elements and attributes to different columns, looks like this:
<element_node name="Order"> <RDB_node> <table name="order_tab" key="order_id"/> <table name="detail_tab"/> <condition> order_tab.order_id=detail_tab.order_id </condition> </RDB_node> <!--attribute ID duplicated below, but mapped to a different col--> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="order_id" type="char(9)"/> </RDB_node> </attribute_node> <element_node name="Customer"> <!--attribute ID duplicated above, but mapped to a different col--> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="cust_id" type="integer"/> </RDB_node> </attribute_node> <!--element name duplicated below, but mapped to a different col--> <element_node name="Name"> <text_node> <RDB_node> <table name="order_tab" /> <column name="cust_name" type="char(20)" /> </RDB_node> </text_node> </element_node> </element_node> <element_node name="Salesperson"> <!--attribute ID duplicated above, but mapped to a different col--> <attribute_node name="ID"> <RDB_node> <table name="order_tab" /> <column name="salesp_id" type="integer"/> </RDB_node> </attribute_node> <!--element name duplicated above, but mapped to a different col--> <element_node name="Name"> <text_node> <RDB_node> <table name="order_tab" /> <column name="salesp_name" type="char(20)" /> </RDB_node> </text_node> </element_node> </element_node> <element_node name="OrderDetail" multi_occurrence="YES"> <element_node name="ItemNo"> <text_node> <RDB_node> <table name="detail_tab" /> <column name="itemno" type="char(9)"/> </RDB_node> </text_node> </element_node> <element_node name="Quantity"> <text_node> <RDB_node> <table name="detail_tab" /> <column name="quantity" type="integer"/> </RDB_node> </text_node> </element_node> <element_node name="UnitPrice"> <text_node> <RDB_node>detail_tab" /> <table name="detail_tab" /> <column name="unit_price" type="decimal(7,2)"/> </RDB_node> </text_node> </element_node> </element_node> </element_node>
The contents of the tables would look like the following sample after the preceding document is decomposed:
ORDER _TAB: ORDER_ID CUST_ID CUST_NAME SALESP_ID SALESP_NAME 0001-6789 1111 John Smith 1234 Jane Doe DETAIL_TAB: ORDER_ID ITEMNO QUANTITY UNIT_PRICE 0001-6789 xxxx-xxxx 2 12.50 0001-6789 yyyy-yyyy 4 24.99
When connecting to an OS/390 system using SNA, the host VTAM layer automatically flows a commit when a new connection is made. The automatic commit allows the host side thread state to be inactive, and the thread immediately becomes inactive.
However, when connecting to an OS/390 system using TCP/IP, there is no automatic commit. The application itself must flow an explicit commit after the connection to allow the thread to be inactive on the host. Without the explicit commit, the thread is subject to an idle thread time out.
The suggested workaround is to rewrite the application so that it will perform an explicit commit if the connection goes idle after the connection.
[ Top of page |Previous page | Next page | Contents ]