Search notes:

Oracle Error Messages

List of error messages an SQL developer is likely to encounter

This is a list of error messages I have encountered often enough to warrant a note to myself.
ORA-00000: normal, successful completion Possibly the only message that is not an error message.
ORA-00001: unique constraint … violated
ORA-00028: your session has been killed Notify a user that the session was killed.
ORA-00040: active time limit exceeded - call aborted
ORA-00044: timed_statistics must be TRUE when statistics_level is not BASIC
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
ORA-00060: deadlock detected while waiting for resource
ORA-00227: corrupt block detected in control file: (block , # blocks )
ORA-00268: specified log file does not exist ''
ORA-00401: the value for parameter compatible is not supported by this release
ORA-00406: COMPATIBLE parameter needs to be … or greater
ORA-00443: background process … did not start
ORA-00604: Error occurred at recursive SQL level … Check subsequent errors.
ORA-00600: internal error code…
ORA-00609: could not attach to incoming connection
ORA-00700: soft internal error, arguments … A process encounted a violation of an assertion. This error is not harmful and the process can continue with its task.
ORA-00704: bootstrap process failure
ORA-00902: invalid datatype Thrown, for example, when using inexisting datatypes or when using a boolean in a release earlier than 23c.
ORA-00903: invalid table name
ORA-00904: invalid identifier
ORA-00905: missing keyword
ORA-00906: missing left parenthesis
ORA-00907: missing right parenthesis
ORA-00910: specified length too long for its datatype
ORA-00911: invalid character
ORA-00913: too many values
ORA-00918: column ambiguously defined
ORA-00920: invalid relational operator
ORA-00922: missing or invalid option
ORA-00923: FROM keyword not found where expected
ORA-00928: missing SELECT keyword
ORA-00932: inconsistent datatypes: expected … got …
ORA-00933: SQL command not properly ended
ORA-00935: group function is nested too deeply
ORA-00936: missing expression
ORA-00937: not a single-group group function
ORA-00942: table or view does not exist
ORA-00947: not enough values
ORA-00950: invalid DROP option
ORA-00957: duplicate column name
ORA-00960: ambiguous column naming in select list
ORA-00968: missing INDEX keyword This error is thrown, for example, when trying to create a unique bitmap index.
ORA-00972: identifier is too long The maximum length for identifiers (column names etc.) is 128.
ORA-00976: Specified pseudocolumn or operator not allowed here.
ORA-00979: not a GROUP BY expression
ORA-00984: column not allowed here
ORA-00990: missing or invalid privilege Thrown for example if a user tries to grant an inexisting privilege.
ORA-00997: illegal use of LONG datatype
ORA-00998: must name this expression with a column alias
ORA-01004: invalid value for parameter …
ORA-01007: Reference to a variable not in SELECT clause
ORA-01008: not all variables bound
ORA-01013: user requested cancel of current operation thrown after stopping the execution of an SQL statement with alter system cancel sql.
ORA-01017: invalid username/password; logon denied
ORA-01027: bind variables not allowed for data definition operations
ORA-01031: insufficient privileges
ORA-01034: ORACLE not available
ORA-01039: insufficient privileges on underlying objects of the view
ORA-01045: user ... lacks CREATE SESSION privilege; logon denied
ORA-01219: database or pluggable database not open: queries allowed on fixed tables or views only
ORA-01400: cannot insert NULL into …
ORA-01403: no data found ORA-01403: no data found with ORA-01422: exact fetch returns more than requested number of rows
ORA-01405: fetched column value is NULL
ORA-01407: cannot update … to NULL
ORA-01410: invalid ROWID
ORA-01422: exact fetch returns more than requested number of rows Compare with ORA-01422: exact fetch returns more than requested number of rows
ORA-01427: single-row subquery returns more than one row
ORA-01436: CONNECT BY loop in user data
ORA-01438: value larger than specified precision allowed for this column
ORA-01440: column to be modified must be empty to decrease precision or scale
ORA-01442: column to be modified to NOT NULL is already NOT NULL
ORA-01466: unable to read data - table definition has changed
ORA-01476: divisor is equal to zero
ORA-01481: invalid number format model
ORA-01489: result of string concatenation is too long
ORA-01495: Chain row table not found.
ORA-01652: unable to extend temp segment by … in tablespace
ORA-01653: unable to extend table . by in tablespace
ORA-01578: ORACLE data block corrupted (file # , block # )
ORA-01704: string literal too long
ORA-01720: grant option does not exist for …
ORA-01722: invalid number
ORA-01723: zero-length columns are not allowed
ORA-01731: circular view definition encountered A view cannot select from itself
ORA-01732: data manipulation operation not legal on this view
ORA-01733: virtual column not allowed here
ORA-01735: invalid ALTER TABLE option
ORA-01740: missing double quote in identifier
ORA-01747: invalid user.table.column, table.column, or column specification
ORA-01748: only simple column names allowed here
ORA-01756: quoted string not properly terminated
ORA-01773: may not specify column datatypes in this CREATE TABLE
ORA-01779: cannot modify a column which maps to a non key-preserved table
ORA-01786: FOR UPDATE of this query expression is not allowed
ORA-01787: only one clause allowed per query block
ORA-01789: query block has incorrect number of result columns Thrown when using union or union all and the number of selected columns is not equal for all involved select statements.
ORA-01790: expression must have same datatype as corresponding expression
ORA-01791: not a SELECTed expression
ORA-01830: date format picture ends before converting entire input string
ORA-01839: date not valid for month specified
ORA-01840: input value not long enough for date format
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
ORA-01843: not a valid month
ORA-01861: literal does not match format string
ORA-01918: user … does not exist
ORA-01922: CASCADE must be specified to drop …
ORA-01940: cannot drop a user that is currently connected
ORA-01934: circular role grant detected
ORA-01950: no privileges on tablespace '…'
ORA-01990: error opening password file …
ORA-02000: missing … keyword
ORA-02018: database link of same name has an open connection
ORA-02021: DDL operations are not allowed on a remote database
ORA-02063: preceding … from
ORA-02070: database … does not support … in this context
ORA-02080: database link is in use
ORA-02096: specified initialization parameter is not modifiable with this option
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02143: invalid STORAGE option
ORA-02158: invalid CREATE INDEX option
ORA-02199: missing DATAFILE/TEMPFILE clause
ORA-02264: name already used by an existing constraint
ORA-02266: unique/primary keys in table referenced by enabled foreign keys See also Error messages related to referential integrity.
ORA-02273: this unique/primary key is referenced by some foreign keys A primary key cannot be dropped as long as foreign keys reference it.
ORA-02287: sequence number not allowed here
ORA-02290: check constraint … violated Thrown if the condition of a formulated check constraint is not met.
ORA-02291: integrity constraint … violated - parent key not found See also Error messages related to referential integrity.
ORA-02292: integrity constraint (…) violated - child record found See also Error messages related to referential integrity.
ORA-02293: cannot validate (.) - check constraint violated
ORA-02297: cannot disable constraint … - dependencies exist
ORA-02429: cannot drop index used for enforcement of unique/primary key
ORA-02436: date or system variable wrongly specified in CHECK constraint
ORA-02438: Column check constraint cannot reference other columns
ORA-02449: unique/primary keys in table referenced by foreign keys See also Error messages related to referential integrity.
ORA-03001: unimplemented feature
ORA-03048: SQL reserved word … is not syntactically valid following …
ORA-03049: SQL keyword … is not syntactically valid following …
ORA-03113: end-of-file on communication channel A session process died (or was killed forcefully).
ORA-03114: not connected to ORACLE Likely caused by ORA-03113: end-of-file on communication channel
ORA-03135: connection lost contact
ORA-03214: The specified file size is smaller than the minimum blocks
ORA-03249: Uniform size for automatic segment space management tablespace should have at least … blocks
ORA-03297: file contains used data beyond requested RESIZE value
ORA-04030: out of process memory when trying to allocate … bytes
ORA-04031: unable to allocate … bytes of shared memory
ORA-04043: Object … does not exist
ORA-04044: procedure, function, package, or type is not allowed here
ORA-04045: errors during recompilation/revalidation of …
ORA-04063: view/package … has errors
ORA-04067: … not executed, … does not exist
ORA-04091: table … is mutating, trigger/function may not see it
ORA-06502: PL/SQL: numeric or value error
ORA-06508: PL/SQL: could not find program unit being called
ORA-06509: PL/SQL: Interface call failed between the PL/SQL package and a binary executable.
ORA-06512: at , line N
ORA-06519: active autonomous transaction detected and rolled back
ORA-06544: PL/SQL: internal error, arguments: [], [], [], [], [], [], [], []
ORA-06550: line …, column …: Thrown when trying to execute an invalid anonymous PL/SQL block (typically a PL/SQL syntax error)
ORA-06553: PLS-:
ORA-06575: Package or function … is in an invalid state
ORA-07445: exception encountered: core dump
ORA-00955: name is already used by an existing object
ORA-12008: error in materialized view refresh path
ORA-12051: ON COMMIT attribute is incompatible with other options
ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view
ORA-12154: TNS: could not resolve the connect identifier specified
ORA-12500: TNS:listener failed to start a dedicated server process
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
ORA-12518: TNS:listener could not hand off client connection
ORA-12560: TNS:protocol adapter error
ORA-12638: Credential retrieval failed
ORA-12727: invalid back reference in regular expression
ORA-12754: Feature … is disabled due to missing capability
ORA-12797: The … parameter cannot be greater than … in Oracle Database Free version
ORA-12838: cannot read/modify an object after modifying it in parallel
ORA-12899: value too large for column … (actual: …, maximum: …)
ORA-12913: Cannot create dictionary managed tablespace Dictionary managed tablespaces can only be created if the SYSTEM tablespace is also dictionary managed.
ORA-12954: The request exceeds the maximum allowed database size of 12 GB.
ORA-13616: The current user has not been granted the ADVISOR privilege.
ORA-14020: this physical attribute may not be specified for a table partition
ORA-14039: partitioning columns must form a subset of key columns of a UNIQUE index
ORA-14155: missing PARTITION, PARTITIONS, SUBPARTITION, or SUBPARTITIONS keyword
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions
ORA-14400: inserted partition key does not map to any partition
ORA-14402: updating partition key column would cause a partition change
ORA-14452: attempt to create, alter or drop an index on temporary table already in use
ORA-14551: cannot perform a DML operation inside a query
ORA-14552: cannot perform a DDL, commit or rollback inside a query or DML
ORA-14761: MAXVALUE [sub]partition cannot be specified for INTERVAL [sub]partitioned objects.
ORA-14767: Cannot specify this interval with existing high bounds
ORA-15653: Fixed table "…" is not supported by DIRECT_ACCESS
ORA-15655: Fixed table "…" cannot be accessed safely in prelim connection
ORA-17610: file … does not exist and no size specified
ORA-19010: Cannot insert XML fragments
ORA-19202: error in XML processing
ORA-19213: error occurred in XML processing at lines
ORA-20000 ORA-20000 is reserved for all errors generated by applications that use Oracle products. The error message is customizable.
ORA-22275: invalid LOB locator specified
ORA-22285: non-existent directory or file for … operation
ORA-22288: file or LOB operation … failed
ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: …, maximum: …)
ORA-22913: must specify table name for nested table column or attribute
ORA-22992: cannot use LOB locators selected from remote tables
ORA-24247: network access denied by access control list (ACL)
ORA-24323: value not allowed
ORA-24333: zero iteration count
ORA-24344: success with compilation errors
ORA-25122: Only LOCAL bitmap indexes are permitted on partitioned tables
ORA-25143: default storage clause is not compatible with allocation policy
ORA-27370: job slave failed to launch a job of type EXECUTABLE
ORA-22818: subquery expressions not allowed here
ORA-28000: The account is locked.
ORA-28001: the password has expired
ORA-28002: the password will expire within N days
ORA-28113: policy predicate has error
ORA-28367: wallet does not exist
ORA-29024: Certificate validation failure
ORA-29273: HTTP request failed
ORA-29280: invalid directory object
ORA-29471: DBMS_SQL access denied
ORA-29913: error in executing callout
ORA-30008: CONNECT BY clause must reference a PRIOR
ORA-30009: Not enough memory for CONNECT BY operation
ORA-30076: invalid extract field for extract source
ORA-30393: a query block in the statement did not rewrite Thrown when using the rewrite_or_error hint and a query did not rewrite.
ORA-30483: window functions are not allowed here
ORA-30485: missing ORDER BY expression in the window specification
ORA-30562: invalid SAMPLE percentage
ORA-30577: SAMPLE group size must be in the range [1,UB4MAXVAL]
ORA-30926: unable to get a stable set of rows in the source tables
ORA-31011: XML parsing failed
ORA-31050: access denied
ORA-31600: invalid input value … for parameter … in function
ORA-32010: cannot find entry to delete in SPFILE
ORA-32034: unsupported use of WITH clause
ORA-32044: cycle detected while executing recursive WITH query
ORA-32463: cannot create an object with a name matching private temporary table prefix
ORA-32521: error parsing ORADEBUG command:
ORA-32617: missing MEASURES keyword in MODEL clause
ORA-32618: incorrect use of MODEL PREVIOUS function
ORA-32630: multiple assignment in automatic order MODEL
ORA-32638: Non unique addressing in MODEL dimensions
ORA-30732: table contains no user-visible columns
ORA-38101: Invalid column in the INSERT VALUES Clause
ORA-39287: Cannot alter index column list.
ORA-40238: invalid linear algebra shared library
ORA-40441: JSON syntax error
ORA-40490: COLUMNS clause required json_table needs the column clause to specify the names and datatypes of the returned columns.
ORA-40491: invalid input data type for JSON_TABLE
ORA-40573: invalid use of PL/SQL JSON object type
ORA-40587: invalid JSON type
ORA-40478: output value too large (maximum: N)
ORA-40834: invalid input to JSON parse/load function
ORA-41900: missing privilege … on …
ORA-41904: Missing object privilege on … to create a view.
ORA-43907: This argument must be a literal or bind variable.
ORA-43916: unable to determine collation for the column
ORA-43918: This argument must be a literal
ORA-46633: creation of a password-based keystore failed
ORA-43929: Collation cannot be specified if parameter MAX_STRING_SIZE=STANDARD is set
ORA-49100: Failed to process event statement […]
ORA-54002: only pure functions can be specified in a virtual column expression Thrown if a virtual column is specified using non-deterministic functions.
ORA-54004: resultant data type of virtual column is not supported
ORA-54013: INSERT operation disallowed on virtual columns
ORA-54039: table must have at least one column that is not invisible
ORA-55610: Invalid DDL statement on history-tracked table
ORA-55611: No privilege to manage default Flashback Archiv
ORA-62503: illegal variable definition
ORA-64307: Exadata Hybrid Columnar Compression is not supported for tablespaces on this storage type
ORA-65096: invalid common user or role name
ORA-65146: account cannot be unlocked in a PDB while it is locked in the root
ORA-65318: query to cross-container fixed tables not allowed
ORA-65503: cannot send or receive temporary LOB locators over a database link

Error codes 10000 through 10999

The error codes 10000 through 10999 are reserved for debug event codes (and are not really errors, see list of possible values for the event parameter).

Error codes 20000 through 20999

The error codes 20000 through 20999 are reserved for user defined errors and can be raised with raise_application_error.
Sometimes, user defined error codes are also used by Oracle's DBMS_* packages, such as dbms_output (for example to throw ORU-10027: buffer overflow, limit of … bytes).

Find error messages

declare
   errtxt varchar2(400);
begin
   for errno in 1 .. 99999 loop
       errtxt := sqlerrm(-errno);
       
       if lower(errtxt) like '%string%literal%' then
          dbms_output.put_line(errtxt);
       end if; 
   end loop;
end;
/

See also

sqlerrm and sqlcode.
The SQLcl command oerr.
ORACLE_HOME/bin/oerr
dba_errors and commonly found error messages in that view.
$ORACLE_HOME/rdbms/mesg/oraus.msg
SQL*Plus/Powershell: Color error messages when running a script
dbms_errlog and log errors into SQL clause.

Links

Oracle's error help portal aims at giving «faster and improved insights into Oracle Database errors»
Apparently, Oracle maintains a confluence page with guidelines to write error messages (grep confluence $ORACLE_HOME/rdbms/mesg/oraus.msg).

Index