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
- More blogs by Bryan Sapot
- The Datix Blog
- Meet our Consultants
- Learn more about systems integration services