Oracle 11g Error Codes and Solution Suggestions from ORA-22800 to ORA-23000
- ORA-22800: invalid user-defined type
- Cause: An attempt was made to use an incomplete type as a constructor.
- Action: Complete the type definition before using it in a query.
- ORA-22801: invalid object row variable
- Cause: The specified object row variable is not available in the scope of name resolution.
- Action: Verify the specified object row variable is correct, or use an object row variable visible in scope.
- ORA-22802: remote implementation type not supported
- Cause: Remote type reference was not supported
- Action: Use local implementation type with user-defined aggregate function.
- ORA-22803: object type contains zero attributes
- Cause: An attempt was made to create or specify a column or constructor of an object type that has no attributes. Only object types that have at least one attribute are allowed in this context.
- Action: specify a valid object type
- ORA-22804: remote operations not permitted on object tables or user-defined type columns
- Cause: An attempt was made to perform queries or DML operations on remote object tables or on remote table columns whose type is one of object, REF, nested table or VARRAY.
- Action: None
- ORA-22805: cannot insert NULL object into object tables or nested tables
- Cause: An attempt was made to insert a NULL object into an object table or a Nested Table.
- Action: Ensure that a non-NULL object is inserted into the table or insert an object with attributes whose values are NULL.
- ORA-22806: not an object or REF
- Cause: An attempt was made to extract an attribute from an item that is neither an object nor a REF.
- Action: Use an object type or REF type item and retry the operation.
- ORA-22807: cannot resolve to a scalar type or a collection type
- Cause: Invalid use of a non-scalar (for example, object type) item.
- Action: Change the item’s data type and retry the operation.
- ORA-22808: REF dereferencing not allowed
- Cause: An attempt was made to access an object type’s attributes by dereferencing a REF item.
- Action: Make the item an object type instead of a REF to an object type.
- ORA-22809: nonexistent attribute
- Cause: An attempt was made to access a non-existent attribute of an object type.
- Action: Check the attribute reference to see if it is valid. Then retry the operation.
- ORA-22810: cannot modify object attributes with REF dereferencing
- Cause: An attempt was made to modify the attributes an object by dereferencing a REF column in an UPDATE statement.
- Action: Update the table containing the object that the REF points to, or change the REF column to an object type column.
- ORA-22812: cannot reference nested table column’s storage table
- Cause: An attempt to access the nested table column’s storage table is not allowed in the given context.
- Action: Issue the statement against the parent table containing the nested table column.
- ORA-22813: operand value exceeds system limits
- Cause: Object or Collection value was too large. The size of the value might have exceeded 30k in a SORT context, or the size might be too big for available memory.
- Action: Choose another value and retry the operation.
- ORA-22814: attribute or element value is larger than specified in type
- Cause: Value provided for the object type attribute or collection element exceeded the size specified in the type declaration.
- Action: Choose another value and retry the operation.
- ORA-22816: unsupported feature with RETURNING clause
- Cause: RETURNING clause is currently not supported for object type columns, LONG columns, remote tables, INSERT with subquery, and INSTEAD OF Triggers.
- Action: Use separate select statement to get the values.
- ORA-22817: subquery not allowed in the default clause
- Cause: An attempt was made to use a subquery in the column default clause expression.
- Action: Remove the subquery from the default clause.
- ORA-22818: subquery expressions not allowed here
- Cause: An attempt was made to use a subquery expression where these are not supported.
- Action: Rewrite the statement without the subquery expression.
- ORA-22819: scope of input value does not correspond to the scope of the target
- Cause: An attempt to operate on a REF value scoped to a different table than the expected one
- Action: Use a ref which is scoped to the expected table and retry the operation
- ORA-22826: cannot construct an instance of a non instantiable type
- Cause: An attempt was made to use a non instantiable type as a constructor.
- Action: None
- ORA-22828: input pattern or replacement parameters exceed 32K size limit
- Cause: Value provided for the pattern or replacement string in the form of VARCHAR2 or CLOB for LOB SQL functions exceeded the 32K size limit.
- Action: Use a shorter pattern or process a long pattern string in multiple passes.
- ORA-22833: Must cast a transient type to a persistent type
- Cause: An attempt was made to use the transient type in the query result.
- Action: Cast the transient type to a structurally equivalent persistent type.
- ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: string, maximum: string)
- Cause: An attempt was made to convert CLOB to CHAR or BLOB to RAW, where the LOB size was bigger than the buffer limit for CHAR and RAW types. Note that widths are reported in characters if character length semantics are in effect for the column, otherwise widths are reported in bytes.
- Action: Do one of the following:
- 1. Make the LOB smaller before performing the conversion, for example, by using SUBSTR on CLOB
- 2. Use DBMS_LOB.SUBSTR to convert CLOB to CHAR or BLOB to RAW.
- ORA-22837: Relational hint or keyword is disallowed for user-level DML
- Cause: An attempt was made to use relational hint or keyword in user- level DML.
- Action: Avoid using DML with relational hint or keyword.
- ORA-22839: Direct updates on SYS_NC columns are disallowed
- Cause: An attempt was made to update SYS_NC columns directly.
- Action: Avoid direct updates on SYS_NC columns.
- ORA-22850: duplicate LOB storage option specificed
- Cause: A LOB storage option (CHUNK, PCTVERSION, CACHE, NOCACHE, TABLESPACE, STORAGE, INDEX, SECUREFULE/BASICFILE, [A]SYNC) was specified more than once.
- Action: Specify all LOB storage options only once.
- ORA-22851: invalid CHUNK LOB storage option value
- Cause: The specified CHUNK LOB storage option value must be an integer.
- Action: Choose an appropriate integer value and retry the operation.
- ORA-22852: invalid PCTVERSION LOB storage option value
- Cause: The specified PCTVERSION LOB storage option value must be an integer.
- Action: Choose an appropriate integer value and retry the operation.
- ORA-22853: invalid LOB storage option specification
- Cause: A LOB storage option was not specified
- Action: Specify one of CHUNK, PCTVERSION, CACHE, NOCACHE, TABLESPACE, STORAGE, INDEX, [A]SYNC or DATA SYNC as part of the LOB storage clause.
- ORA-22854: invalid option for LOB storage index
- Cause: A valid LOB store index option was not specified.
- Action: Specify one of (INITRANS, MAXTRANS, TABLESPACE, STORAGE) as part of the LOB storage index.
- ORA-22855: optional name for LOB storage segment incorrectly specified
- Cause: The optional name for LOB storage segment was specified with multiple columns in the column list.
- Action: Specify each column LOB storage only with optional name(s).
- ORA-22856: cannot add columns to object tables
- Cause: An attempt was made to add columns to an object table. Object tables cannot be altered to add columns since its definition is based on an object type.
- Action: Create a new type with additional attributes, and use the new type to create an object table. The new object table will have the desired columns.
- ORA-22857: cannot modify columns of object tables
- Cause: An attempt was made to alter the object table by modifing existing columns. An object table cannot be altered to modify existing columns since it is based on an object type. The table definition must be in sync with the corresponding type.
- Action: Create a new type with the desired attribute types and use it to create an object table. The new object table will have the desired columns.
- ORA-22858: invalid alteration of datatype
- Cause: An attempt was made to modify the column type to object, REF, nested table, VARRAY or LOB type.
- Action: Create a new column of the desired type and copy the current column data to the new type using the appropriate type constructor.
- ORA-22859: invalid modification of columns
- Cause: An attempt was made to modify an object, REF, VARRAY, nested table, or LOB column type.
- Action: Create a new column of the desired type and copy the current column data to the new type using the appropriate type constructor.
- ORA-22860: object type expected
- Cause: An attempt was made to create an object table using a non- object type, or to create a column that is a REF to a non-object type.
- Action: Use a valid object type in the table or column definition.
- ORA-22861: invalid user-defined type
- Cause: An attempt was made to create a column or object table of a non- existent type.
- Action: Specify a valid type in the table or column definition.
- ORA-22862: specified object identifier doesn’t match existing object identifier
- Cause: An attempt was made to specify an object identifier for the type that does not match the existing identifier of the incomplete type of the same name.
- Action: Specify the correct object identifier or leave it out of the statement.
- ORA-22863: synonym for datatype string.string not allowed
- Cause: A synonym specification for a datatype is not supported
- Action: do not use the synonym for the datatype
- ORA-22864: cannot ALTER or DROP LOB indexes
- Cause: An attempt was made to ALTER or DROP a LOB index.
- Action: Do not operate directly on the system-defined LOB index. Perform operations on the corresponding LOB column.
- ORA-22865: more than one column specified
- Cause: An attempt was made to specify multiple columns where only one is allowed.
- Action: Specify a single column and retry the operation.
- ORA-22866: cannot replace a type with table dependents
- Cause: An attempt was made to replace a type that has table dependents.
- Action: Drop all table(s) depending on the type, then retry the operation.
- ORA-22868: table with LOBs contains segments in different tablespaces
- Cause: An attempt was made to drop a tablespace which contains the segment(s) for the LOB columns of a table but does not contain the table segment.
- Action: Find table(s) with LOB columns which have non-table segments in this tablespace. Drop these tables and reissue drop tablespace.
- ORA-22869: depth of type dependency hierarchy exceeds maximum limit
- Cause: The type dependency hierarchy was structured to have depth greater than 1024.
- Action: Re-structure the type dependency hierarchy to a shorter depth.
- ORA-22870: ALTER TYPE with REPLACE option a non-object type
- Cause: attempt to perform ALTER TYPE with REPLACE option a non-object type
- Action: drop the non-object type first, then re-create it as an object type
- ORA-22871: ALTER TYPE with REPLACE is not allowed for pure incomplete types
- Cause: An attempt to perform ALTER TYPE with REPLACE option for a pure incomplete type
- Action: Completely define the original type, before using the ALTER TYPE with REPLACE option.
- ORA-22872: OID INDEX clause not allowed on tables with primary key based object identifiers
- Cause: An attempt to create an OID INDEX on a table with primary key based object identifiers.
- Action: Remove the OID INDEX clause
- ORA-22873: primary key not specified for primary key based object table
- Cause: An attempt to create a primary key based object table without specifying a primary key
- Action: Specify a primary key and retry the operation
- ORA-22874: attribute “string” is not part of the type “string“
- Cause: Attribute specified in the user_defined clause is not an attribute of the REF type
- Action: Ensure that the name specified in the user_defined clause is the name of a valid attribute of the REF type
- ORA-22875: cannot drop primary key of an object table whose object identifier is primary key based
- Cause: An attempt to drop the primary key of an object table which has a primary key based object identifier
- Action: Remove the drop primary key clause
- ORA-22876: this user-defined type is not allowed or it cannot be used in this context
- Cause: An attempt to create a kind of user-defined type which is not allowed, or an attempt to create table columns or use default constructor with a type on which these are not supported.
- Action: Ensure that the type is permitted in this context.
- ORA-22877: invalid option specified for a HASH partition or subpartition of a LOB column
- Cause: One or more invalid options were encountered while parsing the physical attributes of a LOB partition or subpartition. Either the LOB partition is in a table partitioned using the HASH method, or the LOB subpartition is in a table subpartitioned using the HASH method. TABLESPACE is the only valid option for a HASH partition or subpartition.
- Action: Remove the invalid option(s).
- ORA-22878: duplicate LOB partition or subpartition specified
- Cause: An attempt was made to specify a partition or subpartition that has already been specified for the LOB column.
- Action: Remove the duplicate specification.
- ORA-22879: cannot use the LOB INDEX clause for partitioned tables
- Cause: An attempt was made to specify a LOB INDEX clause in a CREATE TABLE or ALTER TABLE statement for a partitioned table.
- Action: Remove the LOB INDEX clause.
- ORA-22880: invalid REF
- Cause: An invalid REF was accessed.
- Action: Modify the REF and retry the operation.
- ORA-22881: dangling REF
- Cause: The object corresponding to the REF that was accessed does not exist.
- Action: Ensure that the REF value is pointing to an existing object.
- ORA-22882: object creation failed
- Cause: The object cannot be created in the database.
- Action: Check to see if the object table exists and the object size is not too big. Then retry the operation.
- ORA-22883: object deletion failed
- Cause: The object could not be deleted from the database.
- Action: Check to see if the object table exists.Then retry the operation.
- ORA-22884: object modification failed
- Cause: The object could not be modified in the database.
- Action: Check to see if the object table exists and the object size is not too big. Then retry the operation.
- ORA-22885: cannot get REF to a non-persistent object
- Cause: An attempt was made to get a REF for something other than an object in an object table. REFs can only be taken for objects in object tables.
- Action: Rewrite the query to obtain REF values from object tables.
- ORA-22886: scoped table “string” in schema “string” is not an object table
- Cause: The scoped table specified for a REF column is not an object table.
- Action: Ensure that the scoped table is an object table.Then retry the operation.
- ORA-22887: type of REF column is not the same as that of its scoped table
- Cause: The type specified for the REF column and the type specified for the scope table are different.
- Action: Ensure that the types of a REF column and its scoped table are the same.
- ORA-22888: duplicate SCOPE clauses for a REF column
- Cause: Multiple SCOPE clauses were specified for a single REF column.
- Action: Remove the duplicate SCOPE clauses and retry the operation.
- ORA-22889: REF value does not point to scoped table
- Cause: An attempt was made to insert a REF value that does not point to the scoped table.
- Action: Ensure that the REF values point to the scoped table.
- ORA-22890: cannot specify name for REF column constraint
- Cause: An attempt was made to specify a constraint name for a constraint on a REF column.
- Action: Remove the constraint name and retry the operation.
- ORA-22891: cannot have multiple columns in REF constraint
- Cause: An attempt was made to specify multiple columns in a single REF constraint.
- Action: Specify separate constraints for each column and retry the operation.
- ORA-22892: scoped table “string” does not exist in schema “string“
- Cause: The scoped table specified for a REF column does not exist.
- Action: Ensure that the scoped table exists and retry the operation.
- ORA-22893: constraint can be specified only for REF columns
- Cause: The constraint specified does not apply to non-REF columns.
- Action: Remove the constraint and retry the operation.
- ORA-22894: cannot add constraint on existing unscoped REF columns of non-empty tables
- Cause: An attempt was made to add a constraint to existing unscoped REF columns of a table which contains one or more rows.
- Action: Remove the constraint specification or add the constraint after emptying the table.
- ORA-22895: referenced table “string” in schema “string” is not an object table
- Cause: The referenced table specified for a REF column is not an object table.
- Action: Ensure that the referenced table is an object table.Then retry the operation.
- ORA-22896: cannot have both scope and referential constraint on REF column “string“
- Cause: REF column has both a referential and a scope constraint. A referential constraint implies a scope constraint.
- Action: Remove either the referential or scope constraint and then retry the operation.
- ORA-22897: no scope clause specified for user-defined REF column “string“
- Cause: User-defined REF column does not have a scope constraint.
- Action: Specify a scope constraint for the user-defined REF column and retry the operation.
- ORA-22898: existing scope clause on “string” points to a table other than the one mentioned in the referential constraint
- Cause: Table mentioned in the referential integrity constraint is different from the scope table of the REF column.
- Action: Specify the scope table of the REF column in the referential integrity constraint and then retry the operation.
- ORA-22899: cannot specify both scope and rowid constraint on ref column
- Cause: An attempt was made to specify both a scope and a rowid constraint on a REF column.
- Action: Remove either the rowid or scope constraint and then retry the operation.
- ORA-22900: the SELECT list item of THE subquery is not a collection type
- Cause: The THE subquery must SELECT a nested table or VARRAY item.
- Action: change the subquery to SELECT a nested table or VARRAY item.
- ORA-22901: cannot compare VARRAY or LOB attributes of an object type
- Cause: Comparison of VARRAY or LOB attributes of an object type was attempted in the absence of a MAP or ORDER method.
- Action: Define a MAP or ORDER method for the object type.
- ORA-22902: CURSOR expression not allowed
- Cause: CURSOR on a subquery is allowed only in the top-level SELECT list of a query.
- Action: None
- ORA-22903: MULTISET expression not allowed
- Cause: MULTISET expressions are allowed only inside a CAST to a nested table or VARRAY type.
- Action: put the MULTISET(subquery) expression inside a CAST to a nested table or VARRAY type.
- ORA-22904: invalid reference to a nested table column
- Cause: invalid use of a nested table column
- Action: remove invalid reference to the nested table column
- ORA-22905: cannot access rows from a non-nested table item
- Cause: attempt to access rows of an item whose type is not known at parse time or that is not of a nested table type
- Action: use CAST to cast the item to a nested table type
- ORA-22906: cannot perform DML on expression or on nested table view column
- Cause: Attempted to perform a DML on an expression or on a nested table view column where a nested table column of a base table is expected.
- Action: Only nested table column of a base table is allowed in the DML.
- ORA-22907: invalid CAST to a type that is not a nested table or VARRAY
- Cause: Attempted to CAST to a type that is not a nested table or VARRAY
- Action: Re-specify CAST to a nested table or VARRAY type.
- ORA-22908: reference to NULL table value
- Cause: The evaluation of the THE subquery or nested table column resulted in a NULL value implying a NULL table instance. The THE subquery or nested table column must identify a single non-NULL table instance.
- Action: Ensure that the evaluation of the THE subquery or nested table column results in a single non-null table instance. If happening in the context of an insert statement where the THE subquery is the target of an insert, then ensure that an empty nested table instance is created by updating the nested table column of the parent table’s row specifying an empty nested table constructor.
- ORA-22909: exceeded maximum VARRAY limit
- Cause: The total number of elements used in VARRAY construction exceeds the specified VARRAY limit.
- Action: Don’t use the more than the specified limit of elements for VARRAY construction.
- ORA-22910: cannot specify schema name for nested tables
- Cause: Table name was qualified with schema name in the nested table column’s (or attribute’s) storage clause.
- Action: Re-specify the nested table item’s storage clause without the schema name qualification. By default, the storage table for the nested table item is created in the same schema as the containing table.
- ORA-22911: duplicate storage specification for the nested table item
- Cause: The storage clause is specified more than once for the NESTED TABLE column.
- Action: Remove the duplicate storage specification.
- ORA-22912: specified column or attribute is not a nested table type
- Cause: The storage clause is specified for a column or attribute that is not a nested table column or attribute.
- Action: Specify a valid nested table column or attribute.
- ORA-22913: must specify table name for nested table column or attribute
- Cause: The storage clause is not specified for a nested table column or attribute.
- Action: Specify the nested table storage clause for the nested table column or attribute.
- ORA-22914: DROP of nested tables not supported
- Cause: Attempted to DROP a nested table.
- Action: nested tables cannot be explicitly dropped. nested tables can only be dropped by dropping their containing parent table.
- ORA-22915: cannot ALTER a nested table’s storage table to ADD/MODIFY columns
- Cause: any such change.
- Action: Columns cannot be added or modified for a nested table’s storage table. You must alter the parent table’s nested table column to
- ORA-22916: cannot do an exact FETCH on a query with Nested cursors
- Cause: Exact FETCH on a query was specified which is not allowed if the query returns any cursors.
- Action: Do not use an exact FETCH.
- ORA-22917: use VARRAY to define the storage clause for this column or attribute
- Cause: Not using VARRAY to define storage clause for VARRAY column or attribute.
- Action: Specify VARRAY before the column storage clause and resubmit statement.
- ORA-22918: specified column or attribute is not a VARRAY type
- Cause: Attemp to define a VARRAY storage clause for a column or attribute which is not VARRAY type.
- Action: Specify VARRAY storage clause for a VARRAY column or attribute.
- ORA-22919: dangling REF error or lock object failed for no wait request
- Cause: The error could be one of the following. The object corresponding to the REF does not exist or the object was locked by another user and the lock with nowait request failed.
- Action: Ensure that the REF value is pointing to an existing object or issue a lock request without the nowait option.
- ORA-22920: row containing the LOB value is not locked
- Cause: The row containing the LOB value must be locked before updating the LOB value.
- Action: Lock the row containing the LOB value before updating the LOB value.
- ORA-22921: length of input buffer is smaller than amount requested
- Cause: The buffer length is not big enough to hold the amount of data requested.
- Action: Verify that the number of bytes/characters specified in the input amount parameter is not bigger than the number of bytes specified in the input buffer length parameter. Allocate more space for the input buffer if necessary.
- ORA-22922: nonexistent LOB value
- Cause: The LOB value associated with the input locator does not exist. The information in the locator does not refer to an existing LOB.
- Action: Repopulate the locator by issuing a select statement and retry the operation.
- ORA-22923: amount of data specified in streaming LOB write is 0
- Cause: Trying to write LOB value via the streaming mechanism (i.e. unlimited write) but the input amount of data to stream was specified as 0. Thus, the user is trying to write 0 bytes to the LOB value.
- Action: Write more than 0 bytes to the LOB value.
- ORA-22924: snapshot too old
- Cause: The version of the LOB value needed for the consistent read was already overwritten by another writer.
- Action: Use a larger version pool.
- ORA-22925: operation would exceed maximum size allowed for a LOB value
- Cause: Trying to write too much data to the LOB value. LOB size is limited to 4 gigabytes.
- Action: Either start writing at a smaller LOB offset or write less data to the LOB value.
- ORA-22926: specified trim length is greater than current LOB value’s length
- Cause: The input length for which to trim the LOB value to is greater than the current length of the LOB value.
- Action: May not need to trim the LOB value because it’s already smaller than the trim length specified. Or, if trimming the LOB value really is required, use a smaller trim length.
- ORA-22927: invalid LOB locator specified
- Cause: There are several causes: (1) the LOB locator was never initialized; (2) the locator is for a BFILE and the routine expects a BLOB/CLOB/NCLOB locator; (3) the locator is for a BLOB/CLOB/NCLOB and the routine expects a BFILE locator; (4) trying to update the LOB in a trigger body — LOBs in trigger bodies are read only.
- Action: For (1), initialize the LOB locator by selecting into the locator variable or by setting the LOB locator to empty. For (2) and (3), pass the correct type of locator into the routine. For (4), remove the trigger body code that updates the LOB value.
- ORA-22928: invalid privilege on directories
- Cause: An attempt was made to grant or revoke an invalid privilege on a directory.
- Action: Only CREATE, DELETE, READ, WRITE and EXECUTE privileges can be granted or revoked on directories. Do not grant or revoke other privileges.
- ORA-22929: invalid or missing directory name
- Cause: The required directory name is invalid or missing.
- Action: Specify a valid name.
- ORA-22930: directory does not exist
- Cause: Attempt to access a directory that does not exist.
- Action: Make sure the name is correct.
- ORA-22933: cannot change object with type or table dependents
- Cause: Attempt to replace, drop or rename an object with type or table dependents.
- Action: Drop depending objects or use FORCE option if available.
- ORA-22936: cannot replace a system predefined type
- Cause: An attempt was made to replace a system predefined type.
- Action: Use other names for newly created system types.
- ORA-22950: cannot ORDER objects without MAP or ORDER method
- Cause: an object type must have a MAP or ORDER method defined for all comparisons other than equality and inequality comparisons.
- Action: Define a MAP or ORDER method for the object type
- ORA-22951: NULL returned by ORDER method
- Cause: ORDER method used to compare two object values returned NULL which is not allowed.
- Action: Redefine the ORDER method to not return a NULL.
- ORA-22952: Nested Table equality requires a map method on the element ADT
- Cause: Nested Table equality was tried where the element ADT did not have a map method defined on it.
- Action: Define a map method on the element ADT..
- ORA-22953: Cardinality of the input to powermultiset exceeds maximum allowed
- Cause: The cardinality of the input nested table to the powermultiset should not exceed 32 elements
- Action: Reduce the number of elements to the input.
- ORA-22954: This multiset operation is not supported for this element type.
- Cause: The multiset operation attempted was not supported for the nested table element type.
- Action: Use a supported element type.
- ORA-22955: The cardinality parameter is not within the allowed limits
- Cause: The cardinality parameter has to be greater than 1 and less than or equal to the cardinality of the input.
- Action: Give a valid cardinality value.
- ORA-22956: The set contains no elements
- Cause: An empty set was given as input to the powermultiset function.
- Action: Give a non-empty set as input
- ORA-22957: NULL is an invalid input to powermultiset and COLLECT functions
- Cause: NULL was given as input to the powermultiset or COLLECT function.
- Action: Give a non-null value as input
- ORA-22958: This operation is not allowed in check constraints or triggers
- Cause: An invalid operation is used in a check constraint or trigger
- Action: Do not use the operation
- ORA-22970: name does not correspond to an object view
- Cause: Either the expression is not a view name or the name specified does not correspond to an object view.
- Action: Replace the expression with the name of an object view.
- ORA-22971: invalid datatype for PRIMARY KEY-based object identifier
- Cause: When creating an object view, the datatype of an expression in the WITH OBJECT OID clause is not allowed for PRIMARY KEY-based OID.
- Action: Replace the expression with one of appropriate scalar datatype.
- ORA-22972: NULL value not allowed in PRIMARY KEY-based object identifier
- Cause: A value constituting the PRIMARY KEY-based object identifier is NULL.
- Action: Ensure the expressions in MAKE_REF system function or attributes in the WITH OBJECT OID clause of an object view do not evaluate to NULL.
- ORA-22973: size of object identifier exceeds maximum size allowed
- Cause: Size of the PRIMARY KEY-based object identifier of an object view exceeds the maximum size of 4000 bytes.
- Action: Specify fewer or smaller PRIMARY KEY attributes in the WITH object OID clause when creating the object view.
- ORA-22974: missing WITH OBJECT OID clause
- Cause: WITH OBJECT OID clause is not specified when creating an object view.
- Action: Specify the WITH OBJECT OID clause.
- ORA-22975: cannot create a PRIMARY KEY-based REF to this object view
- Cause: The object view specified in the MAKE_REF function does not have a PRIMARY KEY-based object identifier. A PRIMARY KEY-based REF cannot be created for such a view.
- Action: Specify an object view that has a PRIMARY KEY-based object identifier in the MAKE_REF function.
- ORA-22976: incorrect number of arguments to MAKE_REF
- Cause: Number of arguments for MAKE_REF is different from the number of PRIMARY KEY attributes of the object view.
- Action: Specify all the necessary arguments for MAKE_REF.
- ORA-22977: missing or invalid attribute
- Cause: Either the attribute name is missing in the WITH OBJECT OID clause or it is invalid.
- Action: Specify a valid attribute of the object type of the object view.
- ORA-22978: only simple attribute name is allowed in the WITH OBJECT OID clause
- Cause: Attempted to specify a Nested attribute in the WITH OBJECT OID clause.
- Action: Specify a top-level attribute of the object type of the object view.
- ORA-22979: cannot INSERT object view REF or user-defined REF
- Cause: Attempt to insert an object view REF or user-defined REF in a REF column created to store system generated REF values”
- Action: Make sure the REF to be inserted is not from an object view or from a user-defined REF column
- ORA-22980: must specify a set of attributes for the WITH OBJECT OID clause
- Cause: The WITH OBJECT OID DEFAULT clause was used, but the underlying view or table does not have a OID.
- Action: Specify attributes for the WITH OBJECT OID clause to create a primary key based object identifier for the object view.
- ORA-22981: must specify a table/view having system generated OID
- Cause: The super-view is based on a table/view having the system generated OID and the sub-view must also be based on a similar table/view.
- Action: Specify table/view having system generated OID and retry the the operation.
- ORA-22982: cannot create sub-view under this view
- Cause: The view derives its OID from a table/view having primary key based OID and sub-views cannot be created under such views.
- Action: Specify view having system generated OID or a view created with the specification of attributes in the WITH OBJECT ID clause and retry the operation.
- ORA-22983: not a user-defined REF
- Cause: Attempt to use a system generated REF value where a user-defined REF value should be used.
- Action: Make sure the REF value is user-defined.
- ORA-22984: view query cannot contain references to a super view
- Cause: The query defining the view contains references to a super-view of the view being created.
- Action: Make sure that the view query does not reference a super-view.
- ORA-22990: LOB locators cannot span transactions
- Cause: A LOB locator selected in one transaction cannot be used in a different transaction.
- Action: Re-select the LOB locator and retry the operation.
- ORA-22991: insufficient space allocated for argument string
- Cause: The data to be returned in the argument is greater than the amount of space allocated for the argument.
- Action: Allocate more space for the argument.
- ORA-22992: cannot use LOB locators selected from remote tables
- Cause: A remote LOB column cannot be referenced.
- Action: Remove references to LOBs in remote tables.
- ORA-22993: specified input amount is greater than actual source amount
- Cause: (1) For LOB write, the amount of data received is different from the amount that was indicated would be sent. (2) For LOB copy and loadfromfile, the end of the source LOB/FILE value was reached before the specified input amount was copied/loaded.
- Action: (1) will happen when using OCI’s piecewise mechanism with polling or with a callback function. Modify the code either to send the amount specified or to pass 0 as the input amount so that any amount of data can be sent. (2) will happen if the specified input amount is too large for the source LOB/FILE given the starting source offset. Either decrease the starting source offset, or decrease the amount to copy/load.
- ORA-22994: source offset is beyond the end of the source LOB
- Cause: The source offset for a LOB COPY or LOB LOADFROMFILE is beyond the end of the source LOB.
- Action: Check the length of the LOB and then adjust the source offset.
- ORA-22995: TABLESPACE DEFAULT option is invalid in this context
- Cause: TABLESPACE DEFAULT option can be specified for LOB columns only in the following contexts:
- – at the table level for a partitioned table
- – at the partition level for a composite partition. An attempt was made to use the TABLESPACE DEFAULT option in a different context.
- Action: Remove the TABLESPACE DEFAULT option.
- ORA-22996: NEXT extent size is smaller than LOB chunksize
- Cause: An attempt was made to create or alter a LOB segment so that its NEXT extent size was less than the LOB chunksize
- Action: Specify a NEXT extent size that is greater than or equal to the LOB chunksize
- ORA-22997: VARRAY | OPAQUE stored as LOB is not specified at the table level
- Cause: An attempt was made to specify a VARRAY|OPAQUE column to be stored as LOB at the partition/subpartition/template level. However the VARRAY|OPAQUE column was not specified to be stored as LOB at the table level when the table was created.
- Action: Specify the VARRAY | OPAQUE column to be stored as LOB at the table level when the table is created. Alternatively, do not specify the VARRAY | OPAQUE column to be stored as LOB at the partition/subpartition/template level if it is not specified at the table level when the table is created.
- ORA-22998: CLOB or NCLOB in multibyte character set not supported
- Cause: A CLOB or NCLOB in a fixed-width or varying-width multibyte character set was passed to a SQL character function which does not support multibyte LOB data.
- Action: Use DBMS_LOB functions such as DBMS_LOB.INSTR() and DBMS_LOB.SUBSTR()
- ORA-22999: CLOB or NCLOB data may have been corrupted
- Cause: CLOB or NCLOB contains invalid character data. One possible cause is that the wrong csid was specified for the external file when calling DBMS_LOB.LOADCLOBFROMFILE or DBMS_XSLPROCESSOR.READ2CLOB to load CLOB or NCLOB data from external files.
- Action: Reload the CLOB/NCLOB data with the correct csid specified for the external file.