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: 10046/10079 Tracing understanding - SOLVED

Jared Still


Yes, but even so, PL/SQL does not pad the CHAR input parameter out to 32k.
It will be the length of the string without padding.

Same with CHAR return value from a function.

IN OUT/OUT CHAR variables are padded to the length
defined by the caller.

As Brian mentioned, possibly a driver problem.


create or replace function mychar(
   p_in char
   , p2_in in out char
   , p3_in out char
) return char
   dbms_output.put_line('p_in:' || length(p_in));
   p2_in := 'this is a test';
   p3_in := 'also a test';
   return 'testing';
   v1 char(20);
   v2 char(20);
   dbms_output.put_line(length(mychar('this is a test',v1,v2)));

On 8/4/05, Powell, Mark D <mark.powell@eds.com> wrote:
Jared, think parameter list ( p_in varchar2, p_in2 char)
The lengths are undefined.
-- Mark D Powell --

From: oracle-l-bounce@freelists.org [mailto:oracle-l-bounce@freelists.org] On Behalf Of Jared Still
Sent: Thursday, August 04, 2005 12:50 PM
To: brian_wisniewski@yahoo.com
Cc: Oracle-L@freelists.org
Subject: Re: 10046/10079 Tracing understanding - SOLVED

Nice piece of work Brian, congratulations.

Can you explain a bit more about the 'fixed length' of a char?

CHAR in PL/SQL defaults to 1 character.

   x char;
   x := 'AB';

This will fail with
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 4
If it is declared like this then I understand the problem:

   x char(32767);
   x := 'AB';



On 8/4/05, Brian Wisniewski <brian_wisniewski@yahoo.com> wrote:
I finally figured out the problem with the SQL*Net more data to client problem.  The developer defined output variables as CHAR since he was only passing back a single character. 
Well the max size of a CHAR field in a procedure is 32K and it's fixed length so it was returning the value back to the calling program along with another 32000+ spaces to fill it out to the max possible size.  And he was doing this with 10 fields so that's a mere 320K of spaces sent back to the java pgm each and every time this pkg was called!  Hence the need for Oracle to break that down into manageable pieces to send across the network. 
A quick change to VARCHAR2 fixed the issue.
Initial testing showed this to only be an issue when the package was called by java - I didn't see this ...more data.. when I called it via sqlplus from the same client.
- Brian

Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist

Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist