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: Why we should use bind variables when we write code......

Dennis Williams

2006-09-19

Replies:
Mark,
 
Basically Oracle "tries" to share SQL statements all the time. So when it gets a new SQL statement, it first creates a checksum and compares that checksum with each of the SQL statements in the buffer to try to find a match, an exercise in futility with non-binding code. Here is what I did when I encountered your problem a few years ago, maybe others have better suggestions:
 
1. Reduce SHARED_POOL as a quick fix. This means it has fewer statements to attempt to compare with.
 
2. Scan V$SQL for the worst offenders. You'll see the same SQL statements appear in the thousands, with just changed variables. Use some clever SQL queries to pinpoint the worst of the worst.
 
3. Take the worst SQL statements and match them with the application. Then beg the developers to locate the place where those SQL statements are generated and change them to use bind variables.
 
That should get you past the crisis. Then you can work the larger issue of training all the developers.
 
Dennis Williams