Technote (FAQ)
Question
This document describes a product defect which causes a connection to the database to fail followed by the 40XD2 error due to a table being deleted.
Answer
PROBLEM
You attempt connecting to a database and it fails with errors similar to the following example:
-
ij version 10.1
ij> connect to 'E:\csdb';
ERROR XJ040: Failed to start database 'E:\csdb', see the next exception for details.
ERROR 40XD2: Container Container(0, 8320) cannot be opened; it either has been dropped or does not exist.
SCOPE
The following products and operating systems are affected:
|
Product Name
|
Product Version(s)
|
Hardware Vendor
|
Operating System
|
|
IBM® Cloudscape™
|
5.1.60.45 and earlier;
10.0.x prior to 10.0.2.2.349072 and 10.1.x prior to 10.1.2 |
Windows
|
All
|
CAUSE
Sometimes during the REDO recovery action, the system will incorrectly remove the file associated with a table. The bug requires the following four conditions to reproduce:
-
1) The OS/filesystem must be case insensitive such that a request to delete a conglomerate file named
C2080.dat would also remove
c2080.dat. This is true in Windows default file systems and not true in Unix/Linux filesystems.
- clean shutdown from ij using the exit command
- clean shutdown of database using the shutdown=true url
- calling the checkpoint system procedure
- generating enough log activity to cause a regularly scheduled checkpoint
2) The system must be incorrectly shutdown so a subsequent access of the database causes a REDO recovery action of a DROP TABLE statement. This means that a drop table statement must have happened since the last checkpoint in the log file. Examples of scenarios that cause checkpoints are:
3) If the conglomerate number of the above described drop table is TABLE_1, for a problem to occur, there must also exist in the database a table such that it's HEX(TABLE_2) = TABLE_1.
4) Either TABLE_2 must not be accessed during REDO prior to the REDO operation of the drop of TABLE_1, or there must be enough other table references during the REDO phase to push the caching of the open of TABLE_2 out of cache.
If all of the above conditions are met, then during REDO the system will incorrectly delete TABLE_2, while trying to correctly drop TABLE_1.
This issue has been addressed and is fixed in version 10.1.2. The URL where this fix pack can be found is:
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408cline/index.html
You can also check an existing databases for this issue by running a checktable on all tables in the database. See the following URL for information on the checktable command.
http://publib.boulder.ibm.com/infocenter/cscv/v10r1/index.jsp?topic=/com.ibm.cloudscape.doc/radminconsist24642.html
Important: This is not the only possible cause for this problem. If you cannot find a resolution, contact your local technical support office.
SOLUTION
Upgrade to IBM Cloudscape version 10.1.2 or greater. The URL for this fix pack is:
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408cline/index.html
For 5.1 users: please contact customer support and request version 5.1.60.46 or later.
Rate this page:
Average rating
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.