Skip to main content

ERROR 40XD2: Container Container(0, 8320) cannot be opened; it either has been dropped or does not exist


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.

    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:
    • 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

    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:

(0 users)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.

Rate this page:


(0 users)Average rating

Add comments

Document information

Cloudscape


Software version:
10


Operating system(s):
Windows


Reference #:
1231025


Modified date:
2009-10-25

Translate my page

Content navigation