Solved

DB2 LOAD operation failed

Posted on 2013-06-20
6
1,508 Views
Last Modified: 2013-06-21
Hi all,

One of the tables got in an inaccessible state after I tried to change a column datatype.
The LOAD failed during that change, and I can't do anything now.

If I try to open the table, I get
com.ibm.db.DataException: A database manager error occurred. : [IBM][CLI Driver][DB2/NT64] SQL0668N  Operation not allowed for reason code "3" on table "DBO.POSITION".  SQLSTATE=57016

QUIESCE  RESET;
goes with no errors, but doesn't change anything

REORG results in
SQL2216N  SQL error "-668" occurred while reorganizing a database
table or its indexes.


I am not proficient in DB2, especially in administration, so my research lead me nowhere.

Please tell me what I try - specifically,
because "try to cancel the LOAD job" tells me nothing.

Thank toy,

Any help is appreciated.
0
Comment
Question by:darrgyas
  • 3
  • 3
6 Comments
 
LVL 45

Expert Comment

by:Kdo
ID: 39263949
Hi darrgyas,

I doubt that you have a load hung up, but there may be a load status messing you up.

A "LOAD TERMINATE" or "LOAD RESTART" may clear the status.

Repeat the load statement that you issued (it must be the same statement) and include the keyword TERMINATE

If the original statement is:

  LOAD FROM myfile of del INTO table1 ...

then issue:

  LOAD FROM myfile of del TERMINATE INTO table1 ...


What was the original data type of the changed column and what is the new type?


Kent
0
 

Author Comment

by:darrgyas
ID: 39264239
Hi Kent,

I change SMALLint to INTEGER.

The table has appr 250 million records.

Unfortunately, I do not have the original LOAD statement, as it was done automatically by DB2 Control Center.

Is there anything else I can do?
0
 
LVL 45

Accepted Solution

by:
Kdo earned 500 total points
ID: 39264276
I seldom use Control Center, and never for running backups, so I'm guessing here.  If another expert is more familiar, maybe they'll jump in.

It sounds like there are two issues.  

1)  The ALTER TABLE {table} ALTER COLUMN encountered an error in the data conversion.  If simply copying a small integer to a normal integer caused a conversion error, there's a DB2 error that IBM needs to know about.  (I really don't think that that is what happened.)

What may have happened is that DB2 ran out of space during the conversion and aborted the ALTER statement.  I do not remember if the ALTER logs the change so that it can be rolled back.  If it does, it's probable that the rollback space isn't large enough.  But I would expect that transaction to roll back without a problem.

This ALTER would affect every single row so the rollback space would need to be at least as large as this table.  Depending on row size and blocking it's also possible that growing each row caused the blocks to split, growing the table significantly.


2)  The backup process hung up due to the error above.  The process needs to be cleared.



Can you do anything on the table?  A simple query?

  SELECT COUNT(*) FROM mytable;

I suspect not.  What error message do you get?
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:darrgyas
ID: 39264300
Here's what I get:

com.ibm.db.DataException: A database manager error occurred. : [IBM][CLI Driver][DB2/NT64] SQL0668N  Operation not allowed for reason code "3" on table "DBO.TRACTION".  SQLSTATE=57016
0
 
LVL 45

Expert Comment

by:Kdo
ID: 39264636
Ok.  It looks like we can skip right past item 1 above and deal with the load pending error.



Have you tried doing a LOAD TERMINATE from the Control Center or the Command Line Processor?
0
 

Author Closing Comment

by:darrgyas
ID: 39265873
Thanks for your time, Kent, but I think I dug a hole for myself here. I'll survive.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

November 2009 Recently, a question came up in the DB2 forum regarding the date format in DB2 UDB for AS/400.  Apparently in UDB LUW (Linux/Unix/Windows), the date format is a system-wide setting, and is not controlled at the session level.  I'm n…
Recursive SQL in UDB/LUW (it really isn't that hard to do) Recursive SQL is most often used to convert columns to rows or rows to columns.  A previous article described the process of converting rows to columns.  This article will build off of th…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question