TPT Load Operator error table being loaded?

Tools & Utilities
N/A

TPT Load Operator error table being loaded?

Using the tpt load operator i received an error stating my error limit has exceeded. so when i go to look at the error tables is says the select operation is not allowed and that my error table is being loaded. How do i know what the error is if i can't see the contents of the error table? version TPT 12
16 REPLIES
Teradata Employee

Re: TPT Load Operator error table being loaded?

This is a DBS issue, not a TPT issue.

When a data load job is running, the target and error tables remain locked during the acquisition phase. Since your job terminated in the middle of the acquisition phase, the tables remain in a locked state.

Again, this is not a client software issue (FastLoad jobs would result in the same behavior), but a DBS issue.
-- SteveF
Teradata Employee

Re: TPT Load Operator error table being loaded?

BTW, another solution is to run a script with a BEGIN LOADING and END LOADING (no insert statement). This will cause the data loaded, up to the last checkpoint, to be committed to the table and then the locks will be released.
-- SteveF
Enthusiast

Re: TPT Load Operator error table being loaded?

If you specify locking for access on rhe query, you can usually read the table:

Locking errortable for access
Select * From errortable;
Enthusiast

Re: TPT Load Operator error table being loaded?

try this sql to see error tables, while they locked (Teradata Fastload Reference):
locking error_table_name for access
select errorcode, errorfieldname
from error_table_name;
Teradata Employee

Re: TPT Load Operator error table being loaded?

If one TPT script is executing and there is an error while its execution. The error and work tables are locked now. So when i execute TPT script again. this time due to locked table loading is not done. So is there any way to unlock the error and work tables of TPT in case of incompletely run job. Becuase now i have to drop the table each time.
Teradata Employee

Re: TPT Load Operator error table being loaded?

As long as the restart log table is preserved, so that the restarted TPT job can retrieve the correct job status, the restarted job should run just fine without the need to drop the error tables and start all over.

If you are still experiencing issues, please email me so I can have you send me all of the pertinent logs and look over the issue.

Or you can open an incident with the GSC aand they can take a look.

The TPT operators do not require the error tables to be dropped prior to restarting a job that already ran.
-- SteveF
Enthusiast

Re: TPT Load Operator error table being loaded?

Hi, I'm experiencing exactly same issue. I ran tdload from a file but it failed at a certain data point however it failed to remove a lock from the table. So now I cannot select or truncate the table. Running tdload again returns me an error

Got RDBMS Error 2652: Operation not allowed: mydb.mytable is being Loaded.

This is clearly an incorrect behavior. The table should have been unlocked in the first place. However how do I clean up the lock now?

Teradata Employee

Re: TPT Load Operator error table being loaded?

When a job fails prematurely, the target table remains locked. This lock is enforced by the Teradata database.

However, the problem with the restart was a bug in our code and that has been fixed in 13.10 and so try downloading the latest 13.10 patch for TPT and that should fix this issue.

(The problem appears to have been fixed in efix patch #6, but it is always best to download the latest.)

-- SteveF
Enthusiast

Re: TPT Load Operator error table being loaded?

Thanks a lot for the response. We do have 13.10 version.

tdload -v

 Teradata Load Utility Version 13.10.00.04

What is the exact version of patch #6?

BTW, in order to solve this I dropped our table then it still failed and had to manually cleanup 3 tables _err, _log and _XXX (don't remember). And had to remove files from /var/opt/teradata/tbuild/checkpoint/ because it tried to resume a job while in fact the table is empty.