Home
All Oracle Error Codes
Oracle DBA Forum

Frequent Oracle Errors

TNS:could not resolve the connect identifier specified
Backtrace message unwound by exceptions
invalid identifier
PL/SQL compilation error
internal error
missing expression
table or view does not exist
end-of-file on communication channel
TNS:listener unknown in connect descriptor
insufficient privileges
PL/SQL: numeric or value error string
TNS:protocol adapter error
ORACLE not available
target host or object does not exist
invalid number
unable to allocate string bytes of shared memory
resource busy and acquire with NOWAIT specified
error occurred at recursive SQL level string
ORACLE initialization or shutdown in progress
archiver error. Connect internal only, until freed
snapshot too old
unable to extend temp segment by string in tablespace
Credential retrieval failed
missing or invalid option
invalid username/password; logon denied
unable to create INITIAL extent for segment
out of process memory when trying to allocate string bytes
shared memory realm does not exist
cannot insert NULL
TNS:unable to connect to destination
remote database not found ora-02019
exception encountered: core dump
inconsistent datatypes
no data found
TNS:operation timed out
PL/SQL: could not find program
existing state of packages has been discarded
maximum number of processes exceeded
error signaled in parallel query server
ORACLE instance terminated. Disconnection forced
TNS:packet writer failure
see ORA-12699
missing right parenthesis
name is already used by an existing object
cannot identify/lock data file
invalid file operation
quoted string not properly terminated

Re: How to avoid or handle the ORA-0054s

Jonathan Lewis

2005-01-01

Replies:

Something like this should work:

declare
  ddl_timeout exception;
  pragma exception_init(ddl_timeout,-54);
begin
for i in 1..100 loop
begin
 execute immediate 'drop index i1';
 exit;
exception
 when ddl_timeout then
  dbms_lock.sleep(0.01);
end;
end loop;
end;
/


Can you not do
  alter index xxxx unusable;
  alter index rebuild:

This should scan the table to rebuild the index
and not re-introduce the corruption.



Regards

Jonathan Lewis

http://www.jlcomp.demon.co.uk/faq/ind_faq.html
The Co-operative Oracle Users' FAQ

http://www.jlcomp.demon.co.uk/seminar.html
Public Appearances - schedule updated Dec 23rd 2004






----- Original Message -----
From: "Hemant K Chitale" <hkchital@(protected)>
To: <oracle-l@(protected)>
Sent: Saturday, January 01, 2005 3:05 AM
Subject: How to avoid or handle the ORA-0054s



I have a need to regularly Recreate certain Indexes . {see note below on
WHY !}
This is scripted. However, the script sometimes errors on the DROP with
ORA-0054
and, of course, the CREATE doesn't go through.
We are trying to put a loop to check the spooled output of the script and
rerun
it if the DROP fails.

However, I was wondering if anyone has implemented a technique to handle
ORA-0054s
and automated the retry of the DDL.

Why I can't use a REBUILD is because it is a corrupt index.
{and surely, the REBUILD does use a WAIT when it switches the indexes.
Why doesn't Oracle allow us to write a DROP ... WAIT ?}



NOTE : Why the Recreate Indexes :
These are 6 BitMap Join Indexes. A bug in 9.2.0.4 causes occasional
ORA-600s
when querying the table. The solution is to Recreate the Indexes. I had
emailed
this list on 03-Dec on ORA-600 [12700] errors with these BMJIs.

Although 9.2.0.5 is indicated to have a fix, I see some references to other
BMJI issues in 9.2.0.5 and we haven't yet gone to 9.2.0.5 for this
particular database.

Hemant K Chitale
http://web.singnet.com.sg/~hkchital




--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l