Table of Contents

Oracle Errors

ORA-38029

“Object statistics are locked”
You might also see this reported from DBMS_STATS as ORA-20005 “object statistics are locked”

See Metalink note 433240.1

Possible causes:

  1. DBMS_STATS.LOCK_[SCHEMA|TABLE]_STATS has been run
  2. Import (imp rows=N) or Datapump (impdp content=metadata_only)
  3. Statistics on queue tables are designed to be empty and locked.

For example:

SQL> exec dbms_stats.gather_table_stats('EUDATA','F4105');

BEGIN dbms_stats.gather_table_stats('EUDATA','F4105'); END;
*
ERROR at line 1:
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: at "SYS.DBMS_STATS", line 15027
ORA-06512: at "SYS.DBMS_STATS", line 15049
ORA-06512: at line 1

SQL> exec dbms_stats.unlock_table_stats('EUDATA','F4105');

PL/SQL procedure successfully completed.

SQL> exec dbms_stats.gather_table_stats('EUDATA','F4105');

PL/SQL procedure successfully completed.

Solutions

  1. Run DBMS_STATS.UNLOCK_[SCHEMA|TABLE]_STATS, see above
  2. Import - use STATISTICS=NONE. Datapump - use exclude=(table_statistics,index_statistics).
  3. Statistics on queue tables are desinged to be empty and should remain locked.

ORA-12545

12545, 00000, "Connect failed because target host or object does not exist"
// *Cause: The address specified is not valid, or the program being
// connected to does not exist.
// *Action: Ensure the ADDRESS parameters have been entered correctly; the
// most likely incorrect parameter is the node name.  Ensure that the
// executable for the server exists (perhaps "oracle" is missing.)
// If the protocol is TCP/IP, edit the TNSNAMES.ORA file to change the
// host name to a numeric IP address and try again.

Good reference to solving ORA-12545 can be found here.
It's a bit of an old reference but still relevant.

Basically, check lsnrctl serv for the hostname that the listener will be sending back to the client.
Client must be able to resolve that hostname. Options are:

ORA-600 [12235]

One of the more amusing Oracle errors:

ORA-600 [12235] "Oracle process has no purpose in life !"

To summarise Metalink -
“On a heavily loaded system, ORA-600 [12235] may be a symptom that the server process was too slow in starting”.
It's also possible (maybe even probable) that someone just typed 'oracle' at the command prompt …