DB2 Error SQL0668N after failed massload on WebSphere Commerce

If you see the following error after a fail load with the massload command:

SQL0668N Operation not allowed for reason code "1" on table "<table-name>".
SQLSTATE=57016

It means the table is in the Set Integrity Pending No Access state. The integrity of the table is not enforced and the content of the table may be invalid. An operation on a parent table or an underlying table that is not in the Set Integrity Pending No Access state may also receive this error if a dependent table is in the Set Integrity Pending No Access state.

Essentially the table is locked and not accessible to read or write. You can “unlock” the table by issuing the following commands.

From the command line:

db2 connect to wcdbname user user_id using password
db2 set integrity for table_name immediate checked

or issue

set integrity for table_name immediate checked

from control center.

If this does not work you can run the following command:

SET INTEGRITY FOR tablename CHECK, FOREIGN KEY, MATERIALIZED QUERY, STAGING, GENERATED COLUMN IMMEDIATE UNCHECKED;

Which should remove the invalid items from the table and “unlock” it.

Suggested