Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Urgent ---- SQLLDR Error
pargat_g_at_yahoo.com (pargat singh) wrote in message news:<59f09594.0401121222.32a65a2e_at_posting.google.com>...
> Hi Everyone
>
> I am using SQLLDR to load the data and i am getting following error
>
> SQL*Loader-908: Unable to lock table TABLE_NAME due to ORACLE
> error 54.
>
> Loader Cmd is
>
> SQLLDR.EXE userid=XXXXX/YYYY_at_ZZZZ control=S:\.......\iss3_memdoc.ctl
> direct=true log=S:\.....\iss3_SQLLDR_Memdoc.log
> bad=S:\....\iss3_memdoc.bad data=S:\....\iss3_memdoc.dat
> discard='S:\....\iss3_memdoc.discard' errors=1000 rows=20000
>
> Can anyone please tell me what is wrong and what i can do to fix it.
>
> Thanks in advance.
>
> Pargat Gill
I believe (could be wrong) that the default behavior in sqlldr is to truncate a table that you are loading into, unless you specify APPEND.
If any other user has any sort of lock on any row or on the table, the
truncate command will fail.
See, error 54 is ORA-00054: resource busy and acquired with NOWAIT
So, if you were simply intended to load additional rows, the sqlldr 'ing session is the one that is not playing nicely in a multiuser environment.
As Daniel indicated, how about you load this into a staging table and get that working first. Then read the docs for using sqlldr and append the rows is that i s your intention. Maybe you got lucky by having the truncate operation fail. If you did want to truncate the table, then by all means, kill the other session, and not just via an ALTER SYSTEM command.
Pd Received on Tue Jan 13 2004 - 00:33:33 CST
![]() |
![]() |