ITPub博客

首页 > 数据库 > Oracle > 【OERR】 oerr ora 错误 12.2.0.1 【20000-39999】

【OERR】 oerr ora 错误 12.2.0.1 【20000-39999】

Oracle 作者:luckyfriends 时间:2017-11-09 03:07:10 0 删除 编辑

【OERR】 oerr ora 错误  12.2.0.1【20000-39999】





/ 20000 - 20999 Reserved for callers of the
/     system_utility.raise_application_error stored procedure. This allows
/     customers to generate their own exception numbers and deal with them
/     on the user-side.
20000, 00000, "%s"
// *Cause:  The stored procedure 'raise_application_error'
//          was called which causes this error to be generated.
// *Action: Correct the problem as described in the error message or contact
//          the application administrator or DBA for more information.
21000, 00000, "error number argument to raise_application_error of %s%s is out of range"
// *Cause:  
// *Action: Use an error number in the range of -20000 to -20999, inclusive.
21001, 00000, "error number argument to raise_system_error of %s%s is out of range"
// *Cause:  
// *Action: Use an error number in the range of -23300 to -24299, or 
//          -29300 to -29399, inclusive.
/
/ 21100 - 21299 Reserved for CORE
/
/
/ 21300 - 22799 Reserved for OI/KO/KG (object Interface and Subsystem)
/
/ Error numbers from 21300 to 21305 are reserved for KOK (common).
/
21300, 00000, "objects option not installed"
// *Cause: The objects option is not installed at this site.  object types
//         and other object features are, therefore, unavailable.
// *Action: Install the objects option.  The objects option is not      
//          part of the Oracle Server product and must be purchased
//          separately.  Contact an Oracle sales representative if the
//          objects option needs to be purchased. 
21301, 00000, "not initialized in object mode"
// *Cause:  This function requires the OCI process to be initialized in object
//          mode.
// *Action: Specify OCI_OBJECT mode when calling OCIInitialize().
/
21302, 00000, "object snapshot error: %s"
// *Cause:  The object snapshot operation failed. Additional details are 
//          provided in the error message.
// *Action: Contact Oracle Support Services.
/
/ Error number 21500 is the OCI's and Cartridge Service internal error.
/ Error number 21501 is the OCI's or Cartridge Services' memory allocation error. 
/ Error number 21503 is the OCI's and Cartridge Service fatal error.
/
21500, 00000, "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
// *Cause:  This is the generic error number for the OCI
//          environment (client-side) internal errors.  This indicates
//          that the OCI environment has encountered an exceptional
//          condition.
// *Action: Report as a bug - the first argument is the internal error number.
/
21501, 00000, "program could not allocate memory"
// *Cause: The operating system has run out of memory.
// *Action: Take action to make more memory available to the program.
/
21503, 00000, "program terminated by fatal error"
// *Cause:  A program is in an unrecoverable error state.
// *Action: Report as a bug.
/
/
/ Error numbers from 21505 to 21519 are reserved for ORIG/KOG (general).
/
/
/ Error numbers from 21520 to 21559 are reserved for KOD/KOKD/KOUD (data).
/
21520, 00000, "database server driver not installed"
// *Cause:  User attempted to access a database server through an object-mode
//          OCI environment but the necessary driver for supporting such
//          access to the database server is not installed or linked
//          in.
// *Action: Check if the driver corresponding to the database server
//          has been installed/linked in and entered in the server driver
//          table.
21521, 00000, "exceeded maximum number of connections in OCI (object mode only)"
// *Cause:  User exceeded the maximum number of connections (255) that can
//          be supported by an OCI environment in object mode.
// *Action: Close some of existing and unused connections before
//          opening more connections.
21522, 00000, "attempted to use an invalid connection in OCI (object mode only)"
// *Cause:  User attempted to use an invalid connection or a connection that
//          has been terminated in an OCI environment (object mode),
//          or user attempted to dereference a REF obtained from a connection
//          which has been terminated.
// *Action: Ensure that the connection exists and is still valid.
21523, 00000, "functionality not supported by the server (object mode only)"
// *Cause:  User attempted to use a functionality that the server does not
//          support.
// *Action: Upgrade the server
21524, 00000, "object type mismatch"
// *Cause:  The object type of the object is different from what is specified.
// *Action: Check the type of the object and correct it.
/
21525, 00000, "attribute number or (collection element at index) %s violated its constraints"
// *Cause:  Attribute value or collection element value violated its
//          constraint.
// *Action: Change the value of the attribute or collection element such that
//          it meets its constraints. The constraints are specified as part
//          of the attribute or collection element's schema information.
21526, 00000, "initialization failed"
// *Cause:  The initialization sequence failed.  This can happen, for example,
//          if an environment variable such as NLS_DATE_FORMAT is set to
//          an invalid value.  
// *Action: Check that all NLS environment variables are well-formed.
21527, 00000, "internal OMS driver error"
// *Cause:  A process has encountered an exceptional condition. This is the 
//          generic internal error number for Oracle object management 
//          services exceptions.
// *Action: Report this as a bug to Oracle Support Services.
21528, 00000, "internal error, image could not be understood"
// *Cause: The format of the image passed to the pickler is incorrect and
//         cannot be understood.
// *Action: Contact Oracle Support Services.
/
/
/ Error numbers from 21560 to 21599 are reserved for
/ common ORI/ORT/ORL/ORC/KO and Cartridge Service errors.
/
21560, 00000, "argument %s is null, invalid, or out of range"
// *Cause:  The argument is expecting a non-null, valid value but the
//          argument value passed in is null, invalid, or out of range.
//          Examples include when the LOB/FILE positional or size
//          argument has a value outside the range 1 through (4GB - 1),
//          or when an invalid open mode is used to open a file, etc.
// *Action: Check your program and correct the caller of the routine
//          to not pass a null, invalid or out-of-range argument value.
/
21561, 00000, "OID generation failed"
// *Cause:  The handles passed in may not be valid
// *Action: Check the validity of the env, svc handles
/
/ Error numbers from 21600 to 21699 are reserved for ORI*/KOI* (interface).
/ and Memory/Duration Cartridge Service.
/
21600, 00000, "path expression too long"
// *Cause:  The path expression that is supplied by the user is too long. The
//          path expression is used to specify the position of an attribute in
//          an object. This error occurs when one of the intermediate elements
//          in the path expression refers to an attribute of a built-in type.
//          Thus, the OCI function cannot proceed on to process the rest of the
//          elements in the path expression.
// *Action: User should pass in the correct path expression to locate the
//          attribute.
21601, 00000, "attribute is not an object"
// *Cause:  The user attempts to perform an operation (that is valid only for
//          an object) to an attribute of a built-in type.
//          An example of such an illegal operation is to dynamically set
//          a null structure to an attribute of a built-in type.
// *Action: User should avoid performing such operation to an attribute of
//          built-in type.
21602, 00000, "operation does not support the specified typecode"
// *Cause:  The user attempts to perform an operation that does not support
//          the specified typecode.
// *Action: User should use the range of valid typecodes that are supported
//          by this operation.
21603, 00000, "property id [%s] is invalid"
// *Cause:  The specified property id is invalid.
// *Action: User should specify a valid property id. Valid property ids are
//          enumerated by OCIObjectPropId.
21604, 00000, "property [%s] is not a property of transient or value instances"
// *Cause:  Trying to get a property which applies only to persistent objects.
// *Action: User should check the lifetime and only get this property for
//          persistent objects.
21605, 00000, "property [%s] is not a property of value instances"
// *Cause:  Trying to get a property which applies only to persistent 
//          and transient objects.
// *Action: User should check the lifetime and only get this property for
//          persistent and transient objects.
21606, 00000, "can not free this object"
// *Cause:  Trying to free an object that is persistent and dirty and the 
//          OCI_OBJECTFREE_FORCE flag is not specified.
// *Action: Either flush the persistent object or set the flag to 
//          OCI_OBJECTFREE_FORCE
/
21607, 00000, "memory cartridge service handle not initialized"
// *Cause:  Attempt to use the handle without initializing it.
// *Action: Initialize the memory cartridge service handle.
21608, 00000, "duration is invalid for this function"
// *Cause:  Attempt to use a duration not valid for this function.
// *Action: Use a valid duration - a previously created user duration or
//          OCI_DURATION_STATEMENT or OCI_DURATION_SESSION.  For callout
//          duration or external procedure duration, use
//          OCIExtProcAllocCallMemory.
21609, 00000, "memory being resized without being allocated first"
// *Cause:  Attempt to resize memory without allocating it first.
// *Action: Allocate the memory first before resizing it.
21610, 00000, "size [%s] is invalid"
// *Cause:  Attempt to resize memory with invalid size.
// *Action: Pass in a valid size (must be a positive integer).
21611, 00000, "key length [%s] is invalid"
// *Cause:  An attempt was made  to use an invalid key length.
// *Action: Key length is invalid; a valid range is 0 to 254.
21612, 00000, "key is already being used"
// *Cause:  Attempt to use a key that is already used.
// *Action: Use a new key that is not yet being used.
21613, 00000, "key does not exist"
// *Cause:  Attempt to use a non-existent key
// *Action: Use a key that already exists.
21614, 00000, "constraint violation for attribute number [%s]"
// *Cause: Constraints on the attribute were violated
// *Action:  Correct the value (of the attribute) so that it satisfies 
//           constraints
21615, 00000, "copy of an OTS (named or simple) instance failed"
// *Cause:  see following message
// *Action: Check that no attribute value violates constraints.
/
/ Error numbers from 21700 to 21799 are reserved for KOC (cache).
/
21700, 00000, "object does not exist or is marked for delete"
// *Cause:  User attempted to perform an inappropriate operation to
//          an object that is non-existent or marked for delete. 
//          Operations such as pinning, deleting and updating cannot be
//          applied to an object that is non-existent or marked for delete.
// *Action: User needs to re-initialize the reference to reference an
//          existent object or the user needs to unmark the object.
21701, 00000, "attempt to flush objects to different servers"
// *Cause:  User attempted to flush objects to different servers in one 
//          function call.  These objects are obtained by calling a callback 
//          functions provided by the program.
// *Action: User should avoid performing such operation. 
21702, 00000, "object is not instantiated or has been de-instantiated in cache"
// *Cause:  User attempted to perform an inappropriate operation to a transient
//          object that is not instantiated in the object cache.
//          Operations that cannot be applied to a not-instantiated transient
//          object include deleting or pinning such an object.
// *Action: User should check their code to see if they are performing
//          such an operation without instantiating the object first, or
//          performing such an operation after the allocation duration of
//          the object has expired.
21703, 00000, "cannot flush an object that is not modified"
// *Cause:  See the error message.
// *Action: The object should not be flushed.
21704, 00000, "cannot terminate cache or connection without flushing first"
// *Cause:  See the error message.
// *Action: The transaction should be aborted or committed before terminating
//          the cache or connection.
21705, 00000, "service context is invalid"
// *Cause:  The service context that is supplied by the user is not valid.
// *Action: User needs to establish the service context.
21706, 00000, "duration does not exist or is invalid"
// *Cause:  The duration number that is supplied by the user is not valid.
// *Action: User needs to establish the duration or use a correct predefined
//          duration.
21707, 00000, "pin duration is longer than allocation duration"
// *Cause:  The pin duration supplied by the user is longer than the allocation
//          duration. This affects operations such as pinning and setting
//          default parameters.
// *Action: User should use a shorter pin duration or use the null duration.
21708, 00000, "inappropriate operation on a transient object"
// *Cause:  User attempted to perform an inappropriate operation on a
//          transient object.  Operations that cannot be applied to a
//          transient object include flushing and locking.
// *Action: User should avoid performing such operation on a transient object.
21709, 00000, "cannot refresh an object that has been modified"
// *Cause:  User attempted to refresh an object that has been marked for
//          delete, update or insert (new).
// *Action: User should unmark the object before refreshing it.
21710, 00000, "argument is expecting a valid memory address of an object"
// *Cause:  The object memory address that is supplied by the user is invalid.
//          The user may have passed in a bad memory address to a function that
//          is expecting a valid memory address of an object.
// *Action: User should pass in a valid memory address of an object
//          to the function.
/
/
21779, 00000, "duration not active"
// *Cause:  User is trying to use a duration that has been terminated.
// *Action: User should avoid performing such operation.
21780, 00000, "Maximum number of object durations exceeded."
// *Cause:  This typically happens if there is infinite recursion in the PL/SQL 
//          function that is being executed.
// *Action: User should alter the recursion condition in order to prevent 
//          infinite recursion.
/
/
/ Error numbers from 21800 to 21998 are reserved.
/
/
/ Error numbers from 22000 to 22298 are reserved for ORL/KOL (language)
/ including OCIString, OCIDate, OCINumber, OCIColl, OCITable, and OCIArray.
/
22053, 00000, "overflow error"
// *Cause: This operation's result is above the range of Oracle number.
// *Action: Decrease the input value(s) so that the result is in the range 
//          of Oracle number.
/
22054, 00000, "underflow error"
// *Cause: This operation's result is below the range of Oracle number.
// *Action: Increase the input value(s) so that the result is in the range 
//          of Oracle number.
/
22055, 00000, "unknown sign flag value [%s]"
// *Cause:  Signed flag used is not OCI_NUMBER_SIGNED or OCI_NUMBER_UNSIGNED.
// *Action: Use either OCI_NUMBER_SIGNED or OCI_NUMBER_UNSIGNED as sign flag.
/
22056, 00000, "value [%s] is divided by zero"
// *Cause:  Given value is divied by zero.
// *Action: Modify divisor value to be non-zero.
/
22057, 00000, "bad integer length [%s]"
// *Cause:  The length of the integer (ie number of bytes) to be converted
//          to or from an Oracle number is invalid.
// *Action: Use integer length 1, 2, 4 or 8 bytes only.
/
22059, 00000, "buffer size [%s] is too small - [%s] is needed"
// *Cause:  The buffer to hold the resulting text string is too small.
// *Action: Provide a buffer of the required size.
/
22060, 00000, "argument [%s] is an invalid or uninitialized number"
// *Cause:  An invalid or uninitialized number is passed in.
// *Action: Use a valid number. To initialize number call OCINumberSetZero().
/
22061, 00000, "invalid format text [%s]"
// *Cause:  The numeric format string for converting characters to or
//          from an Oracle number is invalid.
// *Action: Use valid format string as documented in OCI Programmer's Guide.
/
22062, 00000, "invalid input string [%s]"
// *Cause:  The text string for converting to numbers is invalid.
// *Action: Use a valid input string as documented in OCI Programmer's Guide.
/
22063, 00000, "reading negative value [%s] as unsigned"
// *Cause:  Attempt to convert a negative number to an unsigned integer.
// *Action: Use the sign flag ORLTSB to convert a signed number.
/
22064, 00000, "invalid NLS parameter string [%s]"
// *Cause:  The NLS parameter string for converting characters to or
//          from an Oracle number is invalid.
// *Action: Use valid format string as documented in OCI Programmer's Guide.
/
22065, 00000, "number to text translation for the given format causes overflow"
// *Cause:  Rounding done due to the given string format causes overflow.
// *Action: Change the string format such that overflow does not occur. 
/
22130, 00000, "buffer size [%s] is less than the required size [%s]"
// *Cause:  The size of the buffer into which the hexadecimal REF string
//          is to be written is too small.
// *Action: Provide a buffer of the required size.
/
22131, 00000, "hexadecimal string length is zero"
// *Cause:  The given hexadecimal string length must be greater than zero.
// *Action: Specify a length greater than zero.
/
22132, 00000, "hexadecimal string does not correspond to a valid REF"
// *Cause:  The given hexadecimal string is invalid.
// *Action: Provide a valid hexadecimal string which was previously returned
//          by a call to OCIRefToHex().
/
22140, 00000, "given size [%s] must be in the range of 0 to [%s]"
// *Cause:  The given resize size is invalid.
// *Action: Ensure that the given size is in the required range.
/
22141, 00000, "given size [%s] must be even in UTF-16 environment"
// *Cause:  The given resize size is odd. In a UTF-16 environment, all
//          characters are 2 bytes in length.
// *Action: Ensure that the given size is even.
/
22150, 00000, "variable-length array has not been initialized"
// *Cause:  An un-initialized variable-length array is being operated upon.
// *Action: Initialize the variable-length array prior to calling 
//          this function.
/
22151, 00000, "cannot resize non-zero variable-length array to zero elements"
// *Cause:  Trying to resize a non-zero variable-length array to 0 elements.
// *Action: Specify a non-zero size.
/
22152, 00000, "destination variable-length array is not initialized"
// *Cause:  The variable-length array on the right-hand-side of an 
//          assignment or the destination array of an append
//          is not initialized.
// *Action: Initialize the destination variable-length array prior to calling
//          this function.
/
22153, 00000, "source variable-length array is not initialized"
// *Cause:  The variable-length array on the left-hand-side of an 
//          assignment or the source array of an append
//          is not initialized.
// *Action: Initialize the destination variable-length array prior to calling
//          this function.
/
22160, 00000, "element at index [%s] does not exist"
// *Cause:  Collection element at the given index does not exist.
// *Action: Specify the index of an element which exists.
/
22161, 00000, "type code [%s] is not valid"
// *Cause:  Given type code is not valid.
// *Action: Use one of the typecodes enumerated in OCITypeCode.
/
22162, 00000, "element at index [%s] has been previously deleted"
// *Cause:  Trying to delete a non-existent collection element.
// *Action: Check for the existence of the element prior to calling this
//          function.
/
22163, 00000, "left hand and right hand side collections are not of same type"
// *Cause:  Left hand and right side collections are not of same type.
// *Action: Ensure that the same collection type is passed for both left
//          hand and right hand side of this function.
/
22164, 00000, "delete element operation is not allowed for variable-length array"
// *Cause:  Trying to delete an element of a variable-length array.
// *Action: Ensure that the collection is not a variable-length array prior
//          to calling this function.
/
22165, 00000, "given index [%s] must be in the range of [%s] to [%s]"
// *Cause:  Given index is not in the required range.
// *Action: Ensure that the given index is in the required range.
/
22166, 00000, "collection is empty"
// *Cause:  Given collection is empty.
// *Action: Test if collection is empty prior to invoking this function.
/
22167, 00000, "given trim size [%s] must be less than or equal to [%s]"
// *Cause:  Given trim size is greater than the current collection size.
// *Action: Ensure that the given size is less than or equal to the 
//          collection size prior to calling this function.
/
/ 22275 to 22279 reserved for KOLL - LOBs
/
22275, 00000, "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; (5) the locator is for a 
//          BFILE/BLOB and the routine expects a CLOB/NCLOB locator;
//          (6) the locator is for a CLOB/NCLOB and the routine expects 
//          a BFILE/BLOB locator;
// *Action: For (1), initialize the LOB locator by selecting into the locator
//          variable or by setting the LOB locator to empty.  For (2),(3),
//          (5) and (6)pass the correct type of locator into the routine.  
//          For (4), remove the trigger body code that updates the LOB value.
/
22276, 00000, "invalid locator for LOB buffering"
// *Cause:  There are several causes: (1) the locator was never enabled for
//          buffering (2) it is not an updated locator but is being used for
//          a write/flush operation
// *Action: For (1) enable the locator for buffering; (2) ensure that only
//          an updated locator is used for a LOB update operation
/
22277, 00000, "cannot use two different locators to modify the same LOB"
// *Cause: LOB buffering is enabled and an attempt was made to modify the  
//         LOB using two different LOB locators.  
// *Action: When using LOB buffering, modify the LOB through one LOB
//          locator only.
/
22278, 00000, "must update the LOB only through the LOB buffers"
// *Cause: LOB buffering is enabled for this LOB and there are buffers
//         for this LOB in the buffer pool.  Thus, updating the LOB
//         through means other than the LOB buffers is not allowed.
// *Action: Update the LOB through the LOB buffers using the locator that
//          has LOB buffering enabled.  If this operation is required,
//          buffers associated with this LOB should either be flushed as
//          necessary or buffering should be disabled.  Once this is done,
//          reissue the command.
/
22279, 00000, "cannot perform operation with LOB buffering enabled"
// *Cause: The operation attempted is not allowed when LOB buffering is
//         enabled.
// *Action: If the operation is required, LOB buffering should not be used.
//          In this case, flush buffers associated with the input LOB locator
//          as necessary, disable buffering on the input LOB locator and
//          reissue the command.
/
/ 22280 to 22299 reserved for LOBs - LBS(KOLB), DBMS_LOB(KKXL) and BFILE(KOLF)
/
22280, 00000, "no more buffers available for operation"
// *Cause:  There are two causes: (1) All buffers in the buffer pool have been
//          used up by previous operations (2) Attempt to flush a LOB without
//          any previous buffered update operations.
// *Action: For (1), flush the LOB(s) through the locator that is
//          being used to update the LOB.  For (2), write to the LOB through a
//          locator enabled for buffering before attempting to flush buffers.
/
22281, 00000, "cannot perform operation with an updated locator"
//  *Cause:  The input locator has buffering enabled and was used to update
//           the LOB value through the LOB buffering subsystem.  The 
//           modified buffer has not been flushed since the write that was
//           performed by the the input locator; thus, the input locator is 
//           considered an updated locator.  Updated locators cannot be the 
//           source of a copy operation.  Only one locator per LOB may be used 
//           to modify the LOB value through the LOB buffering subsystem.
//  *Action: Depending on whether the modifications made through the input
//           locator to the LOB buffering subsystem should be written to
//           the server, either flush the buffer to write the modifications,
//           or, disable buffering on the locator to discard the 
//           modifications.  Then, reissue the command.
/
22282, 00000, "non-contiguous append to a buffering enabled LOB not allowed"
// *Cause:  The buffered write operation has an input offset value more
//          than one byte or character past the end of the LOB.
// *Action: Specify an input offset value which is exactly one character or
//          byte greater than the length of the LOB that you are attempting
//          to update through a buffered write operation.
/
22283, 00000, "filename contains characters that refer to parent directory"
// *Cause:  Filename contains a path "../" which references a parent directory
// *Action: Ensure that the filename does not contain characters which
//          reference a parent directory.
/
22284, 00000, "duplicate LONG binds are not supported"
// *Cause:  LOB access layer could not handle duplicate LONG binds.
// *Action: Provide distinct LONG or VARCHAR binds.
/


22285, 00000, "non-existent directory or file for %s operation"
// *Cause: Attempted to access a directory that does not exist, or attempted
//         to access a file in a directory that does not exist.
// *Action: Ensure that a system object corresponding to the specified
//          directory exists in the database dictionary, or
//          make sure the name is correct.
/
22286, 00000, "insufficient privileges on file or directory to perform %s operation"
// *Cause: The user does not have the necessary access privileges on the
//         directory alias and/or the file for the operation.
// *Action: Ask the database/system administrator to grant the required
//          privileges on the directory alias and/or the file.
/
22287, 00000, "invalid or modified directory occurred during %s operation"
// *Cause: The directory alias used for the current operation is not valid
//         if being accessed for the first time, or has been modified by
//         the DBA since the last access.
// *Action: If you are accessing this directory for the first time, provide
//          a valid directory name. If you have been already successful in
//          opening a file under this directory before this error occured,
//          then close the file and retry the operation with a valid
//          directory alias as modified by your DBA. Oracle recommends that
//          directories should be modified only during quiescent periods.
/
22288, 00000, "file or LOB operation %s failed\n%s"
// *Cause: The operation attempted on the file or LOB failed.
// *Action: See the next error message in the error stack for more detailed 
//          information.  Also, verify that the file or LOB exists and that
//          the necessary privileges are set for the specified operation. If 
//          the error still persists, report the error to the DBA.
/
22289, 00000, "cannot perform %s operation on an unopened file or LOB"
// *Cause: The file or LOB is not open for the required operation to be
// performed.
// *Action: Precede the current operation with a successful open operation
//          on the file or LOB. 
/
22290, 00000, "operation would exceed the maximum number of opened files or LOBs"
// *Cause: The number of open files or LOBs has reached the maximum limit.
// *Action: Close some of the opened files or LOBs and retry the operation.
/
22291, 00000, "Open LOBs exist at transaction commit time"
// *Cause: An attempt was made to commit a transaction with open LOBs at
//         transaction commit time.
// *Action: Close the LOBs before committing the transaction.
/
22292, 00000, "Cannot open a LOB in read-write mode without a transaction"
// *Cause: An attempt was made to open a LOB in read-write mode before
//         a transaction was started.
/ *Action: Start a transaction before opening the LOB in read-write mode.
//         Ways to start a transaction include issuing a SQL DML or SELECT
//         FOR UPDATE command. Opening hte LOB in read-only mode does not
//         require a transaction.
/
22293, 00000, "LOB already opened in the same transaction" 
// *Cause:  An attempt was made to open a LOB that already is open in 
//          this transaction.
// *Action: Close the LOB before attempting to re-open it.

22294, 00000, "cannot update a LOB opened in read-only mode" 
// *Cause:  An attempt was made to write to or update a LOB opened 
//          in read-only mode.  
// *Action: Close the LOB and re-open it in read-write mode before 
//          attempting to write  to or update the LOB.
22295, 00000, "cannot bind more than 4000 bytes data to LOB and LONG columns in 1 statement"
// *Cause:  An attempt was made to bind data more than 4000 bytes of data to both
//          LOB and LONG columns in the same insert or update statement. You can 
//          bind more than 4000 bytes of data to either a LONG column or one or
//          more LOB columns but not both.
// *Action: Bind more than 4000 bytes of data to either the LONG column or one or
//          more LOB columns but not both.
22296, 00000, "invalid ALTER TABLE option for conversion of LONG datatype to LOB"
// *Cause:  An attempt was made to specify ALTER TABLE options which are 
//          disallowed during conversion of LONG datatype to LOB. The only ALTER
//          TABLE options allowed during conversion of LONG datatype to LOB are
//          the default clause and LOB storage clause for the column being 
//          converted to LOB.
// *Action: Remove the disallowed options.
22297, 00000, "warning: Open LOBs exist at transaction commit time"
// *Cause:  An attempt was made to commit a transaction with open LOBs at 
//          transaction commit time.
// *Action: This is just a warning. The transaction was commited successfully,
//          but any domain or functional indexes on the open LOBs were not 
//          updated. You may want to rebuild those indexes.
22298, 00000, "length of directory alias name or file name too long"
// *Cause:  The length of directory alias name or file name given for a BFILE 
//          is too long.
// *Action: Use a shorter alias or file name.
// 


22299, 00000, "Synonym compile without validating base object"
// *Document: No
// *Cause:
// *Action: No validation of the base object.
/


22300, 00000, "acquiring DML lock in WAIT mode on table that is locked by KGL or KQR"
// *Document: NO
// *Cause:  An attempt was made to acquire a DML lock in WAIT mode on a table 
//          that is locked by KGL or KQR.
// *Action: This is just a warning. The transaction was commited successfully,
//          but any domain or functional indexes on the open LOBs were not 
//          updated. You may want to rebuild those indexes.
/
/ Error numbers from 22301 to 22599 are reserved for ORT/KOT (type).
/
22303, 00000, "type \"%s\".\"%s\" not found"
//  *Cause:  The user is trying to obtain information for a type that
//           cannot be found.
//  *Action: Check that the schema is correct and that the type has been
//           created correctly.
/
22304, 00000, "input type is not an object type"
//  *Cause:  The user is trying to obtain the supertype information for a
//           non-object type.
//  *Action: Pass in only an object type.
/
22305, 00000, "attribute/method/parameter \"%s\" not found"
//  *Cause:  Type element with the given name is not found in the type.
//  *Action: Check to make sure that the type element exists.
/
22306, 00000, "type \"%s\".\"%s\" already exists"
//  *Cause:  The user is trying to create a type that already 
//           exists.
//  *Action: Check to make sure that the type has not been created prior to
//           this.
/
22307, 00000, "operation must be on a user-defined type"
//  *Cause:  attempt to perform an operation that is allowed only on a
//           user-defined type, and the type is not a user-defined type.
//  *Action: Check to make sure that only user-defined types are being
//           operated on.
/
22308, 00000, "operation not allowed on evolved type"
//  *Cause:  An attempt was made to replace a type whose attribute definition 
//           been been altered.
//  *Action: Submit ALTER TYPE ADD/DROP statement instead of ALTER TYPE
//           REPLACE.
/
22309, 00000, "attribute with name \"%s\" already exists"
//  *Cause:  The user is attempting to create an object type where
//           more than one attributes have the same name.
//  *Action: Check to make sure that all attribute names are unique.
/
22310, 00000, "ALTER TYPE error. Refer to table \"%s\".\"%s\" for errors"
//  *Cause:  An invalid alter type statement was submitted.
//  *Action: Correct the errors listed in specified table and resubmit 
//           statement.
/
22311, 00000, "type for attribute \"%s\" does not exist"
//  *Cause:  The type of the attribute does not exist.
//  *Action: No types were created/modified for this DDL transaction.  Redo
//           the DDL transaction and add the creation of the attribute's type
//           in the DDL transaction.
/
22312, 00000, "must specify either CASCADE or INVALIDATE option"
//  *Cause:  An attempt was made to alter a type which has a dependent type 
//           or table without specifying the CASCADE or INVALIDATE option.
//  *Action: Resubmit the statement with either the CASCADE or INVALIDATE  
//           option. Specify CASCADE if you want to cascade the type change to 
//           dependent types and tables; otherwise, specify INVALIDATE to 
//           invalidate all dependents. 
/
22313, 00000, "cannot use two versions of the same type \"%s\""
//  *Cause:  The version of this type conflicts with the version of this
//           type used by another library that was linked in with the
//           application.  An application may only use one version of a type.
//  *Action: Check that the libraries being linked with this application and
//           use the same versions of the type.
/
22314, 00000, "method information mismatch in ALTER TYPE"
//  *Cause:  The number of methods or the method signature do not match that
//           of the original type declaration. This is not supported.
//  *Action: Make sure the method signature stay identical for the previously
//           declared method. Do not drop existing methods.
/
22315, 00000, "type \"%s\" does not contain a map or order function"
//  *Cause:  The input type does not contain a map or order function so one
//           cannot be returned.
//  *Action: Add a map or order function to the type or catch this error.
/
22316, 00000, "input type is not a collection type"
//  *Cause:  The user is trying to obtain information for collection types
//           on a non-named collection type.
//  *Action: Use a named collection type for the function.
/
22317, 00000, "typecode %s is not legal as a number type"
//  *Cause:  The user is trying to use a number typecode that is not valid.
//  *Action: Use only OCI_TYPECODE_SMALLINT, OCI_TYPECODE_INTEGER,
//           OCI_TYPECODE_REAL, OCI_TYPECODE_DOUBLE, OCI_TYPECODE_FLOAT,
//           OCI_TYPECODE_NUMBER, or OCI_TYPECODE_DECIMAL.
/
22318, 00000, "input type is not an array type"
//  *Cause:  The user is trying to obtain the number of elements for a
//           non-array type.
//  *Action: Pass in only a named collection type which is an array.
/
22319, 00000, "type attribute information altered in ALTER TYPE"
//  *Cause:  The type attribute information does not match that of the
//           original type declaration when altering type. Attributes
//           cannot be altered during ALTER TYPE. Only new methods can
//           be added.
//  *Action: Check that all type alterations are legal.
/
22320, 00000, "missing user version string"
//  *Cause:  The VERSION option is specified without a user version string.
//  *Action: Resubmit the statement with the version string following the 
//           VERSION keyword.
/
22321, 00000, "method does not return any result"
//  *Cause:  OCITypeResult() was called on a method that does not return any
//           results.
//  *Action: Check that you are passing in the correct method descriptor,
//           or that your method creation was done correctly.
/
22322, 00000, "error table \"%s\".\"%s\" has incorrect structure"
//  *Cause:  The specified error table does not have the expected table  
//           structure.
//  *Action: Execute the DBMS_UTILITY.CREATE_ALTER_TYPE_ERROR_TABLE procedure 
//           to create an error table, then resubmit the statement using the 
//           new error table. 
/
22323, 00000, "error table \"%s\".\"%s\" does not exist"
//  *Cause:  The error table does not exist. 
//  *Action: Resubmit the statement with a correct error table name.
/
22324, 00000, "altered type has compilation errors"
// *Cause:  The use of the ALTER TYPE statement caused a compilation error.
// *Action: Correct the error reported and resubmit the statement.
/
22325, 00000, "event for create type with user version string"
// *Cause:  
// *Action: 
/
22326, 00000, "cannot change a type to FINAL if it has subtypes"
// *Cause:  An attempt was made to change a type with subtypes to FINAL.
// *Action: Drop all subtypes of the target type before changing it to FINAL. 
/
22327, 00000, "cannot change a type to NOT INSTANTIABLE if it has dependent tables"
// *Cause:  An attempt was made to change a type with dependent tables to NOT 
//          INSTANTIABLE.
// *Action: Drop all dependent tables of the target type and resubmit the
//          statement.
/
22328, 00000, "object \"%s\".\"%s\" has errors.\n%s"
// *Cause:  Altering the target type causes errors in its dependent object.
// *Action: Correct the problem in the dependent object and resubmit the
//          statement.
/
22329, 00000, "cannot alter a non-object type"
// *Cause: An attempt was made to execute ALTER TYPE on a non-object type.
// *Action: Drop the non-object type first, then re-create it as an object type.
/
22330, 00000, "cannot alter a type that is not valid"
// *Cause:  An attempt was made to perform ALTER TYPE on an invalid type.
// *Action: Use the CREATE OR REPLACE TYPE command to modify the type.
/
22331, 00000, "cannot alter an incomplete type"
// *Cause: An attempt was made to perform ALTER TYPE on an incomplete type.
// *Action: Use CREATE TYPE to completely define the original type before 
//          executing the ALTER TYPE.
/
22332, 00000, "a dependent object in schema \"%s\" has errors.\n%s"
// *Cause:  Altering the target type causes errors in its dependent object.
// *Action: Correct the problem in the dependent object and resubmit the
//          statement.
/
22333, 00000, "cannot reset type \"%s\".\"%s\" due to invalid dependent types and tables"
// *Cause:  An attempt was made to reset the type version with invalid 
//          dependent types and tables.
// *Action: Use the ALTER TYPE COMPILE statement to compile all invalid 
//          dependent types and use the ALTER TABLE UPGRADE INCLUDING DATA to
//          upgrade all the dependent tables then resubmit the statement. 
/
22334, 00000, "cannot reset type \"%s\".\"%s\". Dependent tables must be upgraded to latest version"
// *Cause:  An attempt was made to reset the type version when the data in 
//          the dependent table has not been upgraded to the latest type 
//          version.
// *Action: Use the ALTER TABLE UPGRADE INCLUDING DATA statement to upgrade 
//          the data in the dependent tables then resubmit the statement. 
/
22335, 00000, "The client cannot work with an altered type"
// *Cause:  A pre 8.2 client has requested a type that has been altered on the
//          server.
// *Action: Only 8.2 or higher clients could access altered types
/
22336, 00000, "table contained 8.0 image format, must specify INCLUDING DATA"
// *Cause:  One of the following: 
//    1)    An attempt was made to alter a type with a dependent table in 8.0
//          image format and the NOT INCLUDING TABLE DATA option was specified.
//    2)    An attempt was made to upgrade a table in 8.0 image format with 
//          the NOT INCLUDING DATA option specified. 
// *Action: Resubmit the statement with INCLUDING DATA option.
/
22337, 00000, "the type of accessed object has been evolved"
// *Cause:  The type of the accessed object has been altered and the client's 
//          object is based on an earlier type definition.
// *Action: The user needs to exit application and modify application to
//          accommodate the type change.
//          From SQL/PLUS, reconnect and resubmit statement.
/
22338, 00000, "must specify CASCADE INCLUDING DATA when altering the final property"
// *Cause:  An attempt was made to alter the final property of a type with
//          dependent table(s) without specifying the CASCADE INCLUDING DATA .
//          option.
// *Action: Resubmit the statement with the CASCADE INCLUDING DATA option.
/
22339, 00000, "cannot alter to not final since its attribute column is substitutable"
// *Cause:  An attempt was made to alter a type to not final when its
//          embedded attribute is defined as substitutable in some tables.
//          Note, this is a restriction in 9.0 version because when a type is
//          altered to not final, column of that type is set to not 
//          substitutable at all levels; thus, it is an error if one of its 
//          embedded attribute column is already marked substitutable.
// *Action: Recreate the table and specify NOT SUBSTITUTABLE AT ALL LEVELS 
//          for all columns of non final type. Then resubmit the ALTER TYPE
//          statement. 
/
22340, 00000, "cannot %s type \"%s\".\"%s\". Dependent tables must be upgraded to latest version"
// *Cause:  An attempt was made to reset the version, drop or alter a type 
//          when the data in dependent table has not been upgraded to 
//          the latest version. 
// *Action: Use the ALTER TABLE UPGRADE INCLUDING DATA statement to upgrade 
//          the data in the dependent tables then resubmit the statement. 
/
22341, 00000, "cannot assign supertype instance to subtype"
// *Cause:  An attempt was made to assign or copy a supertype instance to
//          a container (destination) that can only hold a subtype instance.
// *Action: Make sure the runtime type of the source of the assignment or
//          copy is the same type as the destination or is a subtype of the
//          destination type
/
22342, 00000, "dependent VARRAY column exceeds the maximum inline column size"
// *Cause:  An attempt was made to alter a type (add or modify attribute)
//          which causes the size of its dependent VARRAY column to exceed the
//          maximum inline column size. However, the VARRAY column was not
//          specified to be stored as LOB at the table level when the table
//          was created.
// *Action: Specify the VARRAY column to be stored as LOB at the table level
//          when the table is created.
/
22343, 00000, "Compilation error for type invalidated by ALTER TYPE"
// *Cause: Compilation failed for a type which was invalidated by ALTER TYPE.
//         We throw this error and rollback the compilation effort so that
//         the user may be able to fix whatever is causing the compilation 
//         error and try again. It is important that we do not chnage status 
//         here and modify the dependency information as this will affect
//         the creation of versions.
// *Action: Check what is causing teh compilation error and correct it and
//          try again.
/
22344, 00000, "can not specify CONVERT TO SUBSTITUTABLE option for ALTER TYPE other than NOT FINAL change"
// *Cause: An attempt was made to specify CONVERT TO SUBSTITUTABLE option for 
//         ALTER TYPE other than NOT FINAL change.
// *Action: Specify CONVERT TO SUBSTITUTABLE option only for ALTER TYPE NOT 
//          FINAL change. 
/
22345, 00000, "recompile type %s.%s before attempting this operation"
// *Cause: An attempt was made to perform an operation which requires the 
//         specified datatype to be valid, but the datatype is invalid
// *Action: Recompile the specified type and retry the operation
/
22346, 00000, "Type has cyclical dependency. Should use CASCADE option"
// *Cause: An attempt was made to alter a type which has a cyclical 
//         dependency, with invalidate option.
// *Action: Give CASCADE option instead of INVALIDATE
/
22347, 00000, "No changes to type specified for ALTER TYPE"
// *Cause: The ALTER TYPE does not contain any changes to the type.  
// *Action: If any change is required for the type, modify the ALTER TYPE to
//          specify the change. Else no need for the ALTER.
/
22348, 00000, "The object type DDL is not supported in Editioned schema"
// *Cause: The object type DDL was not supported in an Editioned schema.  
// *Action: Do not perform this DDL on an Editioned schema object.
/
/ Error numbers from 22350 to 22370 are reserved for ORT/KOT (Opaque Types).
/
22349, 00000, "This version of the Oracle server does not support PL/SQL package type descriptions."
//  *Cause:  An attempt was made to get PL/SQL package type description
//           information from a version of the Oracle server that does not 
//           support the description of PL/SQL package types.
//  *Action: Do not attempt to describe package types on this Oracle server.
/
22350, 00000, "Incomplete opaque type cannot be used here"
//  *Cause:  An incomplete SYS.AnyType or SYS.AnyData or SYS.AnyDataSet is
//           being used inappropriately.
//  *Action: Check the documentation for correct usage.
/
22351, 00000, "OCI API is not supported by this version of the Oracle server."
//  *Cause:  An attempt was made to call an Oracle Call Interface (OCI)
//           API which is not supported by this version of the Oracle server.
//  *Action: Do not call the unsupported OCI API when connected to this 
//           Oracle server.
/
22352, 00000, "Type is unsupported or contains an unsupported attribute or element."
//  *Cause:  A PL/SQL package type was not supported on the client or contained
//           an attribute or element that was not supported on the client.  
//           Unsupported types include index by VARCHAR2 collections,
//           remote types and MLSLABELs.
//  *Action: Do not attempt to use unsupported PL/SQL package types or types 
//           that contain unsupported attributes or elements on the client.
/
/ Error numbers from 22369 to 22370 are used by SYS.DBMS_INDEXING.
/
22369, 00000, "invalid parameter encountered in method %s"
//  *Cause:  An invalid parameter is being passed to this method of SYS.AnyType
//           ,SYS.AnyData or SYS.AnyDataSet
//  *Action: Check the parameters being passed to this method and make sure
//           that the parameters are allowed.
/
22370, 00000, "incorrect usage of method %s"
//  *Cause:  This method of SYS.AnyType or SYS.AnyData or SYS.AnyDataSet is
//           being used inappropriately.
//  *Action: Check the documentation for correct usage.
/
22371, 00000, "Table contains data of type %s.%s, version %s, which does not exist"
//  *Cause:  Some of the older versions of the type may have got deleted
//           because one or more of the types it were referencing was dropped.
//  *Action: These data could not be read as the whole ADT. Read the data at
//           individual scalar attribute level.
/
22372, 00000, "Event for type dictionary upgrade"
//  *Cause:  This is an internally used event for type dictionary upgrades
//           from 8.0 to 8.1.
//  *Action: None.
/
22373, 00000, "Older version hashcode encountered"
//  *Cause:  An older version HC is encountered when creating a new version
//           hahscode. Currently this is handled internally.
//  *Action: None.
/
22374, 00000, "cannot reset the version of a type with table dependents"
//  *Cause:  The type for which reset version was requested has table
//           dependents.
//  *Action: None.
/
22375, 00000, "Event to check for subtypes in complete type tree"
//  *Cause:  This event is used to check for subtypes in
//           complete type tree without any restriction on depth in the
//           fix for bug# 12430142.
//  *Action: None
/
22376, 00000, "Event to keep old behavior for type public synonyms"
//  *Cause:  A public type synonym was qualified with a schema which may
//           lead to incorrect name resolution. This issue has been resolved. 
//           However, this event allows you to use the old behavior if desired.
//  *Action: None.
/
22377, 00000, "Unpacking of ANYDATA columns is not supported for attribute columns."
//  *Cause:  An attribute column has been referenced in the 'modify_opaque_type' 
//           clause. 
//  *Action: Do not use an attribute column in the 'modify_opaque_type' clause.
/
22378, 00000, "cannot add, drop or modify attributes of a type with synonym dependents defined on FINAL types"
//  *Cause:  An attempt to ALTER TYPE [ADD | DROP | MODIFY] ATTRIBUTE on 
//           a type with synonym dependents defined on a FINAL type, which
//           has table dependents, failed.
//  *Action: None.
/
22379, 00000, "event to bypass hashcode in  kottyphcequ"
//  *Cause:  This event is used to bypass the error \"ORA-39779\" during the
//           import of table data which occurs because of the mismatch in the
//           hashcodes of a user-defined type between the source and the
//           target databases. The event has to be used when the source
//           database has an improper hashcode for the user-defined type.
//  *Action: None.
/
22380, 00000, "event to skip updating the dependencies"
//  *Cause:  This event is used to bypass regenerating dependencies 
//           during upgrade while running ALTER TABLE MOVE on type 
//           dictionary tables to enable storage in row. This happens on the
//           upgrade path from 10.1. 
//  *Action: None.
/
22381, 00000, "type collation is not the same as default collation"
//  *Cause:  An attempt was made to ALTER TYPE COMPILE when the type collation
//           was different from the current active collation. This is not 
//           allowed.
//  *Action: Set the active collation to be the same as the type collation or 
//           issue the REUSE SETTINGS clause.
/
22382, 00000, "event to allow status 6 recompile to change settings"
//  *Cause:  This event is used to allow types in status 6 to recompile
//           with current environment settings. The standard behavior is to
//           reuse the current compiled settings. This is made available
//           so that users can change the hashcodes of types created under 
//           different NLS_LANGUAGE_SEMANTICS. 
//  *Action: None.
/
/ Error numbers from 22600 to 22699 are reserved for KOP* (pickler) and
/ Pickler Cartridge Service.
/
22600, 00000, "encountered 8.0.2 (Beta) VARRAY data that cannot be processed"
//  *Cause:  Production Oracle8 (8.0.3 and beyond) encounters some VARRAY data
//           which was created and stored by Oracle8 8.0.2 (Beta 2).
//           Production Oracle8 cannot understand or process such VARRAY data.
//  *Action: Delete the VARRAY data from the table by dropping the table,
//           deleting the rows, or nulling out the VARRAY columns, and then
//           re-insert the VARRAY data.  There is no provided
//           script or tool to help automate this conversion.
/
22601, 00000, "pickler TDS context [%s] is not initialized"
//  *Cause:  Attempt to use the pickler TDS context without initializing it.
// *Action:  Use OCIPicklerTdsCtxInit to initialize the context.
22602, 00000, "pickler TDS handle [%s] is not well-formed"
//  *Cause:  Attempt to use the pickler TDS handle without initializing/
//           constructing it.
// *Action:  Use OCIPicklerTdsInit to initialize the handle before it is
//           constructed.  Use OCIPicklerTdsGenerate to generate the
//           TDS before its attributes can be accessed.
22603, 00000, "cannot add an attribute to the already generated TDS handle"
//  *Cause:  Attempt to add an attribute to the already constructed TDS.
// *Action:  Use a TDS handle that is initialized but not yet constructed.
22604, 00000, "TDS handle already generated"
//  *Cause:  Attempt to geneate TDS that is already genearated.
// *Action:  Use a TDS handle that is initialized but not yet generated.
22605, 00000, "FDO handle [%s] is not initialized"
//  *Cause:  Attempt to use an uninitialized FDO handle.
// *Action:  Use OCIPicklerFdoInit to initialize FDO handle".
22606, 00000, "pickler image handle [%s] is not well-formed"
//  *Cause:  Attempt to use the image handle without initializing/
//           constructing it.
// *Action:  Use OCIPicklerImageInit to initialize the handle before it is
//           constructed.  Use OCIPicklerImageGenerate to generate the
//           image before its attributes can be accessed.
22607, 00000, "image handle already generated"
//  *Cause:  Attempt to geneate image that is already genearated.
// *Action:  Use a image handle that is initialized but not yet generated.
22608, 00000, "cannot add an attribute to the already generated image handle"
//  *Cause:  Attempt to add an attribute to the already constructed image.
// *Action:  Use a image handle that is initialized but not yet constructed.
22609, 00000, "error %s during initialization of FDO"
//  *Cause:  Error during FDO initialization.
// *Action:  Take an action based on the specified error.
/
22610, 00000, "error while adding a scalar to the image handle"
//  *Cause:  Error while adding a scalar attribute to the image handle
// *Action:  Make sure image handle is initialized before adding scalar
/
22611, 00000, "TDS version is not recognized"
//  *Cause:  Incorrect TDS handle is passed
// *Action:  Make sure image handle is initialized with the correct TDS 
/
22612, 00000, "TDS does not describe a collection TDS"
//  *Cause:  collection construct/access routines are being on an image but
//     the TDS does not describe that a collection TDS 
// *Action:  Make sure a collection TDS is used before invoking collection 
//     routines on the image handle
/
22613, 00000, "buflen does not match the size of the scalar"
//  *Cause:  buflen is incorrect
// *Action:  Make sure buflen is correct and matches the size of the scalar
/
22614, 00000, "error while construction the collection in the image"
//  *Cause:  Error during the construction of collection
// *Action:  Make sure image handle is initialized and
//     OCIPicklerImageCollBegin is called to begin collection
/
22615, 00000, "attribute is not a collection"
//  *Cause:  collection routine is invoked upon a non-collection attribute
// *Action:  Make sure attribute is a collection
/
22616, 00000, "image is not of Oracle 8.1 format"
//  *Cause:  The function being invoked is applicable only for 8.1 images
// *Action:  Make sure image is of 8.1 format
/
22617, 00000, "error while accessing the image handle collection"  
//  *Cause:  Error while accessing collection in the image handle
// *Action:  Make sure image is initialized correctly and the collection
//     is constructed properly.
/
22618, 00000, "attribute is a BAD NULL in the image handle"
//  *Cause:  attribute in question is probably the attribute of a null 
//     embedded image 
// *Action:  Make sure attribute number is valid or it is NULL or 
//     NOT NULL.
/
22619, 00000, "all collection elements have already been accessed"
//  *Cause:  Accessing a collection element after all the collection 
//     elements are already accessed
// *Action:  This function should not be invoked any more.
/
22620, 00000, "buffer size too small to hold the value"
//  *Cause:  Buffer size is not enough to hold the value.  Most likely
//     while doing the character set conversion, a bigger buffer
//     is needed.
// *Action:  Pass in a bigger buffer.  If the client character set format 
//     differs from that of server, doing the conversion may result
//     in 4X expansion.  
22621, 00000, "error transfering an object from the agent"
//  *Cause:  Any error returned from pickler routines on the agent side. 
// *Action:  Contact Oracle Support.
/
22625, 00000, "OCIAnyData is not well-formed"
//  *Cause:  Attempt to use the OCIAnyData without initializing
//           constructing it.
// *Action:  Use OCIAnyDataBeginConstruct to initialize the handle before it is
//           adding attributes.  Use OCIAnyDataEndConstruct to complete the
//           construction.  Or use OCIAnyDataConvert to do the construction.
//           MAke sure it is properly constructed before accessing attributes.
/
22626, 00000, "Type Mismatch while constructing or accessing OCIAnyData"
//  *Cause:  Type supplied is not matching the type of the AnyData.
//           If piece wise construction or access is being attempted, the
//           type supplied is not matching the type of the current attribute.
// *Action:  Make sure the type supplied matches the type of object to
//           to be constucted or accessed.
/
22627, 00000, "tc [%s] must be that of object/varray/nested table"
//  *Cause:  Type code is not that of object/varray/nested table
// *Action:  Make sure the type code is OCI_TYPECODE_OBJECT or
//           OCI_TYPECODE_VARRAY or OCI_TYPECODE_TABLE
/
22628, 00000, "OCIAnyData already constructed"
//  *Cause:  Attempt to add attributes to OCIAnyData that is already constructed.
// *Action:  Use the OCIAnyData that is initialized but not yet constructed.
/
22629, 00000, "OCIAnyData is null"
//  *Cause:  Attempting an operation that is not valid on null OCIAnyData
// *Action:  Make sure OCIAnyData is not null.
/
22630, 00000, "attribute [%s] is null or it is not well-formed"
//  *Cause:  Passing an attribute that is null or not well-formed
// *Action:  Make sure the attribute is not null or is well-formed.
/
22631, 00000, "attribute [%s] is is not well-formed or does not match the type"
//  *Cause:  Passing an attribute that is not well-formed or does not match the
//           input type.
// *Action:  Make sure the attribute is well-formed and matches the type specified.
/
22632, 00000, "AnyDataSet parameter is not valid for the current operation"
//  *Cause: The AnyDataSet parameter is null or it is somehow invalid for
//          the current operation.
// *Action: Check the documentation for the current operation.
/
22633, 00000, "Error freeing AnyDataSet"
//  *Cause: AnyDataSet that is passed in may not be valid.
// *Action: Check all the AnyDataSet parameters.
/
22634, 00000, "Error adding new instance to AnyDataSet"
//  *Cause: Current instance in the AnyDataSet has not been fully constructed.
// *Action: Make sure that the current instance is fully constructed before
//          adding new instance.
/
22635, 00000, "time stamp with time zone type not supported "
//  *Cause: OCIAnyData did not support conversion of time stamp with time
//          zone when the version of time zone files differ.
// *Action: Use same version of time zone files.
/
22637, 00000, "A transformed image cannot be inserted or updated."
//  *Cause: An attempt was made to insert or update an object column with
//          transformed data. Preventing unexpected data from being written to
//          disk is an internal error.
// *Action: Contact Oracle Support Services.
/
/ Error numbers from 22700 to 22799 are reserved for debugging event numbers.
/
// NLS_DO_NOT_TRANSLATE [22700,22700]
22700, 00000, "object access trace event number"
// *Cause: N/A
// *Action: If the trace event number is set to a level greater than 0 then
//          all the dangling REFs are dumped.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE.  THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
/
/ 22799 IS THE MAXIMUM ERROR NUMBER for ORI/KO (object Interface and Subsystem)
/


/ 22800 - 22999 Reserved for object SQL:
/       22800 - 22849 Reserved for object SQL Query/DML
/                     (parse, semantics, type checkin, execution)
/       22850 - 22879 Reserved for object SQL DDL
/                     (parse, semantics, type checkin, execution)
/       22880 - 22899 Reserved for object SQL REF/DEREF Support
/                     (parse, semantics, type checkin, execution/KOKA)
/       22900 - 22919 Reserved for SQL Nested Tables and Collections
/                     (parse, semantics, type checkin, execution)
/       22920 - 22929 Reserved for SQL LOBs
/       22930 - 22949 Reserved for object SQL Dictionary Support
/       22950 - 22969 Reserved for object SQL Method Support
/       22970 - 22989 Reserved for object Views
/       22990 - 22999 Reserved for SQL LOBs
/
/
/       22800 - 22849 Reserved for object SQL Query/DML
/                     (parse, semantics, type checkin, execution)
/
22800, 00000, "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.
22801, 00000, "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.
22802, 00000, "remote implementation type not supported"
// *Cause:  Remote type reference was not supported 
//          with user-defined aggregate function.
// *Action: Use local implementation type with user-defined
//          aggregate function.


22803, 00000, "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
22804, 00000, "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.
22805, 00000, "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.
22806, 00000, "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.
22807, 00000, "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.
22808, 00000, "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.
22809, 00000, "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.
22810, 00000, "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.
22812, 00000, "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.
22813, 00000, "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.
22814, 00000, "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.
22815, 00000, "sql name resolution event"
// *Document: NO
// *Cause:    N/A
// *Action:   Sets weak name resolution on for object sql
22816, 00000, "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.
22817, 00000, "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.
22818, 00000, "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.
22819, 00000, "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
22820, 00000, "Event to turn off redundant join elimination by the optimizer"
// *Document: NO
// *Cause:    N/A
// *Action:   Turns off redundant-join-elimination
22821, 00000, "Event to turn off common subexpression elimination"
// *Document: NO
// *Cause:    N/A
// *Action:   Turns off common subexpression elimination
22822, 00000, "Event to accept dot notation in the insert statement"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables dot notation in insert statements
22824, 00000, "Event to lookup remote objects using DDFNET for snapshots"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables lookup of remote objects through DDFNET for snapshots
//            rather than using the remote transfer KGL mechanism.
22825, 00000, "event set during import/export"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables logical transformation of opaque types
22826, 00000, "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.
22827, 00000, "Event to lookup remote objects using KGL"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables lookup of remote objects through the remote
//            tranfer KGL mechanism instead of ddfnet.
22828, 00000, "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.
22829, 00000, "Event to allow LATERAL views"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables usage of LATERAL views. This event can
//            be removed once this feature is tested and documented.
22830, 00000, "Event enabling VARRAYs columns to be created as OCTs"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables all VARRAY columns to be created as Ordered
//            Collection in Tables (ie with table storage)
22831, 00000, "Offset or offset+amount does not land on character boundary"
// *Document: NO
// *Cause:    (1) Source offset for BFILE (in bytes) does not start 
//          from a complete character.
//            (2) Starting offset to read or write a LOB cuts into
//                a surrogate pair.
//            (3) The end of a LOB write (offset+amount) cuts into
//                a surrogate pair.
// *Action:   (1) Make sure offset land on character boundary. 
//            (2) Try to adjust the offset by (+/-)1 UCS2 codepoint.
//            (3) Try to adjust the amount by (+/-)1 UCS2 codepoint.
22832, 00000, "Event enabling LOB columns to share the same segment"
// *Document: NO
// *Cause:    N/A
// *Action:   Enables all LOB columns to share the same segment
22833, 00000, "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. 
22834, 00000, "Event to turn off smon cleanup for transient types"
// *Document: NO
// *Cause:    N/A
// *Action:   Turn off SMON cleanup for transient types. 
//
22835, 00000, "Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: %s, maximum: %s)"
// *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.
22836, 00000, "Event to turn on lob to char/raw silent truncation"
// *Document: NO
// *Cause:    N/A
// *Action:   Do not throw error 22835 for truncation during LOB to CHAR/RAW 
//            conversion. Truncate the data instead.
22837, 00000, "Relational hint or keyword is disallowed for user-level DML"
// *Document: YES
// *Cause:    An attempt was made to use relational hint or keyword in user- 
//            level DML.
// *Action:   Avoid using DML with relational hint or keyword.
22838, 00000, "Event to enable to allow user-level relational hint or keyword and direct updates on SYS_NC columns"
// *Document: NO
// *Cause:    N/A
// *Action:   Do not throw error 22837 for user-level relational hint or 
//            keyword, or 22839 for direct updating SYS_NC columns.
22839, 00000, "Direct updates on SYS_NC columns are disallowed"
// *Document: YES
// *Cause:    An attempt was made to update SYS_NC columns directly. 
// *Action:   Avoid direct updates on SYS_NC columns. 
22840, 00000, "REF column being indexed is not scoped"
// *Document: NO
// *Cause:    N/A
// *Action:   Index creation on REF column should be scoped. 
22841, 00000, "DML on PL/SQL collections not supported"
// *Document: NO
// *Cause:    An attempt was made to perform a DML operation on a collection 
//            type in a PL/SQL block.
// *Action:   Feature not supported yet.
22842, 00000, "Event to enable image conversion for evolved ADT inside an AnyData column"
// *Document: NO
// *Cause:    N/A
// *Action:   Convert an old version ADT image inside an AnyData column into  
//            its most updated version.
22843, 00000, "Renaming or direct DML on out-of-line tables is not allowed."
// *Document: NO
// *Cause:    Rename or a DML was invoked directly on out-of-line tables.
// *Action:   Avoid renaming out-of-line tables. Use DML on base tables.
22844, 00000, "ERROR LOGGING not supported with INSTEAD OF triggers."
// *Document: NO
// *Cause:    ERROR LOGGING clause was not supported for DML operation
//            on views that have an INSTEAD OF trigger defined.
// *Action:   Avoid using ERROR LOGGING clause.
22845, 00000, "REF_CASCADE_CURSOR hint is not allowed in user-level queries."
// *Document: No
// *Cause:    An attempt was made to use hint that is not allowed.
// *Action:   Do not specify REF_CASCADE_CURSOR hint.
22846, 00000, "Relational CTAS or INSERT ... SELECT on an object table is not supported with supplemental logging turned on."
// *Document: NO
// *Cause:    While supplemental logging was turned on, a CREATE TABLE AS 
//            SELECT (CTAS) attempt was made to create an object table with a 
//            relational subquery, or an INSERT ... SELECT happened on an 
//            object table with a relational subquery.
// *Action:   Use OBJECT_VALUE or an object constructor in the subquery.
22847, 00000, "cannot generate ANYDATA with BFILE or OPAQUE TYPE inside"
// *Document: NO
// *Cause:    When an XML was generated from an ANYDATA with BFILE or OPAQUE
//            TYPE in it, it could not be transformed back into a valid ANYDATA.
// *Action:   Avoid generating ANYDATA from such XML documents.
/
/
/       22850 - 22879 Reserved for object SQL DDL
/                     (parse, semantics, type checkin, execution)
/
22850, 00000, "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.
/
22851, 00000, "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.
/
22852, 00000, "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.
/
22853, 00000, "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.
/
22854, 00000, "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.
/
22855, 00000, "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).
/
22856, 00000, "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.
/
22857, 00000, "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.
/
22858, 00000, "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.
/
22859, 00000, "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.
22860, 00000, "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.
22861, 00000, "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.
22862, 00000, "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.
22863, 00000, "synonym for datatype %s.%s not allowed"
// *Cause:   A synonym specification for a datatype is not supported
// *Action:  do not use the synonym for the datatype
22864, 00000, "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.
22865, 00000, "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.
22866, 00000, "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.
22868, 00000, "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.
22869, 00000, "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.
22870, 00000, "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
22871, 00000, "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.
22872, 00000, "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
22873, 00000, "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
22874, 00000, "attribute \"%s\" is not part of the type \"%s\""
//  *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
22875, 00000, "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
22876, 00000, "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.
22877, 00000, "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).
// *Comment: This error could result from omission of a
//           terminating (right) parenthesis following the list of 
//           subpartition descriptions.
22878, 00000, "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.
22879, 00000, "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.




/
/
/ Put errors here.
/
/       22880 - 22899 Reserved for object SQL REF/DEREF Support
/                     (parse, semantics, type checkin, execution/KOKA)
/
22880, 00000, "invalid REF"
//  *Cause:  An invalid REF was accessed.
//  *Action: Modify the REF and retry the operation.
/
22881, 00000, "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.
/
22882, 00000, "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.
/
22883, 00000, "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.
/
22884, 00000, "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.
22885, 00000, "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.
22886, 00000, "scoped table \"%s\" in schema \"%s\" 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.
22887, 00000, "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.
22888, 00000, "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.
22889, 00000, "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.
22890, 00000, "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.
22891, 00000, "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.
22892, 00000, "scoped table \"%s\" does not exist in schema \"%s\""
//  *Cause:  The scoped table specified for a REF column does not exist.
//  *Action: Ensure that the scoped table exists and retry the operation.
22893, 00000, "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.
22894, 00000, "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.
22895, 00000, "referenced table \"%s\" in schema \"%s\" 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.
22896, 00000, "cannot have both scope and referential constraint on REF column \"%s\"" 
//  *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.
22897, 00000, "no scope clause specified for user-defined REF column \"%s\"" 
//  *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.
22898, 00000, "existing scope clause on  \"%s\" 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.
22899, 00000, "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.


/
/
/
/       22900 - 22919 Reserved for SQL Nested Tables and collections
/                     (parse, semantics, type checkin, execution)
/
22900, 00000, "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.
/
22901, 00000, "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.
/
22902, 00000, "CURSOR expression not allowed"
//  *Cause:  CURSOR on a subquery is allowed only in the top-level
//           SELECT list of a query.
//  *Action: 
/
22903, 00000, "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.
/
22904, 00000, "invalid reference to a nested table column"
//  *Cause:  invalid use of a nested table column
//  *Action: remove invalid reference to the nested table column
/
22905, 00000, "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 
/
22906, 00000, "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.
/
22907, 00000, "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.
/
22908, 00000, "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.
22909, 00000, "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.
22910, 00000, "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. 
/
22911, 00000,"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.
/
22912, 00000,"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.
/
22913, 00000,"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.
/
22914, 00000,"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.
/
22915, 00000,"cannot ALTER a nested table's storage table to ADD/MODIFY columns"
//  *Cause:  An attempt was made to ADD or MODIFY columns of a nested table's
//           storage table.
//  *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 
//           cause any such change.
/
22916, 00000,"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.
/
22917, 00000,"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.
/
22918, 00000,"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.
/
22919, 00000, "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.
/
/ Put errors here.
/
/       22920 - 22929 Reserved for SQL LOBs
/
22920, 00000, "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.
22921, 00000, "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.
22922, 00000, "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.
22923, 00000, "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.  
22924, 00000, "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.
22925, 00000, "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.
22926, 00000, "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.
22927, 00000, "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.
22928, 00000, "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.
22929, 00000, "invalid or missing directory name"
// *Cause:  The required directory name is invalid or missing.
// *Action: Specify a valid name.
/ Put errors here.
/
/       22930 - 22949 Reserved for object SQL Dictionary Support
/
22930, 00000, "directory does not exist"
// *Cause:  Attempt to access a directory that does not exist.
// *Action: Make sure the name is correct.
22932, 00000, "event to create tables in 8.0 image format"
// *Document: NO
// *Cause:    N/A
// *Action:   Causes adt columns to be stored in 8.0 format.
22933, 00000, "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.
22934, 00000, "event to store lob columns with very small headers"
// *Document: NO
// *Cause:    N/A
// *Action:   Supports LOB column with small header
22935, 00000, "event to create LOBs as UCS2"
// *Document: NO
// *Cause:    N/A
// *Action:   Creates LOB as UCS2 on little endian machines
22936, 00000, "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.
/
/ Put errors here.
/
/       22950 - 22969 Reserved for object SQL Method Support
/
22950, 00000, "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 
//
/
22951, 00000, "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.
//
/
22952, 00000, "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..
//
/
22953, 00000, "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.
//
/
22954, 00000, "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.
//
/
22955, 00000, "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.
//
/
22956, 00000, "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
//
/
22957, 00000, "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
//
/
22958, 00000, "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
//
/
/       22970 - 22989 Reserved for object Views
/
22970, 00000, "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.
//
22971, 00000, "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.
//


22972, 00000, "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.
//
22973, 00000, "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.
//
22974, 00000, "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.
22975, 00000, "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.
22976, 00000, "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.
22977, 00000, "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.
22978, 00000, "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.
22979, 00000, "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
22980, 00000, "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. 
22981, 00000, "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.
22982, 00000, "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.
22983, 00000, "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.
22984, 00000, "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.
/
/
/
/       22990 - 22999 Reserved for SQL LOBs
/
22990, 00000, "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.
22991, 00000, "insufficient space allocated for argument %s"
// *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.
/
22992, 00000, "cannot use LOB locators selected from remote tables"
// *Cause:  A remote LOB column cannot be referenced.
// *Action:  Remove references to LOBs in remote tables.
/
22993, 00000, "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.
/
22994, 00000, "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.
/
22995, 00000, "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.
/
22996, 00000, "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
/
22997, 00000, "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.
/
22998, 00000, "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()
//          or use PLSQL DBMS_LOB.READ/WRITE to access LOB data.
/
22999, 00000, "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.
/
/ 22999 IS THE MAXIMUM ERROR NUMBER for object SQL
/
/
/ 23000 - 23299 Reserved for object Management Subsystem (OMS)
/
/ FOR NOW 23290 to 23299 is being taken by RENAME COLUMN/CONSTRAINT 
/
/
23290, 00000, "This operation may not be combined with any other operation"
// *Cause:  ALTER TABLE RENAME COLUMN/CONSTRAINT operation was given in
//          conjunction with another ALTER TBALE Operation. This is not
//          allowed.
// *Action: Ensure that RENAME COLUMN/CONSTRAINT is the only operation
//         specified in the ALTER TABLE.
/
23291, 00000, "Only base table columns may be renamed"
// *Cause:  Tried to rename a column of a non-base table, like object table/
//          nested table/ materialized view table. 
// *Action: None. This is not allowed.
/
23292, 00000, "The constraint does not exist"
// *Cause:  The given constraint name does not exist.
// *Action: Give an existing constraint's name.
/
23293, 00000, "Cannot rename a column which is part of a join index"
// *Cause:  The column participates in a join index.
// *Action: If you need to rename the column, you need to drop the join index.
/
/
/ 23300 - 24299 Reserved for errors from DBMS* pl/sql pakages
/ These messages are generated from the dbms_sys_error package.
/ Messages can be given explicitly in this file or they can be passed as
/ a (single) string parameter to the 
/ The dbms_sys_error.raise_system_error call.  
/ If an error message is not found in this file, the string passed to the
/ call is used as the error message.
/
///////////////////////////////////////////////////////////////////////////////
// 23300-23599 Reserved for Replication PL/SQL packages
///////////////////////////////////////////////////////////////////////////////
23300, 00000, "%s"
// *Cause:  The stored procedure 'raise_system_error'
//          was called which causes this error to be generated.
// *Action: Correct the problem as described in the error message or contact
//          the application administrator or DBA for more information.
23301, 00000, "mixed use of deferred rpc destination modes"
// *Cause: Replication catalog determined deferred RPC destinations were 
//         mixed with destination determined by other mechanisms in the 
//         same transaction.
// *Action: Do not mix destination types in the same transaction.
23302, 00000, "application raised communication failure during deferred RPC"
// *Cause: An application declared a communication failure during a 
//         defered RPC.
// *Action: Retry the application when communication is restored.
23303, 00000, "application raised generic exception during deferred RPC"
// *Cause: An application declared a generic failure during a 
//         defered RPC.
// *Action Determined by the application
23304, 00000, "malformed deferred rpc at arg %s of %s in call %s, in tid %s"
// *Cause: A deferred RPC call was issued without the correct number of 
//         arguments as determined by the count parameter to dbms_defer.call
// *Action: Be sure the number of actuals matches the count.
23305, 00000, "internal deferred RPC error: %s"
// *Cause: An internal error occurred in deferred rpc.
// *Action: Report the error and other information to support.
23306, 00000, "schema %s does not exist"
// *Cause: The schema name was null or misspelled, or the schema does not
//         exist locally.
// *Action: Specify the schema correctly, or create it with CREATE USER.
23307, 00000, "replicated schema %s already exists"
// *Cause: The given database already replicates the given schema.
// *Action: Choose a different schema or a different database.
23308, 00000, "object %s.%s does not exist or is invalid"
// *Cause: The given name was null or misspelled, the given type was wrong,
//         the object does not exist as a valid database object, or the object
//         does not exist as a replicated object with the appropriate status.
// *Action: Ensure the object is valid in the database, is visible to the
//          user, and, if appropriate, is a valid object in all_repobject.
23309, 00000, "object %s.%s of type %s exists"
// *Cause: An object in the same namespace exists, perhaps with a different
//         type or shape, or the same object has already been registered as an
//         repobject in another object group.
// *Action: Remove the offending object with the SQL DROP command, unregister 
//          the offending object with dbms_repcat.drop_master_repobject(), or 
//          reinvoke the request using TRUE for a boolean parameter such as
//          retry or use_existing_object.
23310, 00000, "object group \"%s\".\"%s\" is not quiesced"
// *Cause: The requested operation requires the object group to be
//         suspended.
// *Action: Invoke suspend_master_activity at the repgroup's masterdef,
//          wait until the status has changed to quiesced, and then retry the
//          original request.
23312, 00000, "not the masterdef according to %s"
// *Cause: The group name is null, the group name is misspelled, the
//         invocation or given database is not the masterdef, or one of the
//         masters does not believe the invocation database is the masterdef.
// *Action: If the given group name and masterdef were both correct,
//          connect to the masterdef and retry the request, or relocate the
//          masterdef at the (errant) databases using relocate_masterdef.
23313, 00000, "object group \"%s\".\"%s\" is not mastered at %s"
// *Cause: The group name is null, the group name is misspelled, the
//         invocation database is not a master, or the invocation database
//         does not believe the given database is a master.
// *Action: If the given group name was correct, connect to a current master
//          and retry the request, make the invocation database a master
//          with add_master_database, or use switch_mview_master if the
//          invocation database is a materialized view site.
23314, 00000, "database is not a materialized view site for \"%s\".\"%s\""
// *Cause: The invocation database is not a materialized view database for the
//         given object group.
// *Action: Connect to the desired materialized view database and retry the 
//          request, or make the invocation database a materialized view site 
//          with create_mview_repschema or create_mview_repgroup.
23315, 00000, "repcatlog version or request %s is not supported by version %s"
// *Cause: Either incompatible repcat versions are used, or a repcatlog record
//         has been corrupted.
// *Action: Convert the master to a compatible version of repcat or retry
//          the request.
23316, 00000, "the masterdef is %s"
// *Cause: The requested operation is not permitted on a masterdef site.
// *Action: Relocate the masterdef to another master and retry the operation.
23317, 00000, "a communication failure has occurred"
// *Cause: The remote database is inaccessible.
// *Action: Ensure the remote database is running, the communications network
//          is functioning, and the appropriate database links are present.
23318, 00000, "a ddl failure has occurred"
// *Cause: User-supplied or system-generated ddl did not execute successfully.
// *Action: Examine ddl, database state, repcatlog, and all_errors to determine
//          why the failure occurred.
23319, 00000, "parameter value %s is not appropriate"
// *Cause: The given value of a parameter is either null, misspelled, or not
//         supported.
// *Action: Refer to the documentation and use parameter values that are
//          appropriate for the given situation.
23320, 00000, "the request failed because of values %s and %s"
// *Cause: A missing ddl record for a repcatlog record, or inconsistency in
//         repcat views.
// *Action: Retry the request, or make the views consistent.
//
23321, 00000, "Pipename may not be null"
// *Cause: You called dbms_pipe with a null pipe name.
// *Action: Find out the name of the pipe and call function with non-null
//          pipename.
23322, 00000, "Privilege error accessing pipe"
// *Cause: You either tried to create a pipe that already existed and
//         belonged to someone else, or remove a pipe that you were not
//         authorized to use, or put a message into a pipe that you were
//         not authorized for, or get a message from a pipe that you were
//         not authorized for.
// *Action: You may have to use a different pipename.
23323, 00000, "parameter length exceeds deferred RPC limits"
// *Cause: A deferred rpc parameter was longer than the deferred rpc limits
//         of 4000 bytes for char/varchar2 parameters and 2000 bytes for raw 
//         parameters.
// *Action: Use smaller parameters.
23324, 00000, "error %s, while creating deferror entry at \"%s\" with error %s"
// *Cause: The given error was encountered while attempting to create a 
//         deferor entry for the give error code and the give database.
// *Action: Correct the cause of the given error.
23325, 00000, "parameter type is not %s"
// *Cause: A conflict resolution priority function was given a type
//         different than the type assigned to the priority group;
//         or the priority group has no type assigned or a function;
//         or dbms_defer_sys_query was called to retrieve a deferred rpc 
//         parameter from the deferred rpc queue, but the type of the 
//         parameter does not match the return type of the function.
// *Action: Use the function corresponding to the parameter type.      
23326, 00000, "object group \"%s\".\"%s\" is quiesced"
// *Cause: Either suspend_master_activity has been called before the object
//         group has resumed normal operation or a (deferred) rpc operation
//         was attempted while the object group was quiesced.
// *Action: If suspend_master_activity has been called and a 
//          resume_master_activity request is pending, wait until it
//          completes, and then reinvoke suspend_master_activity. 
//          Otherwise, resume database activity with the resume_master_activity
//          call.
23327, 00000, "imported deferred rpc data does not match %s of importing db"
// *Cause: Deferred rpc queues were imported from a database with a different
//         global name or operating system than importing database.
// *Action: Deferred rpc data should only be imported into a database with
//         the same global name and hardware and operating system.
23328, 00000, "mview base table \"%s\".\"%s\" differs from master table \"%s\".\"%s\""
// *Cause: When creating a materialized view through repcat, the materialized 
//         view base table name did not match a replicated table name at the 
//         master.
// *Action: Change the materialized view ddl to use the same base table as the 
//         replicated table name at the master.
//
23329, 00000, "successful user-provided ddl but no materialized view \"%s\".\"%s\""
// *Cause: The DDL provided by the user to create a materialized view was 
//         executed without error, but materialized view does not exist.
// *Action: Manually back-out the DDL, and reregister with matching ddl 
//         and materialized view.
//
23330, 00000, "column group %s already exists"
// *Cause: The column group was already registered in the object group.
// *Action: Use a column group name not yet registered in the replicated 
//          object group.
//         
23331, 00000, "column group %s does not exist"
// *Cause: The given column group is either null, misspelled or not registered.
// *Action: Use a registered column group.
//         
23332, 00000, "group %s is in use; cannot drop"
// *Cause: The given column group or priority group is being used to 
//         resolve conflicts.
// *Action: Call dbms_repcat procedures drop_update_resolution, 
//         drop_delete_resolution, drop_unique_resolution so that the column 
//         group or priority group is no longer in use before dropping.
//
23333, 00000, "column %s is already part of a column group"
// *Cause: Attempted to add a column to a column group when the column was
//         already a member of a column group.
// *Action: Drop the column from its existing column group before trying
//         to add it to another.
//         
23334, 00000, "column %s does not exist in table or column group"
// *Cause: The given column is either null, misspelled or is not part of the
//         given table or column group.
// *Action: Use a column that is a member of the table or column group.
//         
23335, 00000, "priority group %s already exists"
// *Cause: The priority group was already registered in the object group.
// *Action: Use a column group name not yet registered in the object group.
//
23336, 00000, "priority group %s does not exist"
// *Cause: The priority group was already registered in the object group.
// *Action: Use a priority group name not yet registered in the object group.
//
23337, 00000, "priority or value not in priority group %s"
// *Cause: The specified value or priority has not been registered
//         as part of the priority group.
// *Action: Either specify a different value or priority that is already part 
//         of the priority group, or add the value to the priority group.
//         
23338, 00000, "priority or value already in priority group %s"
// *Cause: The specified value or priority has already been registered
//         as part of the priority group.
// *Action: Either specify a different value or priority that not already part 
//         of the priority group, or drop the value to the priority group.
//         
23339, 00000, "duplicate conflict resolution information"
// *Cause: The specified combination of column group, sequence, conflict 
//         type and/or parameter table name, parameter column name,
//         and parameter sequence number has already been registered.
// *Action: Verify that additional conflict resolution information
//         needs to be added and provide a new sequence number.  If
//         modifying existing information, the existing information must
//         be dropped first.
//         
23340, 00000, "incorrect resolution method %s"
// *Cause: User function is specified when conflict resolution method was 
//         not "USER FUNCTION" or specified resolution method is not one of 
//         the predefined methods.
// *Action: If user function is specified when conflict resolution method was 
//         not "USER FUNCTION", either reregister function with method as
//         "USER FUNCTION" or specify a NULL user function.  Otherwise
//         Specify one of the documented supported conflict resolution methods.
//         
23341, 00000, "user function required"
// *Cause: A NULL user function was specified for the "USER FUNCTION" method. 
// *Action: Provide user function name (e.g., "schema"."package"."function")
//         that conforms to the documented user function specifications or
//         specify one of the documented supported conflict resolution methods.
//         
23342, 00000, "invalid parameter column %s"
// *Cause: The parameter column name is null or misspelled, the
//         invocation database is not a master, or is of the wrong type
//         for the specified conflict resolution method.
// *Action: Specify a parameter column from the specified column group
//         that has a correct type for the conflict resolution method.
//         
23343, 00000, "no match for specified conflict resolution information"
// *Cause: The specified combination of column group, sequence, conflict 
//         type has not been registered (e.g., for adding a comment).
// *Action: Specify a combination of column group, sequence, conflict 
//         type has been registered.
//         
23344, 00000, "constraint (%s.%s) does not exist"
// *Cause: A null, misspelled or nonexistent constraint was specified
//         when registering a uniqueness conflict.
// *Action: Register a named constraint for the specified table.
//         
23345, 00000, "table \"%s\".\"%s\" not registered to collect statistics"
// *Cause: A procedure that deals with conflict resolution statistics-gathering
//         was called for a table that was not registered to collect 
//         statistics.
// *Action: Call dbms_repcat.register_statistics to register the table.
//         
23346, 00000, "primary key or object ID is undefined for table or materialized view %s"
// *Cause: Trying to generate replication support for a table or materialized 
//         view without a primary key (as defined by a constraint or
//         dbms_repcat.set_columns) or an object ID.
// *Action: For a table, add a primary key constraint or define a primary
//          key using dbms_repcat.set_columns or use object tables.
//          For a ROWID materialized view, set min_communication to false 
//          or use primary key or object ID materialized views.
//   
23347, 00000, "datatype %s for column %s table %s not supported"
// *Cause: The table has a column whose datatype is not supported by repcat.
// *Action: Remove the column from the table, or alter the column to have
//          one of the supported datatypes.
//   
23348, 00000, "cannot replicate procedure %s; only IN parameters supported"
// *Cause: Trying to generate replication support for a package that has
//         a procedure with OUT or IN OUT parameters.
// *Action: Remove the procedure from the package, or remove the OUT or IN OUT
//          parameters from the procedure.
//   
23349, 00000, "cannot generate replication support for functions"
// *Cause: Trying to generate replication support for a package that has
//         a public function, or for a stand-alone function.
// *Action: Remove the public function from the package, or alter the function
//          to be a procedure.
//   
23350, 00000, "maximum number of recursive calls exceeded"
// *Cause: This usually occurs when trying to resolve conflicts in a table
//         while concurrent updates to the same row create more conflicts.
// *Action: Re-execute the deferred transaction from DefError using
//          dbms_defer_sys.execute_error
//   
23351, 00000, "parameter datatype %s for procedure %s not supported"
// *Cause: The procedure has a parameter whose datatype is not supported by
//         repcat.
// *Action: Remove the parameter from the procedure, or alter the parameter
//          to have one of the supported datatypes.
23352, 00000, "duplicate destination for deferred transaction"
// *Cause: A duplicate destination was specified for a deferred transaction
//         either in a dbms_defer.call call or an earlier 
//         dbms_defer.transaction call or a dbms_defer_sys.add_default_dest
//         call.
// *Action: Remove the duplicate entry
23353, 00000, "deferred RPC queue has entries for object group \"%s\".\"%s\""
// *Cause: The requested action cannot be performed until the queue is empty
//         for the given object group
// *Action: Use dbms_defer_sys.execute or dbms_defer_sys.delete_tran to
//          empty the queue.
23354, 00000, "deferred RPC execution disabled for \"%s\" with \"%s\""
// *Cause: Deferred RPC can not be executed at the destination with
//         the specified catchup value because their propogation has
//         been disabled.
// *Action: Enable deferred RPC execution with the
//          dbms_defer_sys.set_disabled call.
//
23355, 00000, "object %s.%s does not exist or is invalid at master site"
// *Cause: The given name was null or misspelled, the given type was wrong,
//         the object does not exist as a valid database object at the master
//         site, or the object does not exist as a replicated object with 
//         the appropriate status.
// *Action: Ensure the object is valid in the master database, and is visible 
//          to the user, and, if appropriate, is a valid object in 
//          all_repobject.
23356, 00000, "masterdef recognizes a master which does not recognize the masterdef"
// *Cause: Possibly drop_master_repgroup was run at a master site but
//         remove_master_databases was not run at master definition site
//         for that master.
// *Action: Run remove_master_databases from master definition site to
//          remove the appropriate master (see associated error messages).
23357, 00000, "the propagator does not exist"
// *Cause: The propagator does not exist.
// *Action: Register a new propagator.
//
23358, 00000, "invalid remote user"
// *Cause: The local user does not match the remote user connected via
//         a database link.
// *Action: Drop and recreate the identified database link with the
//          connect-to user identical to the owner of the database link.
//
23359, 00000, "error on creating a ddl record for a repcatlog record"
// *Cause: The userid in the repcatlog record does not match the userid
//         of the connected user.
// *Action: Retry the operation with a different user.
//
23360, 00000, "only one materialized view for master table \"%s\" can be created"
// *Cause:  Trying to create more than one materialized view on a given master
//          table in the same rep group.
// *Action: Create these other materialized views in a different rep group at 
//          another site.
//          
23361, 00000, "materialized view \"%s\" does not exist at master site"
// *Cause:  The materialized view does not exist at the master site for offline
//          instantiation of the materialized view.  
// *Action: The correct procedure is to create the materialized view in a 
//          different schema at the master site, and then follow the 
//          instructions for offline instantiation of materialized views.
//
23362, 00000, "invalid user"
// *Cause: The given user does not exist.
// *Action: 
//
23363, 00000, "mismatch of mview base table \"%s\" at master and mview site"
// *Cause:  The name of the base table of the materialized view at the master 
//          site is different from the base table at the materialized view 
//          site.  This error may arise during offline instantiation of 
//          materialized views.
// *Action: Retry offline instantiation with a materialized view name less than
//          24 bytes
//
23364, 00000, "Feature not enabled: Advanced replication"
// *Cause: The Advanced Replication feature is not enabled at this site. 
//         Updatable materialized views, deferred RPCs, and other replication 
//         features are, therefore, unavailable. 
// *Action: Do not attempt to use this feature. Contact an Oracle Customer 
//          Support representative if the Advanced Replication feature has
//          been purchased but not enabled.
//
23365, 00000, "site %s does not exist"
// *Cause: site specified in argument "reference_site" or argument
//         "comparison_site" in call to "differences()" routine
//         or "rectify()" routine does not name an existing site.
// *Action: Make sure that database sites specified really do exist,
//         and re-run the routine.
//
23366, 00000, "integer value %s is less than 1"
// *Cause:  Value of argument "max_missing" to routine "differences()" 
//          cannot be less than 1.  Value of argument "commit_rows" to
//          routines "differences()" and "rectify()" cannot be less than 1.
// *Action: Choose an integer value for those arguments to be 1 or greater.
//
23367, 00000, "table %s is missing the primary key"
// *Cause: Table specified in argument "oname1" or "oname2" in call
//         to "differences()" routine does not contain either a primary
//         key or a virtual primary key (defined through dbms_repcat package
//         under symmetric replication).
// *Action: Make sure the tables specified have a primary key defined.
//
23368, 00000, "name %s cannot be null or the empty string"
// *Cause:   Argument "sname1," "sname2," "oname1," "oname2,"
//           "missing_rows_sname," "missing_rows_oname1,"
//           "missing_rows_oname2" to "differences()" or "rectify()"
//           cannot be NULL or '' (empty string).
// *Action:  Change argument to non-null or non-empty string.
//
23369, 00000, "value of \"%s\" argument cannot be null"
// *Cause:    Argument "max_missing" to "differences()" routine
//            cannot be NULL.
// *Action:   Legal values for "max_missing" are integers 1 or greater.
//
23370, 00000, "table %s and table %s are not shape equivalent (%s)"
// *Cause:  The tables specified are not shape equivalent, which means
//          intuitively that the number of columns, the names, their datatypes
//          and lengths are not the same. Specifically, problem is
//          in the parentheses and is one of the following: the number of
//          columns are not equal, datatypes of columns with
//          same name in different tables are different, lengths of
//          varchar2 and char columns are not equal, precision and
//          scale of number datatypes are not equal.
// *Action: Make sure the two tables being compared have the same
//          number of columns, same column names, and same datatypes.
//
23371, 00000, "column %s unknown in table %s"
// *Cause:   Some column in "array_columns" argument (or "column_list" argument)
//           to "differences()" routine does not correspond to a column in
//           the specified table.
// *Action:  Make sure that all the columns in either "array_columns" or
//           "column_list" are present in the specified table.
//
23372, 00000, "type %s in table %s is unsupported"
// *Cause:   Certain types in the table comparison utility are not supported.
// *Action:  Make sure that the types of columns in the tables to be compared
//           are the ones supported by symmetric replication.
//
23373, 00000, "object group \"%s\".\"%s\" does not exist"
// *Cause: The group name was null or misspelled, or the group does not
//         exist locally.
// *Action: Specify the group correctly, or create it with 
//          dbms_repcat.create_master_repgroup().
//
23374, 00000, "object group \"%s\".\"%s\" already exists"
// *Cause: The given database already replicates the given object group.
//         A materialized view repgroup cannot be created at a given site 
//         where a master repgroup with the same name already exists.
// *Action: Choose a different group or a different database.
//
23375, 00000, "feature is incompatible with database version at %s"
// *Cause: A feature not compatible with the specified database was used
// *Action: Set or raise the value of the "compatible" INIT.ORA parameter
//          to match the necessary compatibility level.
//
23376, 00000, "node %s is not compatible with replication version \"%s\""
// *Cause: A feature not compatible with the remote database was used
// *Action: Upgrade the remote database and retry the operation
//
23377, 00000, "bad name %s for missing_rows_oname1 argument"
// *Cause: An attempt was made to use the name of the reference site table
//         as the name of the missing_rows_oname1 argument.  
// *Action: Provide a separately created table with a different name for
//          missing_rows_oname1 argument. The separately created table will 
//          contain the differences between the tables being compared.
//
23378, 00000, "connection qualifier \"%s\" is not valid for object group \"%s\".\"%s\""
// *Cause : The connection qualifier used in the database link for the 
//          specified object group does not match the qualifier specified for
//          the group in create_master_repgroup.
// *Action: Use or create a database link which contains the correct connection
//          qualifier.
//
23379, 00000, "connection qualifier \"%s\" is too long"
// *Cause: The maximum length of a database link, including the connection
//         qualifier, is 128 bytes.
// *Action: Use a shorter connection qualifier, or shorten the name of
//          the database link
//
23380, 00000, "propagation mode \"%s\" is not valid"
// *Cause: The specified propagation may be misspelled, or is not supported.
//         For materialized view sites, all materialized view object groups 
//         at the same materialized view site with the same master object 
//         group must all have the same propagation method.
// *Action: Refer to the manual on replicated data for valid propagation modes.
//          For materialized view sites, also ensure that the propagation modes 
//          of all materialized view object groups with the same master object 
//          group are the same.
//
23381, 00000, "generated object for base object %s.%s@%s does not exist"
// *Cause: The system generated object(s) for the specified base object
//         do not exist at the specified site. The current operation
//         requires the base object to have generated replication support.
// *Action: Ensure that the generated replication object(s) for the base
//          object exist and are valid at the specified site.
//          If the generated object(s) do not exist, then the procedure
//          dbms_repcat.generate_replication_support() needs to be
//          called from the master definition site for the base object.
//          missing_rows_oname1 argument. The separately created table will 
//          contain the differences between the tables being compared.
23382, 00000, "materialized view repgroup \"%s\".\"%s\" is not registered at site %s"
// *Cause:  The materialized view repgroup is not currently registered at 
//          the master and so cannot be unregistered. 
// *Action: None
//
23383, 00000, "registration for materialized view repgroup \"%s\".\"%s\" failed at site %s"
// *Cause:  Insertion into local repschema table failed.
// *Action: None
//
23384, 00000, "replication parallel push %s argument out of range"
// *Cause: Specified numeric argument to dbms_defer_sys.push is invalid.
// *Action: Fix the argument value and try again.
//
23385, 00000, "replication parallel push %s argument not valid"
// *Cause: Specified string argument to dbms_defer_sys.push is invalid.
// *Action: Fix the argument value and try again.
//
23386, 00000, "replication parallel push cannot create slave processes"
// *Cause: An error was occurred while creating slave processes for
//         parallel push.
// *Action:
//
23387, 00000, "replication parallel push dequeue error"
// *Cause: An attempt to dequeue a deferred transaction failed while trying
//         to assign a new queue batch number.
// *Action:
//
23388, 00000, "replication parallel push watermark error"
// *Cause: An error occurred during parallel push while trying to update
//         the high-water-mark information in system.def$_destination.
// *Action:
//
23389, 00000, "obsolete procedure; drop objects and recreate using new master"
// *Cause:  dbms_repcat.switch_mview_master is no longer supported.
// *Action: Drop the objects in the object group and recreate them using
//          the new master.
//
23392, 00000, "could not find materialized view to be associated with \"%s\".\"%s\""
// *Cause:  Could not find materialized view associated with a trigger or index
//          that is being pulled from the master site.
// *Action: Ensure that materialized view, master, and master index or trigger 
//          is registered as replicated objects.
//
23393, 00000, "the user is already the propagator"
// *Cause: The given user is already the current propagator.
// *Action: 
//
23394, 00000, "duplicate propagator"
// *Cause: More than one valid propagator exist.
// *Action: Unregister any duplicate propagator.
//
23395, 00000, "object \"%s\".\"%s\" of type \"%s\" does not exist or is invalid"
// *Cause: The given name was null or misspelled, the given type was wrong,
//         the object does not exist as a valid database object, or the object
//         does not exist as a replicated object with the appropriate status.
// *Action: Ensure the object is valid in the database, is visible to the
//          user, and, if appropriate, is a valid object in all_repobject.
//
23396, 00000, "database link \"%s\" does not exist or has not been scheduled"
// *Cause:  the database link does not exist in the schema of the replication
//          propagator or has not been scheduled.
// *Action: Ensure that the database link exists in the database, is accessible
//          and is scheduled for execution.
//
23397, 00000, "global name \"%s\" does not match database link name \"%s\""
// *Cause:  the database link name at the local node does not match the global
//          name of the database that the link accesses.
// *Action: Ensure that global names is set to true and the link name matches
//          the global name.
//
23398, 00000, "user name \"%s\" at database link \"%s\" does not match local user name  \"%s\""
// *Cause:  the user name of the replication administration user at
//          the local node and the user name at the node corresponding to the
//          database link are not the same. Symmetric replication expects the
//          two users to be the same.
//          
// *Action: Ensure that the user ID of the replication administration user at
//          the local node and the user ID at the node corresponding to the
//          database link are the same. 
//
23399, 00000, "generation of replication support for \"%s\".\"%s\" is not complete"
// *Cause:  Replication support for the specified object has not been generated
//          or the generation process is not yet complete.
// *Action: Ensure that replication support has been generated for the object. 
//          Use DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT() to generate 
//          replication support for the object.
//
23400, 00000, "invalid materialized view name \"%s\"" 
// *Cause: A null, misspelled, or badly formed materialized view name was given
//         to dbms_mview.refresh.
// *Action: Provide a valid materialized view name to dbms_mview.refresh.
//
23401, 00000, "materialized view \"%s\".\"%s\" does not exist"
// *Cause: A materialized view name was given to dbms_mview.refresh that is not
//         in sys.snap$ or its associated views.
// *Action: Provide a materialized view name that is in sys.snap$, all_mviews
//         or user_mviews.
//
23402, 00000, "refresh was aborted because of conflicts caused by deferred txns"
// *Cause: There are outstanding conflicts logged in the DefError table
//         at the materialized view's master.
// *Action: Resolve the conflicts in the master DefError table and
//         refresh again after the table is empty.  Alternatively,
//         refresh with refresh_after_errors set to TRUE, which
//         will proceed with the refresh even if there are conflicts
//         in the master's DefError table.  Proceeding despite conflicts 
//         can result with an updatable materialized view's changes appearing
//         to be temporarily lost (until a refresh succeeds after the
//         conflicts are resolved).
//
23403, 00000, "refresh group \"%s\".\"%s\" already exists"
// *Cause: Making a new refresh group when there is already a group of
//         the same name in sys.rgroup$.
// *Action: Choose a diifferent refresh group name.
//
23404, 00000, "refresh group \"%s\".\"%s\" does not exist" 
// *Cause: A refresh group name was given that is not in sys.rgroup$.
// *Action: Provide a refresh group name that is in sys.rgroup$ or dbs_rgroup.
//
23405, 00000, "refresh group number %s does not exist" 
// *Cause: A refresh group number was given that is not in sys.rgroup$.
// *Action: Provide a refresh group number that is in sys.rgroup$ or dbs_rgroup.
//
23406, 00000, "insufficient privileges on user \"%s\""
// *Cause: The caller is not the owner of the materialized view and does not 
//         have ALTER ANY MATERIALIZED VIEW privileges.
// *Action: Perform the operation as the owner of the materialized view or as a
//         user with ALTER ANY MATERIALIZED VIEW privileges.
//
23407, 00000, "object name %s must be shaped like \"schema\".\"object\" or \"object\""
// *Cause: The object name (e.g., the rollback segment, the materialized view 
//         name, the refresh group) was incorrectly specified.
// *Action: Retry the operation with the object name properly specified
//          (like "schema"."object" or "object")
//
23408, 00000, "this replication operation is not supported in a mixed configuration"
// *Cause: operation is not supported if the object group is replicated at a
//         pre-V8 node.
//         
// *Action: Ensure that all nodes of the replicated object group are V8.
//
23409, 00000, "could not find an unused refresh group number"
// *Cause: 1000 consecutive refresh group numbers, as defined by the
//         rgroupseq number, were already used by rows in sys.rgroup$.
// *Action: Alter the sequence number to be within a legal unused range
//          and destroy unneeded refresh groups.
//
23410, 00000, "materialized view \"%s\".\"%s\" is already in a refresh group"
// *Cause: A materialized view of the same name is already in a refresh group.
// *Action: Subtract the materialized view from the current refresh group and
//         add it to its new refresh group, or combine the two refresh 
//         groups into a single refresh group.
//
23411, 00000, "materialized view \"%s\".\"%s\" is not in refresh group \"%s\".\"%s\"" 
// *Cause: The specified materialized view is not in the specified refresh 
//         group.
// *Action: Try again with the proper materialized view and refresh group 
//          names.
//
23412, 00000, "master table's primary key columns have changed"
// *Cause: The master table's primary key constraint was modified after
//         the primary key materialized view was created.
// *Action: Drop and recreate the primary key materialized view
//
23413, 00000, "table \"%s\".\"%s\" does not have a materialized view log"
// *Cause: The fast refresh can not be performed because the master table
//         does not contain a materialized view log.
// *Action: Use the CREATE MATERIALIZED VIEW LOG command to create a 
//          materialized view log on the master table.
//
23414, 00000, "materialized view log for \"%s\".\"%s\" does not record rowid values"
// *Cause: A rowid materialized view is being fast refreshed, but the 
//         materialized view log does not record rowid information.
// *Action: Use the CREATE MATERIALIZED VIEW LOG...ADD ROWID command to begin 
//          recording rowid information in the materialized view log.
//
23415, 00000, "materialized view log for \"%s\".\"%s\" does not record the primary key"
// *Cause: A primary key materialized view is being fast refreshed, but the 
//         materialized view log does not record primary key information.
// *Action: Use the CREATE MATERIALIZED VIEW LOG...ADD PRIMARY KEY command to 
//          begin recording primary key information in the materialized view 
//          log.
//
23416, 00000, "table \"%s\".\"%s\" does not contain a primary key constraint"
// *Cause:  The master table does not constaint a primary key constraint or
//          the primary key constraint has been disabled.
// *Action: Create a primary key constraint on the master table or enable the
//          existing constraint.
//
23417, 00000, "unknown materialized view type: %s"
// *Cause:  A fast refresh is being performed on a materialized view of an 
//          unknown or unsupported type.
// *Action: Check all_mviews and ensure that the materialized view being 
//          refreshed a valid materialized view.
//
23418, 00000, "cannot unregister the propagator who is currently in use"
// *Cause:  The propagator is currently used in propagating replication RPCs.
// *Action: Try again later when there is no transaction active in
//          propagating replication RPCs.
//
23419, 00000, "regenerate replication support before resuming master activity"
// *Cause:  There are tables in the object group that require regeneration
//          of replication support.
// *Action: Check the generation_status column in the all_repobjects view. 
//          Regenerate replication support for any table in the object group 
//          with a 'NEEDSGEN' status. Resume master activity.
//
23420, 00000, "interval must evaluate to a time in the future"
// *Cause: The parameter "interval" evaluates to a time earlier than SYSDATE.
// *Action: Choose an expression that evaluates to a time later than SYSDATE.
//
23421, 00000, "job number %s is not a job in the job queue"
// *Cause: There is no job visible to the caller with the given job number.
// *Action: Choose the number of a job visible to the caller.
//
23422, 00000, "Oracle Server could not generate an unused job number"
// *Cause: Oracle Server could not generate a job number that was not used to
//         identify another job.
// *Action: Retry the operation.
//
23423, 00000, "job number %s is not positive"
// *Cause: The given job number is less than 1.
// *Action: Choose a positive integer.
//
23424, 00000, "materialized view \"%s\".\"%s\" at %s not registered"
// *Cause: The specified materialized view has not be successfully registered 
//         at this site.
// *Action: Register the materialized view manually at either the master site 
//          or the materialized view site.
//
23425, 00000, "invalid materialized view identifier %s"
// *Cause: The argument provided to dbms_mview.purge_mview_from_log is
//         an invalid materialized view identifer or it does not identify an 
//         Oracle 8 fast refreshable materialized view or the materialized view
//         has been already purged.
// *Action: If the materialized view is an Oracle 8 fast refreshable 
//          materialized view then provide purge_mview_from_log with its valid 
//          materialized view identifier.
//
23426, 00000, "deferred RPC queue has entries for %s"
// *Cause: The requested action cannot be performed until the queue is empty
//         for the given site/dblink
// *Action: Use dbms_defer_sys.push, dbms_defer_sys.purge_queue 
//          or dbms_defer_sys.delete_tran to empty the queue.
//
23427, 00000, "deferred purge queue argument %s out of range"
// *Cause: Specified numeric argument to dbms_defer_sys.purge_queue is invalid.
// *Action: Fix the argument value and try again.
//
23428, 00000, "job associated instance number %s is not valid"
// *Cause: A job is associated with an instance that is not running.
// *Action: Choose a running instance for job affinity, or set force 
//          parameter to TRUE.
//
23430, 00000, "argument \"%s\" cannot be NULL or empty string"
// *Cause: The caller has provided an argument whose value cannot be
//         NULL or the empty string.
// *Action: Check that the varchar2 value provided is not NULL or the
//          empty string, and retry the call.
//
23431, 00000, "wrong state: %s"
// *Cause: The routine was executed against a replicated object group
//         that was in the wrong state.
// *Action: Make sure that the replicated object group is in the
//         state given in the error message.
//
23432, 00000, "master site %s already exists"
// *Cause: An attempt was made to instantiate a replicated object group
//         at a master site that was already a part of the object group.
// *Action: If you were trying to add this site, do nothing because it
//         already exists; otherwise, pick the name of another site,
//         and re-run the routine.
//
23433, 00000, "executing against wrong master site %s"
// *Cause:  An attempt was made to execute the routine at a site
//          that is different from the site specified in the argument
//          of the routine.
// *Action: Provide an argument to the routine that correctly indicates
//          the site against which the routine should be executing.
//
23434, 00000, "master site %s not known for object group"
// *Cause: The site name given as an argument to a routine was not already
//         known to the replicated object group.
// *Action: Execute the dbms_offline_og.begin_instantiation() routine to
//         add a new site to the replicated object group.
//
23435, 00000, "cannot create an updatable ROWID materialized view with LOB columns"
// *Cause: The propagation of LOB data from materialized view sites to the 
//         master site requires a primary key on the replicated table. Thus 
//         updatable ROWID materialized views that contain LOB columns are not
//         supported.
// *Action: Create a primary key materialized view instead of a ROWID 
//          materialized view. If the materialized view already exists, it can 
//          be converted to a primary key materialized view using the ALTER 
//          MATERIALIZED VIEW DDL command.
// 
23436, 00000, "missing template authorization for user"
// *Cause: The specified template authorization does not exist.
// *Action: Check the values for user name and refresh template name to
//          ensure a valid row exists in the DBA_REPCAT_USER_AUTHORIZATIONS 
//          view.
//
23437, 00000, "template authorization already exists for user"
// *Cause: The specified user already has been authorized to use the 
//         specified refresh group template.
// *Action: Check the values for user name and refresh template name or
//          query the DBA_REPCAT_USER_AUTHORIZATIONS view to ensure that 
//          the correct values were passed as parameters.
//
23438, 00000, "missing refresh group template"
// *Cause: The specified refresh group template does not exist.
// *Action: Verify that the refresh group template does not exist by
//          querying the DBA_REPCAT_REFRESH_TEMPLATES view.
//
23439, 00000, "refresh group template already exists"
// *Cause: The specified refresh group template already exists.
// *Action: Verify that the refresh group template exists by querying
//          the DBA_REPCAT_REFRESH_TEMPLATES view.
//
23440, 00000, "incorrect public template value"
// *Cause: The public template parameter is not 'Y', 'N' or NULL.
// *Action: Correct the value of the public template parameter.  It must
//          be 'Y','N' or NULL.
//
23441, 00000, "object does not exist for refresh group template"
// *Cause: The specified object does not exist in the refresh group template.
// *Action: Correct the object name and object type parameters.  Check
//          the DBA_REPCAT_TEMPLATE_OBJECTS view to verify the correct
//          name and type of the object.
//
23442, 00000, "object already exists for the refresh group template"
// *Cause: The specified object already exists in the refresh group 
//         template.
// *Action: Change the object name and object type parameters.  Query
//          the DBA_REPCAT_REMPLATE_OBJECTS view to verify the correct
//          name and type of the object.
//
23443, 00000, "missing template parameter"
// *Cause: The specified template parameter does not exist.
// *Action: Correct the template parameter value and execute the procedure
//          again.  Use the DBA_REPCAT_TEMPLATE_PARMS view to verify the 
//          name of the refresh group template and parameter name.
//
23444, 00000, "duplicate template parameter"
// *Cause: The template parameter already exists for the specified 
//         refresh group template.
// *Action: Correct the template parameter value and execute the procedure
//          again.  Use the DBA_REPCAT_TEMPLATE_PARMS view to verify the 
//          name of the refresh group template and parameter name.
//
23445, 00000, "missing template site"
// *Cause: The template site specified by the site name, user name and 
//         refresh group template name does not exist.
// *Action: Correct the invalid parameter and execute the procedure again.  
//          Use the DBA_REPCAT_TEMPLATE_SITES view to query the existing
//          template sites.
//
23446, 00000, "duplicate template site"
// *Cause: The template site specified by the site name, user name and 
//         refresh group template name already exists.
// *Action: Correct the invalid parameter and execute the procedure again.  
//          Use the DBA_REPCAT_TEMPLATE_SITES view to query the existing
//          template sites.
//
23447, 00000, "missing user parameter value"
// *Cause: The user parameter value specified by the user name, 
//         parameter name and refresh group template name does not exist.
// *Action: Correct the invalid parameter and execute the procedure again.
//          Use the DBA_REPCAT_USER_PARMS view to query the existing 
//          user parameters.
//
23448, 00000, "duplicate user parameter value"
// *Cause: The user parameter value specified by the user name, 
//         parameter name and refresh group template name already exists.
// *Action: Correct the invalid parameter and execute the procedure again.
//          Use the DBA_REPCAT_USER_PARMS view to query the existing 
//          user parameters.
//
23449, 00000, "missing user name"
// *Cause: The user specified by the user name parameter does not exist
//         in the database.
// *Action: Correct an invalid user name or create the user in the 
//          master database.  Use the DBA_USERS view to select the valid
//          database users.
//
23450, 0000, "flavor already contains object \"%s\".\"%s\""
// *Cause: The flavor already contains the specified object.
// *Action: Check that the specified object is correct.  To add all
//          columns of a table object, delete the object from the
//          flavor and then add it again.
//
23451, 0000, "flavor %s already defined for object group \"%s\".\"%s\""
// *Cause: The given object group already contains a (possibly unpublished)
//          definition of the specified flavor.
// *Action: Check the spelling of the flavor name.  Check for an unpublished
//          flavor of the desired name.
//
23452, 0000, "flavor %s of object group \"%s\".\"%s\" is already published"
// *Cause: The given object group already contains a (published) definition
//          of the specified flavor.
// *Action: Check the spelling of the flavor name.
//
//
23453, 00000, "requested operation is not supported on top flavor"
// *Cause: The TOP flavor has a NULL name and may not be directly defined
//         or deleted.
// *Action: Supply the name of a flavor other than the TOP flavor or use
//          dbms_repcat routines to implicitly change the TOP flavor.
//
23454, 00000, "flavor %s not defined for object group \"%s\".\"%s\""
// *Cause: The given object group does not contain a (published) definition
//          of the specified flavor.
// *Action: Check the spelling of the flavor name.  Ensure the flavor has
//          been defined (and published) for the object group.
//
23455, 00000, "flavor %s contains object \"%s\""
// *Cause: The given flavor contains the object to be dropped.
// *Action: Purge the flavor or choose another object to drop.
//
23456, 00000, "flavor %s does not contain \"%s\""
// *Cause: The flavor does not contain the given object, column, or
//         attribute.
// *Action: Either drop the flavor or choose a different object, column,
//          or attribute.
//
23457, 00000, "invalid flavor ID %s"
// *Cause: The given flavor ID is invalid.
// *Action: Make sure this flavor has been instantiated. If the flavor ID is
//          outside the range (-2147483647, 2147483647), contact customer 
//          support.
//
23458, 00000, "inappropriate flavor %s at %s"
// *Cause: The given flavor at the given database prevents the
//         operation from succeeding.
// *Action: Either change the database flavor or choose a different
//          operation.
//
23459, 00000, "flavor %s must contain \"%s\""
// *Cause: The flavor must contain the given object, column, or
//         attribute.
// *Action: Either choose a different database flavor or ensure the
//          object, column, or attribute is available.
//
23460, 00000, "missing value for column %s in resolution method \"%s\" for \"%s\".\"%s\".\"%s\""
// *Cause: before resolving conflicts, some values necessary resolving
//         conflicts are not available,
//         or after resolving conflicts, some values necessary for
//         re-trying of the SQL are not available
// *Action: define appropriate flavors, provide necessary values through
//          availability vector in USER FLAVOR FUNCTION for conflict
//          resolution
23461, 00000, "fail to resolve conflict for \"%s\".\"%s\".\"%s\""
// *Cause:
//
// *Action:
//
23462, 0000, "flavor %s in use at site %s"
// *Cause: The given flavor cannot be deleted because it is being used
//         at the given site.
// *Action: Change the flavor of the site, or unregister it if it is
//          a materialized view site.
//
23463, 0000, "flavor incompatible with object \"%s\".\"%s\""
// *Cause: An existing flavor includes the specified object with
//         an incompatible type.
// *Action: Change the type of the object, or delete the flavor if it is
//          not in use.
//
23464, 0000, "flavor lacks column %s of \"%s\".\"%s\""
// *Cause: The flavor includes some columns of an object group but not
//         all the required columns.
// *Action: Change the flavor definition to include all required columns.
//
23465, 0000, "flavor already includes column %s of \"%s\".\"%s\""
// *Cause: The flavor includes the specified column which
//         is being added.
// *Action: Check that the specified column is correct.
//
23466, 0000, "flavor requires missing object \"%s\".\"%s\""
// *Cause: The flavor includes the specified object which
//         does not exist
// *Action: Check that the specified object name is correct, and
//          create the object if appropriate.
//
23467, 0000, "flavor lacks object \"%s\".\"%s\""
// *Cause: The flavor does not include the specified object which
//         is being dropped.
// *Action: Check that the specified object is correct.
//
23468, 0000, "missing %s %s"
// *Cause: The template is missing the object with the specified key.
// *Action: Add the object to the template.
//
23469, 0000, "%s is different between templates"
// *Cause: The values for the specified columns are different in 
//         each template for the same key values.
// *Action: Correct the column values to make the templates the same.
//
23470, 0000, "invalid status"
// *Cause: The status should be DELETED, INSTALLING or INSTALLED. 
//         Any other status is invalid.
// *Action: Check that the specified status value is correct.
//
23471, 0000, "template not authorized for user"
// *Cause: The refresh template is private and the user has not 
//         been authorized to instantiate the template.
// *Action: Authorize the user to use the template.
//
23472, 0000, "materialized view \"%s\".\"%s\" must be atomically refreshed"
// *Cause: Non-atomic refresh is not supported for the specified materialized 
//         view.
// *Action: Set the value of the ATOMIC parameter to FALSE in the refresh 
//          procedure being used or remove the specified materialized view from
//           the set of materialized views being refreshed.
//
23473, 0000, "replication RPC processing for \"%s\".\"%s\" is disabled"
// *Cause: The processing of replication RPCs for the object group that
//         contains this object is disabled. This includes RPCs in the error
//         queue.
// *Action: Processing of replication RPCs is disabled when the object group
//          is being offline instantiated. Wait until offline instantiation is
//          finished.
//
23474, 0000, "definition of \"%s\".\"%s\" has changed since generation of replication support"
// *Cause: The current columns in the specified table and their column types
//         do not match the columns and column types when replication support 
//         was last generated. 
// *Action: Regenerate replication support for the affected table. 
//          All flavors that include the specified table should be checked
//          for validity. Types for any UDT columns should also be checked
//          for validity.
//
23475, 0000, "key column %s must be sent and compared"
// *Cause: The specified column is a key column and must be
//         sent and compared during replication propagation.
// *Action: Make sure every key column is sent and compared.
//
//
23476, 00000, "cannot import from %s to %s"
// *Cause:  This object was imported from a database with a different
//          global name than the importing database.
// *Action: Only import this object into a database with the
//          same global name.
//
23477, 00000, "unable to alter propagation mode for object group \"%s\".\"%s\""
// *Cause: The propagation method of a materialized view object group can only 
//         be altered when no other object groups with the same master object
//         group are sharing the materialized view site. 
// *Action: Ensure that there are no other materialized view object groups at 
//          the local site with the same master object group.
//
23478, 00000, "object group \"%s\" is already mastered at %s"
// *Cause: There is at least one other materialized view repgroup at the local 
//         site with the same group name but a different master site.
// *Action: Ensure that all materialized view repgroups at the local site with 
//          the same group name have the same master.
23480, 00000, "Column %s is not a top-level column of \"%s\".\"%s\"."
// *Cause: The column is either not a top-level column
//         or is not present in the table or materialized view.
// *Action: Ensure only valid top-level columns are used.
23481, 00000, "unexpected name string \"%s\"" 
// *Cause:
// *Action:
23482, 00000, "column %s of \"%s\".\"%s\": object types not allowed."
// *Cause: The column is of Object Type.
// *Action: Ensure that all the columns are not of Object Type.
23483, 00000, "object \"%s\".\"%s\" not allowed in this operation."
// *Cause: The specified operation does not support the given object.
// *Action: Do not invoke the operation for this object.
23484, 00000, "internal internet Application Server error: %s"
// *Cause: An internal error occurred in internet Application Server.
// *Action: Report the error and other information to support.
23485, 00000, "Column group \"%s\" must consist of a single numeric column only"
// *Cause: The column group doesn't contain only one numeric column.
// *Action: Use a column group containing a single numeric column.
23487, 00000, "object groups  \"%s\".\"%s\" and \"%s\".\"%s\" do not have the same connection qualifier"
// *Cause: The specified two object groups do not have the same connection
//         qualifier.
// *Action: Do not invoke the operation on the above object groups, or
//          ensure they have the same connection qualifier.
23488, 00000, "propagation mode \"%s\" for \"%s\" is not allowed for this operation"
// *Cause: This operation does not support the specified dblink in the above
//         propagation mode.
// *Action: Do not invoke the operation for this dblink, or change the
//          propagation mode for this dblink.
23489, 00000, "duplicate entry \"%s\""
// *Cause: The specified value is duplicated in the parameter list.
// *Action: Remove duplicated entries in the parameter list.
23490, 00000, "extension request \"%s\" with status \"%s\" not allowed in this operation"
// *Cause: The specified operation is not allowed for the extension request
//         with the specified status.
// *Action: Ensure the extension request has the appropriate status before
//          retrying this operation.
23491, 00000, "no valid extension request at \"%s\""
// *Cause: The specified database does not have a valid extension request.
// *Action: Ensure there is a valid extension request in DBA_REPEXTENSIONS
//          view before retrying this operation.
23492, 00000, "no new sites for extension request \"%s\""
// *Cause: There is no new site with the specified extension request.
// *Action: Ensure there is at least one new site in DBA_REPSITES_NEW view
//          for this request before retrying this operation.
23493, 00000, "\"%s\" is not a new site for extension request \"%s\""
// *Cause: The specified extension request does not include the specified
//         site as a new site.
// *Action: Ensure the specified site is a new site for this extension request
//          before retrying this operation.
23494, 00000, "too many rows for destination \"%s\""
// *Cause: The specified destination has too many rows in
//         system.def$_destination table.
// *Action: Ensure the specified destination has at most two valid rows before
//          retrying this operation.
23495, 00000, "serial propagation can not be used for \"%s\""
// *Cause: The sites involved may be in the process of adding a new site
//         without quiescing.
// *Action: Check the def$_destination table for this destination and
//          try parallel propagation.
23496, 00000, "can not change disabled status for \"%s\" and \"%s\""
// *Cause: The disabled status for this site is set internally for
//         synchronization during adding a new master without
//         quiescing.
// *Action: Ensure adding a new master without quiescing finished
//          before invoking this procedure.
//
23497, 00000, "repgroup name cannot be null"
// *Cause: The array of Repgroup names contains a null value.
// *Action: Ensure that the array of Repgroup names is dense and is not
//          null terminated.
23498, 00000, "repgroups specified must have the same masters"
// *Cause: The Repgroup names specified do not have the same masters.
// *Action: Ensure that the Repgroup names specified have the same masters.
23500, 00000, "cannot switch master for a multi-tier materialized view repgroup \"%s\".\"%s\""
// *Cause: An attempt was made to switch master for a materialized view 
//         repgroup when its parent repgroup is also a materialized view 
//         repgroup. This is not allowed.
// *Action: Drop and recreate the materialized view repgroup based on
//          a proper parent repgroup.
23501, 00000, "refresh template cannot be instantiated for database with compatibilty equal to or less than 8.0"
// *Cause: Instantiation of a refresh template is not supported for
//         database compatibility 8.0 or less.
// *Action: Be sure the database compatibility is 8.1 or above.
//
23502, 00000, "valid directory for offline instatiation is not specified"
// *Cause: An attempt was made to offline instantiate to
//         a directory which is not specified or null.
// *Action: There are two ways to specify the directory:
//           o As a parm offline_dirpath to the API
//           o As an init.ora parm named utl_file_dir
//         Make sure you have specified an appropriate
//         directory in which the offline file can be created.
//
23503, 00000, "error occurred during IAS instantiation"
// *Cause: An attempt was made to instantiate a IAS site. Error occurred
//         during IAS instantiation.
// *Action: See other errors on the error stack to look for the source of
//          the problem. If the error still persists, contact Oracle Support.
23504, 00000, "columns added to table do not match list of columns to be added"
// *Cause: The list of columns passed as a parameter does not match the 
//         columns to be added to the table.
// *Action: Correct the DDL string or list of columns and rexecute.
//
23505, 00000, "Object \"%s\".\"%s\" is missing."
// *Cause: The specified object does not exist.
// *Action: Check that the specified object is correct.
//
23514, 00000, "invalid or incorrect number of arguments"
// *Cause:  The arguments passed to the online redefinition API were invalid
//          or missing.
// *Action: Call the online redefinition API with the right number of valid
//          arguments.
//
23515, 00000, "materialized views and/or their indices exist in the tablespace"
// *Cause:  An attempt was made to drop a tablespace which contains 
//          materialized views and/or their indices.
// *Action: Drop the materialized views in this tablespace. Also,
//          find indices belonging to materialized views in this
//          tablespace and drop then.  Then try dropping the tablespace.
//
23531, 00000, "site owner already exists in the template."
// *Cause:  Site owner for the template already exists.
// *Action: Do not create multiple siteowners for this template.
//
23532, 00000, "tables with different synchronization mechanisms are in the same group"
// *Cause: Tables belonging to the same replication group were specified to 
//         be cached with different synchronization mechanisms.
// *Action: Do not specify different synchronization mechanisms while caching
//          tables belonging to the same replication group.
//
23533, 00000, "object \"%s\".\"%s\" can not be cached"
// *Cause: An attempt was made to cache an object which is not supported.
// *Action: Do not cache an object which is not supported.
//
23534, 00000,"missing column in materialized view container table \"%s\".\"%s\""
// *Cause:  After import, the materialized view container table has missing 
//          columns.
// *Action: Check if materialized view container table was imported correctly.
//
23535, 00000,"instantiating templates from multiple back ends is not allowed." 
// *Cause:  An attempt was made to set a new non-null back end database for an 
//          iAS site.
// *Action: Call dbms_ias_configure.set_back_end_db procedure with null dblink.
//          Then, call the same procedure with the new non-null dblink.
//
23536, 00000, "the object \"%s\".\"%s\" is not cached at the middle tier as expected."
// *Cause:  The object may have been dropped or renamed at the back end
//          after dbms_ias_inst.start_ias_inst was executed.
// *Action: Check the validity of the object at the back end and retry
//          the instantiation.
23537, 00000,"function or procedure %s is not allowed to be invoked from this site."
// *Cause: This function or procedure is restricted to the backend or 
//         middle tier site
// *Action: Connect to the proper site before calling this function or procedure.
//
23538, 00000, "cannot explicitly refresh a NEVER REFRESH materialized view (\"%s\")"
// *Cause:  An attempt was made to explicitly refresh a NEVER REFRESH MV.
// *Action: Do not perform this refresh operation or 
//          remove the MV(s) from the list.
//
23539, 00000, "table \"%s\".\"%s\" currently being redefined"
// *Cause:  An attempt was made to redefine a table which is currently involved
//          in an ongoing redefinition.
// *Action: Do not perform this redefinition operation on this table or wait 
//          till the ongoing redefinition of the table is completed.
//
23540, 00000, "Redefinition not defined or initiated"
// *Cause:  An attempt was made to continue or complete a redefinition which
//          was not defined or initiated.
// *Action: Define or initiate the redefinition before performing this
//          operation.
23541, 00000, "tables do not match tables used while defining the redefinition"
// *Cause:  An attempt was made to continue or complete a redefinition by 
//          providing different tables than those used while defining or 
//          initiating the redefinition.
// *Action: Repeat this operation and specify the same tables as those that 
//          were specified while defining or initiating the redefinition.
//
23542, 00000, "dependent object \"%s\".\"%s\" already registered"
// *Cause:  An attempt was made to register an already registered dependent
//          object to an ongoing redefinition.
// *Action: Do not attempt to register an already registered dependent object
//          to an ongoing redefinition.
//
23543, 00000, "materialized view log on \"%s\".\"%s\" is in an inconsistent state"
// *Cause: There was an error while creating the materialized view log and
//         the log is currently in an inconsistent state. A possible cause 
//         could be that schema redefinition has occurred on the master table 
//         while the log was being created. Another possible cause could be 
//         that there were DMLs being applied on the master table concurrently
//         in another session at the time the materialized view log creation 
//         started and those DML transactions haven't committed even after a 
//         very long period of time.
// *Action: Drop the materialized view log and recreate it.
//
23544, 00000, "enable online redef rowid mapping table testing event"
// *Document: NO
// *Cause:
// *Action: rowid mapping table debug/testing
23545, 00000, "enable iot rmt online redef rowid mapping table testing event"
// *Document: NO
// *Cause:
// *Action: rowid mapping table debug/testing
23546, 00000, "cannot create rowid mapping table %s.%s"
// *Cause:  The online partition mover could not create a rowid mappping table.
// *Action: Rename the conflicting table or rerun the SQL statement. 
// *        There may be a concurrent online operation on the same object.
23547, 00000, "dml_lock_timeout value is out of the permitted range"
// *Cause:  The value for dml_lock_timeout was out of the permitted range of
//          0 to 1,000,000.
// *Action: Use a value within the range of 0 to 1,000,000 and reexecute the 
//          procedure
23548, 00000, "rmt diagnostics event, internal verification failure"
// *Document: NO
// *Cause:
// *Action: rowid mapping table diagnostics,internal use only
23549, 00000, "table \"%s\".\"%s\" involved in reference partitioning"
// *Cause:  An attempt was made to redefine a table which is currently involved
//          in reference partitioning.
// *Action: Do not perform this redefinition operation on this table or
//          remove reference partitioning and retry the operation.
//
23550, 00000, "cannot redefine a table with interim table having identity columns that appear in column mapping"
// *Cause:  An attempt was made to redefine a table where the interim table has
//          identity columns that appear in column mapping.
// *Action: Do not perform this redefinition operation or avoid using identity
//          columns of the interim table in column mapping.
//
23551, 00000, "unsupported UPDATE statement on an index-organized table"
// *Cause:  An attempt was made to update primary key columns of an 
//          index-organized table. 
// *Action: Do not perform this redefinition operation or avoid updating
//          primary key columns.
//


///////////////////////////////////////////////////////////////////////////////
// 23600-23999 Reserved for Log Based Replication PL/SQL packages
///////////////////////////////////////////////////////////////////////////////
//
23600, 00000, "cannot create PROPAGATION, %s already exists"
// *Cause:   The propagate_name already exists.
// *Action:  Drop the propagate_name usign DROP_PROPAGATEcommand or 
//           specify propagate_name.
23601, 00000, "PROPAGATION_NAME %s does not exist"
// *Cause:  Propagation does not exist.   
// *Action: Query DBA_PROPAGATION view to find existing propagation_name
//
23602, 00000, "Invalid %s process type %s"
// *Cause: Specified GoldenGate, XStream or Streams process type is not valid.
// *Action: Specify either capture or apply.
23603, 00000, "%s enqueue aborted due to low SGA"
// *Cause:  An attempt to enqueue a GoldenGate, XStream or Streams message was aborted because
//          ORACLE is running low on memory allotted.
// *Action: Either start consuming messages by enabling any GoldenGate, XStream or Streams
//          propagation or apply which might be disabled.
//          An alternative is to allot more
//          memory to STREAMS, which can be done by increasing the
//          streams_pool_size initialization parameter if one was defined
//          or by increasing the shared_pool_size.
23605, 00000, "invalid value \"%s\" for %s parameter %s"
// *Cause:  An attempt was made to specify an invalid parameter value.
// *Action: Specify a valid value for the parameter. Check the documentation
//          for valid parameter values.
23606, 00000, "invalid object %s"
// *Cause:  An attempt was made to specify an invalid object.
// *Action: Specify a valid object.
23607, 00000, "invalid column \"%s\""
// *Cause:  An invalid column was specified in the column list.
// *Action: Check the columns in the object and specify the right column name.
23608, 00000, "invalid resolution column \"%s\""
// *Cause:  An invalid column was specified as the resolution column. The
//          resolution column must belong to the list of columns specified in
//          the 'column_list' parameter.
// *Action: Check the columns in the column_list and specify the right
//          resolution column name.
23609, 00000, "unable to find directory object for directory %s"
// *Cause:  There was no entry in ALL_DIRECTORIES corresponding to the
//          specified directory.
// *Action: Grant to the current user appropriate privileges on either a new
//          directory object or an existing directory object.
23610, 00000, "internal dbms_streams_tablespaces error: [%s] [%s] [%s] [%s]"
// *Cause:  Streams detected an erroneous result.
// *Action: Look for information in the session trace file and contact
//          customer support.
23611, 00000, "tablespace \"%s\" has more than one data file"
// *Cause:  The specified tablespace had more than one data file and hence
//          did not qualify as a simple tablespace.
// *Action: Choose a self-contained tablespace with a single data file, or
//          use a procedure that supports any tablespace.
23612, 00000, "unable to find tablespace \"%s\""
// *Cause:  Either the tablespace did not exist, or the current user did
//          not have sufficient privileges on the tablespace.
// *Action: Grant appropriate privileges on the tablespace to the current
//          user or choose a different tablespace.
23613, 00000, "Script %s already exists"
// *Cause:  A script for the specified invoking package already existed.
// *Action: Complete the previous invocation or drop the previous invocation
//          before proceeding with the current invocation.
23614, 00000, "Script %s does not exist"
// *Cause:  The named script did not exist.
// *Action: Create the script.
23615, 00000, "Block number %s does not exist for script %s"
// *Cause:  The specified block number did not exist for the script.
// *Action: Add the block or check the block number and reexecute.
23616, 00000, "Failure in executing block %s for script %s with \n%s"
// *Cause:  The execution of specified block failed.
// *Action: Check the error. Query DBA_RECOVERABLE_SCRIPT_BLOCKS to view 
//          the failed block. Rectify and rerun the block or script.
23617, 00000, "Block %s for script %s has already been executed"
// *Cause:  The specified block was already executed.
// *Action: Check the block number and reissue the command.
23618, 00000, "Generation of script %s is not complete."
// *Cause:  Script generation for the specified script was not completed in
//          a prior invocation.
// *Action: Purge the specified script by calling the RECOVER_OPERATION API 
//          in the package DBMS_STREAMS_ADM and reattempt the entire 
//          operation.
23619, 00000, "non-Oracle system error: %s"
// *Cause:  A non-Oracle database has returned an error message to STREAMS 
//          when attempting to apply a DML statement. The non-Oracle system
//          error message is a parameter to this Oracle error.
// *Action: Corrective action may or may not be possible (depending on the 
//          non-Oracle system error). If corrective action is possible,
//          correct the problem and try applying the transaction again. 
23620, 00000, "bind value size too large for PL/SQL CALL operation"
// *Cause:  In a PL/SQL CALL to a stored procedure, the bind string
//          size exceeded 4K.
// *Action: Either make the bind string size shorter (less than 4K) or use
//          BEGIN-END to call the procedure instead of CALL.
23621, 00000, "Operation corresponding to script %s is in progress."
// *Cause:  The script was already being run in a different session or was 
//          terminated before status for the script was updated to ERROR or 
//          EXECUTED.
// *Action: Make sure the script is not being run in a parallel session.
//          Then call the RECOVER_OPERATION API in the DBMS_STREAMS_ADM 
//          package with the appropriate OPERATION_MODE argument.
23622, 00000, "Operation %s.%s.%s is in progress."
// *Cause:  An attempt was made to execute a procedure which was being
//          executed in a parallel session or failed execution.
// *Action: Query the DBA_RECOVERABLE_SCRIPT view to identify the operation
//          that is currently in progress for the specified invoking 
//          procedure. Complete the operation before proceeding.
23623, 00000, "internal DBMS_COMPARISON error: [%s] [%s] [%s] [%s]"
// *Cause:  DBMS_COMPARISON detected an erroneous result.
// *Action: Look for information in the session trace file and contact
//          Oracle Support Services.
23624, 00000, "A comparison operation is currently in progress for %s."
// *Cause:  Another session was already performing an operation on this object.
// *Action: Retry the operation once other sessions are done with the specific
//          comparison object.
23625, 00000, "Table shapes of %s.%s and %s.%s@%s did not match."
// *Cause:  Table shapes of local and remote tables to compare did not match. 
// *Action: Retry by explicitly specifying columns that match in column_list
//          or create views on the tables as appropriate.
23626, 00000, "No eligible index on table %s.%s"
// *Cause:  Table did not have an eligible index to use for comparison.
// *Action: For a table to be compared using DBMS_COMPARISON, the table must 
//          have an appropriate index on a column of certain data types.
//          Check the documentation for supported data types.
23627, 00000, "Comparison object %s already existed."
// *Cause:  A comparison object by the specified name already exists.
// *Action: Retry with a different name.
//          
23628, 00000, "Comparison query too long (actual %s, allowed %s)."
// *Cause:  A generated query for comparison was too long. 
// *Action: Comparison is unsupported for very large tables with long column 
//          names. Retry with a subset of columns or with shorter column names.
//          
23629, 00000, "%s.%s is not an eligible index on table %s.%s for comparison"
// *Cause:  The specified index was not an eligible index to use for
//          comparison. 
// *Action: For a table to be compared using DBMS_COMPARISON, the table must 
//          have an appropriate index. Please specify an eligible index for the
//          table to be compared. 
23630, 00000, "Cannot switch to apply-state checkpoint mode (value \"%s\", %s parameter %s), due to the following reason:"
// *Cause:  Could not switch to apply-state checkpoint mode, or already in 
//          apply-state checkpoint mode.
// *Action: Can switch to apply-state checkpoint mode only if the capture is new
//          (it never ran), the capture wasn't cloned from a capture with
//          checkpoints, the capture doesn't include any extra attributes,
//          and combined capture and apply is enabled. 
//
23631, 00000, "apply-state checkpoint mode cannot change (value \"%s\", %s parameter %s)"
// *Cause:  Could not switch to checkpoints because apply-state checkpoint mode 
//          was set.
// *Action: Drop the apply-state checkpoint capture and create a new one that will 
///         take checkpoints.
//
23632, 00000, "Cannot force checkpoints in apply-state checkpoint mode (value \"%s\", %s parameter %s)"
// *Cause:  The capture process was in apply-state checkpoint mode.
// *Action: Cannot take checkpoints in apply-state checkpoint mode. 
//
23633, 00000, "Cannot turn off combined capture and apply mode in apply-state checkpoint mode (value \"%s\", %s parameter %s)"
// *Cause:  The capture was running in apply-state checkpoint mode and had to run in 
//          combined capture and apply mode also.
// *Action: Ensure that this capture runs in combined capture and apply 
//          by dropping additional propagation or apply processes for the same
//          queue. 
//
23634, 00000, "Cannot include extra attributes in apply-state checkpoint mode"
// *Cause:  The capture process was in apply-state checkpoint mode.
// *Action: Extra attributes are not supported in apply-state checkpoint mode.
// 
23635, 00000, "MAINTAIN_TTS: tablespace(s) already exist(s) in target database." 
// *Cause:  The tablespaces were already in existence in the target database 
//          when the streams MAINTAIN_TTS APIs were called."
// *Action: Check whether you can drop the tablespaces to be maintained in the
//          target database. If not, don't use streams MAINTAIN_TTS APIs to 
//          setup streams. Check the Oracle documentation on how to setup
//          streams.
23636, 00000, "MAINTAIN_TTS: Invalid tablespace name, reason: %s."
// *Cause:  The tablespace name was either NULL or too long when the streams 
//          MAINTAIN_TTS APIs were called.
// *Action: Check that the specified tablespace names are not NULL and are
//          spelled correctly. If there are too many tablespaces, group them 
//          together and call the streams MAINTAIN_TTS APIs for the group.
//
23637, 00000, "Capture started in checkpoint mode"
// *Cause: 
// *Action: 
23638, 00000, "Capture cloned from a capture with checkpoints"
// *Cause:   
// *Action:  
23639, 00000, "Extra Attribute included"
// *Cause:
// *Action:   
23640, 00000, "Combined capture and apply disabled" 
// *Cause:   
// *Action:  
23641, 00000, "Capture started in apply-state checkpoint mode already" 
// *Cause:   
// *Action:  
23642, 00000, "Cannot switch to checkpoint mode (value \"%s\", %s parameter %s)"
// *Cause:  Capture was cloned from a capture in apply-state checkpoint mode.
// *Action: Clone from a capture with checkpoints.
23643, 00000, "Capture cloned from a capture in apply-state checkpoint mode"
// *Cause:
// *Action:
23644, 00000, "Cannot switch to apply-state checkpoint mode (Capture %s)"
// *Cause: Switch to apply-state checkpoint mode was prevented by a previous error.
// *Action: See the previous error for the appropriate action.
23645, 00000, "Cannot switch to checkpoints (Capture %s)"
// *Cause: Switch to checkpoints was prevented by a previous error.
// *Action: See the previous error for the appropriate action.
23646, 00000, "%s %s process %s does not exist"
// *Cause:  Capture or Apply did not exist.
// *Action: Create a Capture or Apply process, then try again.
23647, 00000, "%s %s process %s is not running"
// *Cause:  Capture or Apply were not running.
// *Action: Start Capture or Apply process, then try again
23648, 00000, "Capture %s is for Change Data Capture"
// *Cause:  Capture was for Change Data Capture, and checkpoints were required.
// *Action: None.
23649, 00000, "Capture %s is for Audit Vault"
// *Cause:  Capture was for Audit Vault, and checkpoints were required.
// *Action: None.
23650, 00000, "No progress Capture %s"
// *Cause:  Capture was not capturing changes.
// *Action: Make sure Capture is running and capturing changes.
23651, 00000, "Capture %s is already in %s mode"
// *Cause:  Capture was already in the desired mode.
// *Action: None.
23652, 00000, "The oldest SCN could not be updated at Apply %s"
// *Cause:  The oldest SCN was not updated before the switch was performed.
// *Action: Make sure Apply is running and the switch package version is
//          the same at both databases.
23653, 00000, "LogMiner session does not exist"
// *Cause:  LogMiner session did not exist.
// *Action: Make sure the Capture process exists. 
23654, 00000, "Attempting to set the oldest SCN to a greater value (%s) than the current one (%s) at Apply %s"
// *Cause:  The new value for the oldest SCN was not computed correctly.
// *Action: Make sure Capture and Apply are running, and Capture is 
//          making progress.
23655, 00000, "The SCN range cannot be smaller than 0, (SCN range = %s)"
// *Cause:  The function was invoked with a negative SCN range.
// *Action: Use a positive SCN range.
23656, 00000, "Timeout occurred while %s %s process %s"
// *Cause:  The GoldenGate, XStream or Streams process could not be stopped or started. 
// *Action: Call the switch procedure again.
23657, 00000, "the converted file %s already exists"
// *Cause:  The converted file was already in existence. 
//          CONVERT FILE call does not overwrite the existing file.
// *Action: Check whether the existing file can be deleted. 
//          If the existing file can be deleted, delete it. Otherwise, 
//          specify a different directory or file extension.
23658, 00000, "Invalid character set specified when converting column '%s' in '%s.%s'"
// *Cause:  The conversion between two character sets for the column in the given table
//          is not supported.
// *Action: Check if the implicit conversion between source and destination column
//          is supported.
23659, 00000, "Destination buffer is not large enough when converting column '%s' in '%s.%s' (actual length: %s; maximum length: %s)"
// *Cause:  The conversion between two character sets failed because a source column
//          value is too large for the destination column.
// *Action: Check if size of the source and destination column matches.
23660, 00000, "Unable to load NLS data object when converting column '%s' in '%s.%s'"
// *Cause:  It may be caused by invalid NLS environment setting.
// *Action: Check your NLS environment setting. 
23661, 00000, "Canon capture name \"%s\" not found"
// *Cause:  There's no such capture process
// *Action: Pass the right parameter to the function
23662, 00000, "subset rule length exceeds maximum allowed value"
// *Cause:  The length of an insert, update, or delete subset rule computed
//          from the DML condition input exceeded the maximum allowed length.
// *Action: Make the DML condition shorter.
23663, 00000, "local object %s.%s is not a single table view"
// *Cause:  The view was based either on another view or multiple tables or
//          views.
// *Action: For comparison, specify a view based on a single table.
23664, 00000, "remote object %s.%s is not a single table view"
// *Cause:  The view was based either on another view or multiple tables or
//          views.
// *Action: For comparison, specify a view based on a single table.
23665, 00000, "DML conflict handler \"%s\" not found"
// *Cause:  The DML conflict handler was not found for modification or removal.
// *Action: Make sure the name of the conflict handler is correct and that it
//          exists.
23666, 00000, "Default column group in use by DML conflict handler \"%s\""
// *Cause:  A default column group was found for the specified Apply name, 
//          operation name, and conflict type.
// *Action: Remove the existing default column group and retry.
23667, 00000, "Column \"%s\" already used by conflict handler \"%s\""
// *Cause:  The column was already in the column group of another conflict
//          handler for the specified Apply name, operation name, and conflict
//          type.
// *Action: Remove the column from the other conflict handler or specify a
//          different column.
23668, 00000, "Column \"%s\" does not have a numeric data type."
// *Cause:  The specified column did not have a numeric data type. Delta
//          conflict resolution requires numeric columns.
// *Action: Check the data type of the column and specify only numeric columns.
23669, 00000, "Duplicate conflict handler name"
// *Cause:  A DML conflict handler with the specified name was found.
// *Action: Remove the current DML conflict handler or specify a different
//          name.
23670, 00000, "Duplicate column name \"%s\""
// *Cause: The specified value was duplicated in the column group list.
// *Action: Remove duplicated entries from the column group list.
23671, 00000, "Default column group required"
// *Cause: A default column group was not specified. The specified Apply name, 
//         operation name, and conflict type is only supported on default
//         column groups.
// *Action: Specify a default column group.
23672, 00000, "Column not specified in column group for DML conflict handling for table \"%s\".\"%s\""
// *Cause: The specified table contained a column that was not specified as 
//         part of a column group. 
// *Action: Add the column to a column group.
23673, 00000, "Invalid resolution column \"%s\" for table \"%s\".\"%s\""
// *Cause: The specified resolution column was not valid.
// *Action: Set the resolution column to a valid column.
23674, 00000, "Unable to handle delta conflict resolution for table \"%s\".\"%s\""
// *Cause: The specified table or the LCR contained a null value in one of the
//         columns belonging to a delta conflict group. 
// *Action: Correct each delta column in the table or the error LCR if it 
//          currently has a null value.
23675, 00000, "Unsupported OPERATION_NAME, CONFLICT_TYPE, and METHOD_NAME"
// *Cause: The specified OPERATION_NAME, CONFLICT_TYPE, and METHOD_NAME was
//         not a valid set of parameters.
// *Action: Retry with a valid set of parameters.
23676, 00000, "no eligible index on local table \"%s\".\"%s\""
// *Cause:  The local table did not have an eligible index to use for
//          comparison.
// *Action: For a table to be compared using DBMS_COMPARISON, the table must
//          have an appropriate index on a column of certain data types.
//          Check the documentation for supported data types.
23677, 00000, "no eligible index on remote table \"%s\".\"%s\""
// *Cause:  The remote table did not have an eligible index to use for
//          comparison.
// *Action: For a table to be compared using DBMS_COMPARISON, the table must
//          have an appropriate index on a column of certain data types.
//          Check the documentation for supported data types.
23678, 00000, "index \"%s\".\"%s\" on local table \"%s\".\"%s\" is not eligible for comparison"
// *Cause:  The specified index was not eligible for comparison.
// *Action: For a table to be compared using DBMS_COMPARISON, the table must
//          have an appropriate index. Specify an eligible index for the table
//          to be compared.
23679, 00000, "index \"%s\".\"%s\" on remote table \"%s\".\"%s\" is not eligible for comparison"
// *Cause:  The specified index was not eligible for comparison.
// *Action: For a table to be compared using DBMS_COMPARISON, the table must
//          have an appropriate index. Specify an eligible index for the table
//          to be compared.


///////////////////////////////////////////////////////////////////////////////
//     24000 - 24099 - Reserved for ADMINISTRATIVE INTERFACE FOR AQ
///////////////////////////////////////////////////////////////////////////////
24000, 00000, "invalid value %s, %s should be of the form [SCHEMA.]NAME"
// *Cause:   An invalid value was specified for the paramerter.
// *Action:  Specify a string of the form [SCHEMA.]NAME .
//
24001, 00000, "cannot create QUEUE_TABLE, %s already exists"
// *Cause:   The queue table already exists in the queueing system.
// *Action:  Drop the table first using the DROP_QUEUE_TABLE() command or 
//           specify another table.
//
24002, 00000, "QUEUE_TABLE %s does not exist"
// *Cause:  Queue_table not exist.   
// *Action: Query on the user view USER_QUEUE_TABLES to find out existing queue
//          tables.
//
24003, 00000, "Queue table index %s inconsistent with queue table %s"
// *Cause: The queue table index has not yet been successfully imported.
// *Action: Import the queue table index before attempting to use the queue
//          table. If the import failed, correct the problem and try to import 
//          the queue table index again.
//          
//
24004, 00000, "invalid column name %s in SORT_LIST, should be ENQ_TIME or PRIORITY"
// *Cause:  Invalid column name was specified in the SORT_LIST.
// *Action: The valid column names are ENQ_TIME and PRIORITY.
//
24005, 00000, "Inappropriate utilities used to perform DDL on AQ table %s.%s" 
// *Cause:  An attempt was made to use the SQL command DROP TABLE or TRUNCATE
//          TABLE or ALTER TABLE on queue metadata or tables. 
// *Action: Use the DBMS_AQADM.DROP_QUEUE_TABLE to DROP TABLE,
//          DBMS_AQADM.PURGE_QUEUE_TABLE to TRUNCATE TABLE. 
//          ALTER TABLE redefinition based on only ALTER_TABLE_PROPERTIES and
//          ALTER_TABLE_PARTITIONING clauses are allowed.
//
24006, 00000, "cannot create QUEUE, %s already exists"
// *Cause:  The queue requested to be created already exists.
// *Action: Specify another queue name.  Query USER_QUEUES for all the exisiting
//          queues in the users's schema.
//
24007, 00000, "invalid value %s, MAX_RETRIES should be non-negative integer"
// *Cause:  An invalid value was specified for MAX_RETRIES.
// *Action: Specify a non-negative integer.
// 
24008, 00000, "queue table %s.%s must be dropped first" 
// *Cause:  An error was detected when dropping a queue table in a cluster,  
//          tablespace, or schema. 
// *Action: Use the DBMS_AQADM.DROP_QUEUE_TABLE procedure to drop the specified
//          queue table first; then, retry the operation. 
//
24009, 00000, "invalid value %s, QUEUE_TYPE should be NORMAL_QUEUE or EXCEPTION_QUEUE"
// *Cause:  Invalid queue type parameter
// *Action: Valid values are NORMAL_QUEUE for normal queue and EXCEPTION_QUEUE
//          for exception queue.
//
24010, 00000, "QUEUE %s does not exist"
// *Cause:  The specified queue does not exist.
// *Action: Specify a valid queue. Query USER_QUEUES for all the valid
//          queues.
//
24011, 00000, "cannot drop QUEUE, %s should be stopped first"
// *Cause:  The queue has not been stopped i.e. either enqueue or
//          dequeue is still enabled.
// *Action: Stop the queue first using the STOP_QUEUE command and disable
//          it from both enqueueing and dequeueing.
//
24012, 00000, "cannot drop QUEUE_TABLE, some queues in %s have not been dropped"
// *Cause:  A queue exists in the queue table which has not been dropped. 
//          All queues need to be dropped first.
// *Action: Drop all queues belonging to this queue table using the drop_queue() 
//          command.  Be sure to stop the queues appropriately before dropping 
//          them. Alternately, use the force option in drop_queuetable.
//
24013, 00000, "invalid value %s, RETRY_DELAY should be non-negative"
// *Cause:  A negative value was specified for RETRY_DELAY. 
// *Action: Specify a non-negative value for RETRY_DELAY.
24014, 00000, "invalid value %s,  RETENTION_TIME should be FOREVER or non-negative"
// *Cause:  Queue retention was specified, but the retention time was 
//          specified to be less than zero.
// *Action: Specify the retention time to be non-negative or FOREVER. 
//          Alternately don't specify retention.
//
24015, 00000, "cannot create QUEUE_TABLE, QUEUE_PAYLOAD_TYPE %s.%s does not exist"
// *Cause:  An invalid QUEUE_PAYLOAD_TYPE specified during create_queue_table.  
// *Action: The QUEUE_PAYLOAD_TYPE should be RAW or an object type that  already
//          exists in the database.
// 
24016, 00000, "cannot create QUEUE_TABLE, user %s does not have execute privileges on QUEUE_PAYLOAD_TYPE %s.%s"
// *Cause:  An invalid object type specified for QUEUE_PAYLOAD_TYPE during 
//          create_queue_table.  
// *Action: The user should have execute priviliges on the object type specified
//          for the queue.
// 
24017, 00000, "cannot enable enqueue on QUEUE, %s is an exception queue"
// *Cause:  User tried to enable enqueueing to an exception queue.
// *Action: None.
24018, 00000, "STOP_QUEUE on %s failed, outstanding transactions found"
// *Cause:  There were outstanding transactions on the queue, and  WAIT was set to
//           false, so STOP_QUEUE was unsucessful in stopping the queue.
//
// *Action: Set WAIT to TRUE and try STOP_QUEUE again.  It will hang till all
//          outstanding transactions are completed.
//
24019, 00000, "identifier for %s too long, should not be greater than %s characters"
// *Cause:  The identifier specified is too long.
// *Action: Try again with a shorter identifier.
// 
24020, 00000, "Internal error in DBMS_AQ_IMPORT_INTERNAL, %s"
// *Cause:   Internal Error occured in the package DBMS_AQ_IMPORT_INTERNAL.
// *Action:  Internal error, call Oracle Support.
// 
24021, 00000, "queue table definition not imported for %s.%s"
// *Cause:   The queue definition is not updated because the queue table
//           was not imported properly
//           
// *Action:  Import the queue table again.
24022, 00000, "the specified parameters has no effect on the queue"
// *Cause:  The parameter combination will not cause the queue to 
//          be started or stoped.
// *Action: None.  This is just a warning.
//
24023, 00000, "Internal error in DBMS_AQ_EXP_INTERNAL.%s [%s] [%s]"
// *Cause:   Internal Error occured in the package DBMS_AQ_EXP_INTERNAL.
// *Action:  Internal error, call Oracle Support.
//
24024, 00000, "Internal error in DBMS_AQ_IMP_INTERNAL.%s [%s] [%s]"
// *Cause:   Internal Error occured in the package DBMS_AQ_IMP_INTERNAL.
// *Action:  Internal error, call Oracle Support.
//
24025, 00000, "invalid value %s, QUEUE_PAYLOAD_TYPE should be RAW or an object type"
// *Cause:  Parameter queue_payload_type has invalid value.
// *Action: Specify a valid object type or RAW.
//
24026, 00000, "operation failed, queue %s.%s has errors"
// *Cause: An attempt was made to enqueue, dequeue or administer a queue which
//         has errors.
// *Action: Drop the queue table setting the force option to true.
//
24027, 00000, "AQ  HTTP propagation encountered error, status-code %s, %s" 
// *Cause:  AQ propagation's HTTP request to the propagation servlet at the
//          specified address encountered an error
// *Action: Specify a valid address in the connect string of the propagation
//            destination dblink, the dblink user has the correct permissions,
//            check if the AQ propagation servlet was properly installed.
24028, 00000, "cannot create a reciever non-repudiable single consumer queue"
// *Cause:   Tried to create a reciever non-repudiable single consumer queue
// *Action:  This feature is not supported
24029, 00000, "operation not allowed on a single-consumer queue"
// *Cause:   Tried an operation not allowed on a single-consumer queue.
// *Action:  Specify the operation on a multi-consumer queue.
24030, 00000, "Only one of rule or rule-set must be specified"
// *Cause:   Specified both a rule and rule-set for the operation.
// *Action:  Specify only one of rule or rule-set.
24031, 00000, "invalid value, %s should be non-NULL"
// *Cause:   Parameter is NULL.
// *Action:  Specify a non NULL value for the parameter. 
//
24032, 00000, "object %s exists, index could not be created for queue table %s"
// *Cause:   Oracle AQ tried to create an index with the name 
//           specified in the error message. The 
//           index could not be created for the specified queue 
//           table because a object exists with the same name.
// *Action:  Drop the object specified in the error message and retry the
//           command. You can also choose a different name for the queue table.
//
24033, 00000, "no recipients for message"
// *Cause:   An enqueue was performed on a queue that has been set up for
//     multiple dequeuers but there were neither explicit recipients
//           specified in the call nor were any queue subscribers determined
//           to be recipients for this message.
// *Action:  Either pass a list of recipients in the enqueue call or add
//           subscribers to the queue for receiving this message.
24034, 00000, "application %s is already a subscriber for queue %s"
// *Cause:   An application name that was already a subscriber for the queue
//           was specified in the dbms_aq.subscribe call.
// *Action:
24035, 00000, "AQ agent %s is not a subscriber for queue %s"
// *Cause:   An AQ agent that was not a subscriber for the queue
//           was specified.
// *Action:  Check the name and/or address of the agent and retry the call.
//
24036, 00000, "invalid SORT_ORDER column %s specified for queue table "
// *Cause:   The create queue table command was issued with
//           message_grouping set to TRANSACTIONAL and a sort order column
//           other than priority. Only the priority column can be specified
//           in the sort order for queue tables with transactional grouping.
// *Action:  Change the sort order list in the create queue table command and
//           retry the call.
//
24037, 00000, "schema %s in QUEUE_NAME is not same as schema %s in QUEUE_TABLE"
// *Cause:   The schema specified in the QUEUE_NAME parameter of CREATE_QUEUE
//           is not the same as the schema specified in the QUEUE_TABLE 
//           parameter.
// *Action:  Use the same schema name for both the QUEUE_NAME and QUEUE_TABLE
//           parameters and retry the command.
//
24038, 00000, "RETRY_DELAY and MAX_RETRIES cannot be used for a 8.0 compatible multiple consumer queue"
// *Cause:   The CREATE_QUEUE or ALTER_QUEUE command was issued with a non-zero
//           RETRY_DELAY and a QUEUE_TABLE that was created for multiple 
//           consumers and with COMPATIBLE parameter set to '8.0'.
// *Action:  Either set the RETRY_DELAY to zero or upgrade the queue table to
//     8.1 compatible using the DBMS_AQADM.MIGRATE_QUEUE_TABLE procedure.
//
24039, 00000, "Queue %s not created in queue table for multiple consumers"
// *Cause:   Either an ADD_SUBSCRIBER, ALTER_SUBSCRIBER, or REMOVE_SUBSCRIBER 
//           procedure, or an ENQUEUE with a non-empty recipient list, was 
//           issued on a queue that was not created for multiple consumers.
// *Action:  Create the queue in a queue table that was created for
//           multiple consumers and retry the call.
//
// NLS_DO_NOT_TRANSLATE [24040,24040]
24040, 00000, "AQ tracing event" 
// *Cause: N/A
// *Action: Event used to trace operation of AQ.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE.  THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
//
24041, 00000, "propagation schedule exists for QUEUE %s and DESTINATION %s"
// *Cause:   A SCHEDULE_PROPAGATION was issued for a queue and destination pair
//           which has an existing propagation schedule.
// *Action:  Issue UNSCHEDULE_PROPAGATION to remove the existing schedule and
//           then reissue the SCHEDULE_PROPAGATION call.
//
24042, 00000, "no propagation schedule exists for QUEUE %s and DESTINATION %s"
// *Cause:   AN UNSCHEDULE_PROPAGATION was issued for a queue and destination
//           pair which has no existing propagation schedule.
// *Action:  Verify the spelling of the specified QUEUE and DESTINATION and
//           then reissue the call with the correct spelling. 
//
24043, 00000, "destination %s uses a reserved name, names with AQ$_ prefix are not valid"
// *Cause:   An attempt was made to specify a reserved name for a destination.
// *Action:  Enter a different value or NULL for the local destination. 
//           Then retry the operation.
//
24044, 00000, "source %s and destination %s object types do not match"
// *Cause:   A message recipient's queue has a different object structure
//            than the sender's queue.  The message cannot be propagated. 
//          
// *Action:  Either remove the recipient from the subscriber's list for the 
//           sender's queue or create the destination queue with an object type 
//           that matches the source queue's object type.
//
24045, 00000, "invalid agent address %s, agent address should be of the form [SCHEMA.]NAME[@DATABASE LINK]"
// *Cause:   An invalid value was specified for the agent address parameter.
// *Action:  Specify a string of the form [SCHEMA.]NAME[@DATABASE LINK].
//
24046, 00000, "protocol attribute reserved for future use"
// *Cause:   The protocol attribute of the AQ agent object type is reserved for 
//           future use.
// *Action:  Do not specify the protocol attribute in the agent object type.
//
24047, 00000, "invalid agent name %s, agent name should be of the form NAME"
// *Cause:   An invalid value was specified for the agent name parameter.
// *Action:  Specify a string of the form NAME. Then retry the operation.
//
24048, 00000, "cannot create QUEUE_TABLE, user does not have access to AQ object types"
// *Cause:   An attempt was made to issue the CREATE_QUEUE_TABLE command, but
//           the user who issued the command does not have access to internal
//     AQ object types.
// *Action:  Use the DBMS_AQADM.GRANT_TYPE_ACCESS procedure to grant the
//     user access to the AQ object types.
//
24049, 00000, "invalid agent name %s, names with AQ$_ prefix are not valid"
// *Cause:   An attempt was made to use a reserved prefix in the agent name.
// *Action:  Enter a different value for the agent name. Then, retry the
//     operation.
//           
24050, 00000, "subscribers are not supported for exception queue %s"
// *Cause:   An ADD_SUBSCRIBER, ALTER_SUBSCRIBER, or REMOVE_SUBSCRIBER 
//           procedure was issued on a queue that was created as an 
//           EXCEPTION_QUEUE.
// *Action:  Specify a NORMAL_QUEUE in the procedure.
//
24051, 00000, "cannot propagate object type payloads that have a REF attribute"
// *Cause:   An ADD_SUBSCRIBER or ENQUEUE procedure with a non-NULL address 
//     field in the agent type was issued on a queue whose payload has a
//           REF attribute. Propagation of object type payloads
//     that have a REF attribute currently is not supported.
// *Action:  Specify an agent with a NULL address field so that the agent can
//     dequeue from the same queue. Or, change the object type definition
//     to one that does not use REF attributes. 
24052, 00000, "cannot propagate object type payloads with LOB attributes to an 8.0 release"
// *Cause:   The recipient of a message with LOB attributes was using an Oracle
//     8.0 release. Propagation of LOB attributes is supported only in 
//     Oracle 8.1 and higher releases.
// *Action:  Upgrade the target release to Oracle 8.1 and retry. Or, change
//           the object type definition to one that does not use LOBs.
24053, 00000, "PRIMARY_INSTANCE and SECONDARY_INSTANCE must be non-negative"
// *Cause:  One of PRIMARY_INSTANCE or SECONDARY_INSTANCE was negative.
// *Action: Specify non-negative integers for PRIMARY_INSTANCE and SECONDARY_INSTANCE.
//
24054, 00000, "cannot propagate to an Oracle 8.0.3 release or lower release"
// *Cause:   The recipient of a message was using an Oracle 8.0.3 release or 
//     lower release. Propagation is supported only in Oracle 8.0.4 and 
//     higher releases.
// *Action:  Upgrade the target release to Oracle 8.0.4 or higher and retry.
//     
//
24055, 00000, "cannot delete propagation status rows that are in prepared state"
// *Cause:   An attempt was made to use the internal administration procedure 
//     to delete status rows from the SYS.AQ$_PROPAGATION_STATUS table 
//     that were in the prepared state.
// *Action:  Wait for the propagation to complete successfully before retrying
//     the operation. 
24056, 00000, "internal inconsistency for QUEUE %s and destination %s"
// *Cause:   The sequence numbers used in the SYS.AQ$_PROPAGATION_STATUS table
//     were inconsistent for the given queue and destination.
// *Action:  Contact Oracle Worldwide Support.
//
24057, 00000, "cannot define subscriber with rule for queue %s"
// *Cause:   An ADD_SUBSCRIBER or ALTER_SUBSCRIBER procedure with a rule was 
//           issued on a queue for which rule based subscribers are not 
//           supported. Rule based subscribers currently are supported only 
//           for NORMAL (persistent) multi-consumer queues created using an 
//           Oracle release 8.1.0 or higher compatible queue table.
// *Action:  Create a NORMAL multi-consumer queue in an Oracle release 8.1.0 
//           or higher compatible queue table, and retry the call.
//           Or, if the queue is a normal (persistent) multi-consumer queue, 
//           convert the queue table to Oracle 8.1.0 or higher compatibility
//           and retry.
//
24058, 00000, "cannot downgrade QUEUE_TABLE that has propagation in a prepared state"
// *Cause:   An attempt was made to downgrade the queue table when there were
//     messages being propagated that were in the prepared state.
// *Action:  Wait for the propagation to complete before retrying the operation.
//      
24059, 00000, "invalid COMPATIBLE parameter setting %s specified in DBMS_AQADM.%s"
// *Cause:   An invalid compatible parameter was specified in the 
//     DBMS_AQADM procedure. The parameter setting must be of the form 
//     '8.x.y' where x is the release number and y is the update number.
// *Action:  Specify a valid COMPATIBLE parameter setting, and retry the 
//     operation.
//
24060, 00000, "cannot convert QUEUE_TABLE, %s already is compatible with release %s"
// *Cause:   The source queue table in the DBMS_AQADM procedure is 
//     compatible with the specified COMPATIBLE parameter setting.
// *Action:  Choose a different COMPATIBLE parameter setting to convert the 
//     queue table to the desired compatibility.
//
24061, 00000, "cannot specify non-zero SECONDARY_INSTANCE if PRIMARY_INSTANCE was zero"
// *Cause:   A non-zero value was specified for SECONDARY_INSTANCE when
//           PRIMARY_INSTANCE was zero. 
// *Action:  Specify a non-zero primary instance before you specify a non-zero
//           secondary instance. 
//
//
24062, 00000, "Subscriber table %s inconsistent with queue table %s"
// *Cause: The subscriber table has not yet been successfully imported.
// *Action: Import the subscriber table before attempting to use the queue
//          table. If the import failed, correct the problem and try to import
//          the subscriber table again.
24063, 00000, "cannot downgrade QUEUE_TABLE that has queues with rule-based subscribers"
// *Cause:   An attempt was made to downgrade the queue table when there were
//     queues on which rule based subscribers are defined. 
// *Action:  Remove the rule based subscribers for all queues in this queue 
//           table and retry.
//
24064, 00000, "propagation for QUEUE %s and DESTINATION %s already enabled" 
// *Cause:   An ENABLE_SCHEDULE_PROPAGATION command was issued for a queue and 
//           destination pair whose propagation schedule already was enabled. 
// *Action:  Make sure the QUEUE and DESTINATION are correct when you issue
//           the ENABLE_SCHEDULE_PROPAGATION command.
// 
24065, 00000, "propagation for QUEUE %s and DESTINATION %s already disabled" 
// *Cause:   A DISABLE_SCHEDULE_PROPAGATION command was issued for a queue and 
//           destination pair whose propagation schedule already was disabled.
// *Action:  Make sure the QUEUE and DESTINATION are correct when you issue
//           the DISABLE_SCHEDULE_PROPAGATION command.
//
24066, 00000, "invalid privilege specified"
// *Cause:   An invalid privilege is specified for granting or revoking
//           privilege
// *Action:  Specify a valid privilege.
//           
24067, 00000, "exceeded maximum number of subscribers for queue %s"
// *Cause:  An attempt was made to add new subscribers to the specified, 
//          but the number of subscribers for this queue has exceeded the 
//          maximum number (1024) of subscribers allowed per queue.
// *Action: Remove existing subscribers before trying to add new subscribers.
//      
24068, 00000, "cannot start queue %s, queue table %s is being migrated"
// *Cause:  An attempt was made to start a queue in a queue table that is
//    being migrated.
// *Action: Complete the queue table migration, and retry the operation.
//
24069, 00000, "cannot downgrade queue table %s while it is being upgraded"
// *Cause:  An attempt was made to downgrade a queue table, but a previous
//    command to upgrade the queue table has not yet completed
//    successfully.
// *Action: Complete the upragde of the queue table by re-executing the 
//    DBMS_AQADM.MIGRATE_QUEUE_TABLE procedure. Then, downgrade
//    the queue table.
24070, 00000, "cannot upgrade queue table %s while it is being downgraded"
// *Cause:  An attempt was made to upgrade a queue table, but a previous
//    command to downgrade the queue table has not yet completed 
//    succesfully.
// *Action: Complete the downgrade of the queue table by re-executing the 
//    DBMS_AQADM.MIGRATE_QUEUE_TABLE procedure. Then, upgrade the
//    queue table.
24071, 00000, "cannot perform operation %s, queue table %s is being migrated"
// *Cause:  An attempt was made to perform an operation on a queue in a
//          queue table that is being migrated.
// *Action: Complete the queue table migration, and retry the operation.
//
24072, 00000, "cannot execute MIGRATE_QUEUE_TABLE procedure; must own queue table" 
// *Cause:  An attempt was made to upgrade or downgrade a queue table
//          using the DBMS_AQADM.MIGRATE_QUEUE_TABLE procedure, but the
//          user who executed the procedure does not own the queue. 
// *Action: Reconnect as the owner of the queue table, and then execute 
//          the DBMS_AQADM.MIGRATE_QUEUE_TABLE procedure.  
//
24073, 00000, "cannot specify RETENTION_TIME on exception queue %s.%s"
// *Cause:  An attempt was made to create or alter an exception queue by
//    specifying a non-zero RETENTION_TIME.
// *Action: Use the default RETENTION_TIME parameter value for exception queues.
//
24074, 00000, "RETRY_DELAY and MAX_RETRIES cannot be used for exception queue %.%s"
// *Cause:   The CREATE_QUEUE or ALTER_QUEUE command was issued with a non-zero
//           RETRY_DELAY and an exception queue.
// *Action:  Do not specify RETRY_DELAY or MAX_RETRIES for exception queues.
24075, 00000, "cannot specify agent with NULL address and non-NULL protocol"
// *Cause: An ADD_SUBSCRIBER or enqueue was attemoted with an agent that had
//   a NULL address and a non-NULL protocol.
// *Action: Either specify a non-NULL address or set the protocol to NULL.
//
24076, 00000, "cannot perform operation %s for NON_PERSISTENT queue %s.%s"
// *Cause:   One of the operations, SCHEDULE_PROPAGATION, ALTER_QUEUE, LISTEN,
//           DEQUEUE was issued for a NON_PERSISTENT queue.
// *Action:  Do not specify a NON_PERSISTENT queue for these operations.
//
24077, 00000, "cannot create propagation schedule for EXCEPTION queue %s.%s"
// *Cause:   A SCHEDULE_PROPAGATION was issued for an EXCEPTION queue.
//           Propagation schedules can be created only for NORMAL queues.
// *Action:  To propagate messages from a queue specify the queue type
//           as NORMAL.
//
24078, 00000, "cannot specify a non-NULL SECONDARY_INSTANCE if PRIMARY_INSTANCE was NULL"
// *Cause:   A non-NULL value was specified for SECONDARY_INSTANCE when
//           PRIMARY_INSTANCE was NULL.
// *Action:  Specify a non-NULL primary instance before you specify a non-NULL 
//           secondary instance.
24079, 00000, "invalid name %s, names with AQ$_ prefix are not valid for %s"
// *Cause:  An attempt was made to use a reserved prefix for the object name.
// *Action: Enter a different name for this object. Then, retry the operation.
24080, 00000, "unschedule_propagation pending for QUEUE %s and DESTINATION %s"
// *Cause:   A propagation administration command was issued for a queue and
//           destination pair whose propagation is being unscheduled.
// *Action:  Do not issue propagation administration commands for a propagation
//           schedule on which there is a pending unschedule request.
24081, 00000, "compatible parameter needs to be %s or greater"
// *Cause: The compatible parameter was not high enough to allow the operation. 
// *Action: Shutdown and restart with a higher compatibility setting.
24082, 00000, "propagation may still be happening for the schedule for QUEUE %s and DESTINATION %s"
// *Cause: The snapshot process executing the propagation schedule did not
//         respond to the disable propagation command.
// *Action: Make sure that the job for the propagation schedule has been 
//          ended.
24083, 00000, "cannot specify remote subscribers for %s QUEUE %s "
// *Cause: An add_subscriber call with a non-null address field was issued on a
//         queue which does not support remote subscribers. Remote subscribers
//         are not supported for NON_PERSISTENT QUEUES.
// *Action: Specify a null address field and retry the call.
24084, 00000, "DBLINK name in address field of agent %s is not unique within the first 24 bytes"
// *Cause:   Advanced Queuing requires that the agent's dblink name should 
//           be unique within the first 24 bytes (for 8.0 compatible 
//           queuetables)
// *Action:  Specify a dblink name that is unique within the first 24 
//           bytes or migrate to 8.1 compatible queuetables where this 
//           restriction is not there.
24085, 00000, "operation failed, queue %s is invalid"
// *Cause: An attempt was made to enqueue, dequeue or administer a queue which is invalid.
//         This could have occured because the payload type of the queue's queue table was 
//         dropped or rules associated with queue subscribers got altered or dropped.
// *Action: Drop the queue table setting the force option to true.
24086, 00000, "cannot create a 8.0 compatible %s queue"
// *Cause:   An attempt was made to create a 8.0 compatible queue table and 
//           enable a feature that is supported only on 8.1 style queue tables
// *Action:  This feature is not supported
24087, 00000, "Invalid database user %s " 
// *Cause:  An invalid database username was specified  
// *Action: Specify a valid database user 
//
24088, 00000, "AQ Agent %s does not exist" 
// *Cause:  This AQ Agent does not exist
// *Action: Specify a valid AQ agent. Check the DBA_AQ_AGENTS view
//          for a list of valid aq agents
//
24089, 00000, "AQ Agent %s already exists" 
// *Cause:  This AQ agent has already been created
// *Action: Specify another agent name or use the ALTER api to modify the agent
//          information.
//
24090, 00000, "at least one protocol must be enabled"
// *Cause:  No protocol was enabled for aq agent
// *Action: Enable one of the protocols by setting one of the enable
//          parameters to true.
//
24091, 00000, "Destination queue %s is the same as the source queue"
// *Cause:  Propagation cannot be scheduled when the destination queue is the
//          same as the source queue.
// *Action: Specify a different destination queue.
24092, 00000, "invalid value %s specified"
// *Cause: A queue, queue table, rule, or ruleset name that requires double
//         quotes was specifed when the database compatibility was less
//         than 10.0.
// *Action: Specify a value that does not require double quotes and
//          retry the operation.
/
24093, 00000, "AQ agent %s not granted privileges of database user %s" 
// *Cause:  The specified AQ agent does not have privileges of the
//          specified database user
// *Action: Specify a valid combination of AQ agent and database user. Check
//          the DBA_AQ_AGENT_PRIVS or USER_AQ_AGENT_PRIVS view for user/agent 
//          mappings
//
24094, 00000, "invalid transformation, target type does not match that of the queue" 
// *Cause:  The target type of the transformation specified was different
//          from the type of the queue.
// *Action: Provide a valid transformation whose target type is the same
//          as the queue type.
24095, 00000, "invalid transformation, source type does not match that of the queue" 
// *Cause:  The source type of the transformation specified was different
//          from the type of the queue.
// *Action: Provide valid transformation whose source type is the same
//          as the queue type.
24096, 00000, "invalid message state specified" 
// *Cause:  Invalid value is specified for message state 
// *Action: Provide a valid message state as specified in the documentation
24097, 00000, "Invalid value %s, %s should be non-negative"
// *Cause: A negative value or NULL was specified for the parameter.
// *Action: Specify a non negative integer.
24098, 00000, "invalid value %s for %s"
// *Cause: An Invalid value or NULL was specified for the parameter.
// *Action: Check the documentation for valid values.
24099, 00000, "operation not allowed for 8.0 compatible queues" 
// *Cause: The specified operation is only supported for queues with 
//         compatibility 8.1 or greater
// *Action: Upgrade the 8.0 compatible queue to release 8.1 using 
//          DBMS_AQADM.MIGRATE_QUEUE_TABLE or specify a queue with 
//          compatibility 8.1
/
/     24100 - ERROR MESSAGE FOR THE TRANSACTION LAYER
/
24100, 00000, "error in ktz testing layer"
// *Cause: There is an error in the Transaction layer test ICDs 
//         
// *Action:  
//            
/     24101 - 24119 ERROR MESSAGES FOR THE DBMS_SCHEDULER PACKAGE
/
24101, 00000, "stopped processing the argument list at: %s"
// *Cause: One of the arguments of the requested operation contained a list of
//         scheduler objects. While processing this list an error was
//         encountered with the specified item.
// *Action: Resolve the error for this element of the list and then re-issue
//          the command with the remainder of the argument list. See the rest
//          of the error stack to find out what the exact error is.
24102, 00000, "invalid prefix for generate_job_name"
// *Cause: generate_job_name was called with a prefix longer than 18 characters
//         or a prefix ending in a digit.
// *Action: Re-issue the command using a prefix no longer than 18 characters
//          and not ending in a digit.
24103, 00000, "job \"%s\".\"%s\" failed to be enabled after creation"
// *Cause: The job failed to be enabled after creation.
// *Action: Review the reason for the failure, correct it if possible
//          and re-create the job.
/
/     24120 - 24140 ERROR MESSAGES FOR THE DBMS_REPAIR PACKAGE
/
24120, 00000, "invalid %s parameter passed to DBMS_REPAIR.%s procedure"
// *Cause:  An invalid parameter was passed to the specified DBMS_REPAIR
//          procedure.
// *Action: Specify a valid parameter value or use the parameter's default. 
//
24121, 00000, "both cascade and a block range passed to DBMS_REPAIR.CHECK_OBJECT procedure"
// *Cause:  Both cascade and a block range were specified in a call to 
//          DBMS_REPAIR.CHECK_OBJECT.
// *Action: Use either cascade or a block range, or do not use either one.
//
24122, 00000, "invalid block range specification"
// *Cause:  An incorrect block range was specified.
// *Action: Specify correct values for the BLOCK_START and BLOCK_END
//          parameters.
//
24123, 00000, "feature %s is not yet implemented"
// *Cause:  An attempt was made to use the specified feature, but the feature is 
//          not yet implemented.
// *Action: Do not attempt to use the feature.
//
24124, 00000, "invalid ACTION parameter passed to DBMS_REPAIR.%s procedure"
// *Cause:  An invalid ACTION parameter was specified.
// *Action: Specify CREATE_ACTION, PURGE_ACTION or DROP_ACTION for the ACTION
//          parameter.
//
24125, 00000, "Object %s.%s has changed"
// *Cause   An attempt was made to fix corrupt blocks on an object that 
//          has been dropped or truncated since DBMS_REPAIR.CHECK_OBJECT was run.
// *Action  Use DBMS_REPAIR.ADMIN_TABLES to purge the repair table 
//          and run DBMS_REPAIR.CHECK_OBJECT to determine whether there are
//          any corrupt blocks to be fixed.
24126, 00000, "invalid CASCADE_FLAG passed to DBMS_REPAIR.%s procedure"
// *Cause:  CASCADE_FLAG was specified for an object that is not a table.
// *Action: Use CASCADE_FLAG only for tables.
//
24127, 00000, "TABLESPACE parameter specified with an ACTION other than CREATE_ACTION"
// *Cause:  The TABLESPACE parameter can only be used with CREATE_ACTION. 
// *Action: Do not specify TABLESPACE when performing actions other than
//          CREATE_ACTION.
//
24128, 00000, "partition name specified for a non-partitioned object"
// *Cause:  A partition name was specified for an object that is not 
//          partitioned.
// *Action: Specify a partition name only if the object is partitioned.
//
24129, 00000, "table name %s does not start with %s prefix"
// *Cause:  An attempt was made to pass a table name parameter without the
//          specified prefix.
// *Action: Pass a valid table name parameter.
//
24130, 00000, "table %s does not exist"
// *Cause:  An attempt was made to specify a map, repair, or sync table that 
//          does not exist.
// *Action: Specify a valid table name parameter.
//
24131, 00000, "table %s has incorrect columns"
// *Cause:  An attempt was made to specify a map, repair, or sync table that 
//          does not have a correct definition.
// *Action: Specify a table name that refers to a properly created table.
//
24132, 00000, "table name %s is too long"
// *Cause:  An attempt was made to specify a table name is greater than 30
//          characters long"
// *Action: Specify a valid table name parameter.
//
24133, 00000, "invalid usage of DBMS_REPAIR in case of GTT table"
// *Cause:  An attempt was made to specify a Global Temporary Table (GTT)
//          table name while using DBMS_REPAIR.CHECK_OBJECT.
// *Action: Specify a non-GTT table name parameter.
//
/
/     24141 - 24179 ERROR MESSAGES FOR THE DBMS_RULE PACKAGE
/
24141, 00000, "rule set %s.%s does not exist"
// *Cause:   An attempt to access or modify a ruleset was made, which failed 
//           because the ruleset does not exist.
// *Action:  Only access or modify existing rulesets.
24142, 00000, "invalid ruleset name"
// *Cause:   An attempt to create a ruleset with an invalid name was made.
//           The ruleset name can not be NULL, and can not be more
//           than 26 characters, unless a rules_table_name is also specified,
//           in which case the ruleset name may be up to 30 characters.
// *Action:  Retry the create with a valid ruleset name.
24143, 00000, "invalid evaluation context name"
// *Cause:   An attempt to create a rule/ruleset on an invalid evaluation name
//           was made. The evaluation_context can not be more than 30 
//           characters. The evaluation context with the name specified must 
//           exist.
// *Action:  Retry the create with a valid evaluation context name.
24144, 00000, "rules engine internal error, arguments: [%s], [%s] "
// *Cause:   An internal error occurred in the rules engine. This indicates
//           that the rules engine has encountered an exception condition.
// *Action:  Please report this error as a bug. The first argument is the 
//           error and the second argument is the package.
24145, 00000, "evaluation context %s.%s already exists"
// *Cause:  An evaluation context of the given name already exists
// *Action: Specify another name for the evaluation context being created
24146, 00000, "rule %s.%s already exists " 
// *Cause:  A rule of the given name already exists
// *Action: Specify another name for the rule being created.
24147, 00000, "rule %s.%s does not exist " 
// *Cause:  The rule of the given name does not exist
// *Action: create the rule or specify one that exists
24148, 00000, "cannot drop rule %s.%s with dependents"
// *Cause:  The rule still belongs to some rulesets, cannot be dropped
// *Action: do not drop a rule that belongs to rulesets without force option
24149, 00000, "invalid rule name"
// *Cause:   An attempt to create a rule with an invalid name was made.
//           The rule name can not be NULL, and can not be more
//           than 30 characters
24150, 00000, "evaluation context %s.%s does not exist"
// *Cause:   The evaluation context of the given name does not exist
// *Action:  create the evaluation context or specify one that exists
24151, 00000, "no evaluation context is associated with rule %s.%s or rule set %s.%s"
// *Cause:  Whening adding a rule to a rule set, either the rule or the rule
//          set must have an evaluation context associated with it
// *Action: do not add a rule without an evaluation context to a ruleset that 
//          does not have a default evaluation context
24152, 00000, "cannot drop evaluation context %s.%s with dependents"
// *Cause:  The evaluation context still belongs to some rules or rule sets,
//          cannot be dropped
// *Action: do not drop an evaluation context with dependents without force 
//          option
24153, 00000, "rule set %s.%s already exists " 
// *Cause:  A rule set of the given name already exists
// *Action: Specify another name for the rule set being created.
24154, 00000, "rule %s.%s already in rule set %s.%s"
// *Cause:  a rule can be added to a rule set only once
// *Action: do not add a rule to a rule set that already contains this rule
24155, 00000, "rule %s.%s not in rule set %s.%s"
// *Cause:  the rule to be removed from the rule set is not in the rule set
// *Action: do not remove a rule from a rule set that does not contain the rule
24156,  00000, "duplicate table alias %s"
// *Cause:  there is a table alias of the same name in the evaluation context
// *Action: do not add two table aliases of the same name to an evaluation 
//          context
24157,  00000, "duplicate variable name %s"
// *Cause:  there is a variable of the same name in the evaluation context
// *Action: do not add two variables of the same name to an evaluation 
//          context
24158,  00000, "invalid table alias"
// *Cause:  table alias name or base table name is not specified in the table
//          alias definiton
// *Action: specify both alias name and alias base table in the table alias 
//          structure
24159,  00000, "invalid variable definiton"
// *Cause:  variable name or variable type is not specified in the variable
//          definiton
// *Action: specify both variable name and variable type in the variable  
//          definition structure
24160, 00000, "name %s already exists in the name value pair list"
// *Cause:  there is already a name-value pair with the same name in the NVlist
// *Action: try another name.
24161, 00000, "name %s does not exist in the name value pair list"
// *Cause:  there is not such a name-value pair in the NVlist
// *Action: check the name-value pair exists in the NVList.
24162, 00000, "name value pair list is full, cannot add another entry"
// *Cause:  The NVList is full (1024 elements) and cannot hold more elements
// *Action: do not add elements to a full list.
24163, 00000, "dblink is not supported in rules engine DDLs"
// *Cause:  the object name has a database link in it, which is not supported
// *Action: Do not specify remote objects in rules engine DDLs.
24164, 00000, "invalid rule engine system privilege: %s"
// *Cause:  no such system privilege number for rule engine objects
// *Action: check specfication of dbms_rule_adm for valid system privilege 
//          numbers
24165, 00000, "invalid rule engine object privilege: %s"
// *Cause:  no such object privilege number for rule engine objects
// *Action: check specfication of dbms_rule_adm for valid object privilege 
//          numbers
24166, 00000, "evaluation context %s.%s has errors"
// *Cause: The table aliases and the variable types specified in the 
//         evaluation context could not be resolved. 
// *Action: Make sure that all base tables exist and that all variable types 
//          are correct. Also, make sure that tables are not composite 
//          partitioned or clustered partitioned. 
24167, 00000, "incompatible rule engine objects, cannot downgrade"
// *Cause:  there are rule engine objects in the database that cannot be
//           downgraded.
// *Action: check utlincmp.sql and remove all incompatible rules engine objects
//          before downgrade.
24168, 00000, "rule %s.%s cannot have default evaluation context"
// *Cause:  If a rule is added to a rule set with more than one evaluation
//          contexts, it must not have an evaluation context itself.
// *Action: Do not set the evaluation context of such rules to a not-null
//          value
24169, 00000, "rule condition has unrecognized variables"
// *Cause:  The rule references variables not in the evaluation context.
// *Action: Modify the rule condition to remove illegal reference.
24170, 00000, "%s.%s is created by AQ, cannot be dropped directly"
// *Cause:  This object is created by AQ, thus cannot be dropped directly
// *Action: use dbms_aqadm.drop_subscriber to drop the object
24171, 00000, "creation properties are only for internal use"
// *Cause:  user specified not null creation properties when creating rules
//          engine objects, which are not for external use
// *Action: do not set creation properties when creating rules engine objects
24172, 00000, "rule set %s.%s has errors"
// *Cause:  The rule references variables not in the evaluation context.
// *Action: Modify the rule condition to remove illegal reference.
24173, 00000, "nested query not supported for rule condition"
// *Cause:  user specified nested query in rule condition.
// *Action: do not use nested query in rule condition.
24174, 00000, "The number of %s per evaluation context is more than %s"
// *Cause:  Number of tables or variables were more than the defined
//          upper limit.
// *Action: Reduce the number of tables or variables per evaluation context.
24175, 00000, "The number of %s exceeds limit %s as there exists at least one nonsimple rule condition"
// *Cause:  Upper limit of tables or variable per evaluation context exceeded 
//          as there exists at least one nonsimple rule condition.
// *Action: Reduce the number of tables or variables per evaluation context.
/
/
/     24180 - 242200 ERROR MESSAGES FOR THE DBMS_TRANSFORM PACKAGE
/
24180, 00000, "invalid transformation expression, the transformation expression does not evaluate to the target type/attribute " 
// *Cause:  The transformation expression does not evaluate to the target type 
//          or the target type's specified attribute.
// *Action: Provide valid transformation expression which evaluates to the
//          target type or the target type's specified attribute.
24181, 00000, "The type %s does not exist " 
// *Cause:  The source or destination type for the transformation does not exist
// *Action: Create the type or specify one that exists
24182, 00000, "attribute number specified does not exist " 
// *Cause:  The target type of the transformation does not have the attribute
//          number specified in the ADD_ATTRIBUTE_TRANSFORMATION command
// *Action: check the target type definition and specify a valid attribute
//          number
24183, 00000, "invalid transformation" 
// *Cause:  The transformation specified is invalid because the source or
//          the target type have been dropped/modified.
// *Action: Drop and recreate the transformation
//
24184, 00000, "transformation %s.%s already exists " 
// *Cause:  The named transformation already exists.
// *Action: Specify another name for the transformation being created.
24185, 00000, "transformation %s.%s does not exist" 
// *Cause:  The specified transformation does not exist.
// *Action: Create the transformation before using it or specify an existing
//          transformation.
24186, 00000, "wrong object type, could not transform message"
// *Cause:  The object type of the message to be transformed does not match 
//          the source type of the specified transfomation.
// *Action: Specify another transformation, or specify a message of the 
//          correct type.
/
/ 24190 - 24199 ERROR MESSAGES FOR AQ JMS
/
24190, 00000, "length of payload exceeds %s"
// *Cause:  the length of payload being taken exceeds the limit of varchar2 or raw. 
// *Action: use clob type or blob type to call get_text or get_bytes.
24191, 00000, "the property name %s has existed"
// *Cause:  the property name being set has existed.
// *Action: use another property name.
24192, 00000, "the property name cannot be null"
// *Cause:  the property name cannot be null.
// *Action: make sure the property name not null.
24193, 00000, "the property value exceeds the valid range %s"
// *Cause:  the property valus being set exceeds the valid range. 
// *Action: make sure the property value is within the valid range.
24194, 00000, "attempt to read data in a message as the wrong type"
// *Cause:  According to JMS specification, some type conversions were not allowed. 
// *Action: Make sure to use the correct READ function to retrieve message data.
24195, 00000, "attemp to retrieve the name list of a map message with size exceeding 1024"
// *Cause:  The GET_NAMES function returns the names in a varray with a size limit of 1024. 
// *Action: Retrieve in several smaller steps using the GET_NAMES function with OFFSET and LENGTH parameters.
24196, 00000, "access the message in a wrong access mode"
// *Cause:  StreamMessage and BytesMessage could not be read when they were in write only mode and vice versa. 
// *Action: Change the access mode using PREPARE, CLEAR_BODY and RESET procedures.
24197, 00000, "JAVA stored procedure throws JAVA exceptions"
// *Cause:  The JAVA stored procedure threw some exceptions that could not be catergorized. 
// *Action: Use GET_EXCEPTION procedure to see what the exception is about.
24198, 00000, "attempt to use an invalid operation ID"
// *Cause:  An attempt was made to use an invalid operation ID to access messages. 
// *Action: Use the correct operation ID returned by PREPARE or CLEAR_BODY procedure.
24199, 00000, "message store is overflow"
// *Cause:  An attemp was made to access too many messages at the same time. 
// *Action: Use the CLEAN procedure to clean up some of the messages.
/
/   24200 - 24229 ERROR MESSAGES FOR THE DBMS_AQADM PACKAGE
/
24201, 00000, "duplicate publisher, publisher already added to the queue"
// *Cause:  Attempted to add a publisher to the queue again.
// *Action: Specify another publisher or user DBMS_AQADM.ALTER_PUBLISHER
//          to alter the publisher's properties.
24202, 00000, "publisher does not exist for the queue"
// *Cause:  Attempted to alter or drop a non existent publisher from a queue.
// *Action: Specify another publisher.
//
24203, 00000, "operation failed, queue table %s.%s has errors"
// *Cause: An operation attempt was made to a queue table which has errors.
// *Action: Drop the queue table setting the force option to true.
//
24204, 00000, "existing %s propagation schedules"
// *Cause: A propagation administrative interface was called when the
//         existing propagation schedules were running in different
//         mode (10.2/11g).
// *Action: Set appropriate internal parameter and unschedule existing
//          schedules if required.

24205, 00000, "feature %s not supported for sharded queues"
// *Cause: An attempt was made to use a feature that is not supported for 
//         sharded queues.
// *Action: Specify only supported features and try again.

24206, 00000,  "maximum limit of %s nondurable subscribers reached for queue %s.%s"
// *Cause: An attempt to add a new nondurable subscriber to the 
//         queue failed because the number of nondurable subscribers has 
//         exceeded the maximum limit.
// *Action: Remove existing subscribers and then attempt to add a new subscriber.
/
24207, 00000, "addition of a nondurable subscriber for queue %s.%s aborted due to low SGA"
// *Cause: An attempt to add a new nondurable subscriber on the 
//         specified queue was aborted because of memory constraints.
// *Action: Increase the shared pool size by increasing the value of the
//          SHARED_POOL_SIZE parameter.
/
24208, 00000, "API not supported for non-sharded queues"
// *Cause: An attempt was made to use a sharded queue API on a
//         non-sharded queue.
// *Action: Use non-sharded queue APIs.
/
24209, 00000, "nondurable subscriber rule has errors for queue %s" 
// *Cause: An attempt was made to create a nondurable subscriber with a
//         rule condition, but the condition had compilation errors.
// *Action: Correct the condition statement based on the error stack.
//
24210, 00000, "attempt to %s %s on queue %s.%s, %s already %s"
// *Cause: An attempt was made to start or stop a queue operation on a queue
//         which is already enabled or disabled for that operation.
// *Action: Make only one attempt to start or stop the queue operation. 
//
24211, 00000, "invalid value for REPLICATION_MODE"
// *Cause: There was an invalid setting of REPLICATION_MODE in the queue 
//         creation call. 
// *Action: Specify a valid setting. DBMS_AQADM.REPLICATION_MODE or 
//          DBMA_AQADM.NONE are the valid options.
24212, 00000, "user operation not permitted on replicated queue %s.%s"
//*Cause: An attempt was made to run a user operation on a 
//        replicated queue.
//*Action: Disable replication on the queue before performing
//         user operations.
24213, 00000, "unable to replicate queue %s.%s for sub-shards %d, %d"
//*Cause: An attempt to replicate enqueue failed.
//*Action: Look for information in the session trace file and contact
//         Oracle Support Services.
24214, 00000, "unable to replicate queue %s.%s sequence %d, maximum sequence %d failed"
//*Cause: An attempt to replicate enqueue failed.
//*Action: Look for information in the session trace file and contact
//         Oracle Support Services.
24215, 00000, "unable to modify REPLICATION_MODE, queue has to be stopped"
//*Cause: An attempt was made to modify REPLICATION_MODE on a queue open to
//        user operations.
//*Action: Stop the queue first using the STOP_QUEUE command.
//         Oracle Support Services.
24216, 00000, "%s not a supported payload type in sharded queue"
//*Cause: An attempt was made to create a sharded queue with an ADT type which was not
// supported in the queue_payload_type.
//*Action: Use DBMS_AQADM.JMS_TYPE as the queue_payload_type.
/
/   24230 - 24264 ERROR MESSAGES FOR MISC DBMS_ PACKAGES
/
24230, 00000, "input to DBMS_DDL.WRAP is not a legal PL/SQL unit"
// *Cause:   The input supplied to DBMS_DDL.WRAP or DBMS_DDL.CREATE_WRAPPED
//           did not specify a legal PL/SQL package specification, 
//           package body, type specification, type body, function or
//           procedure. This error can occur if you used incorrect
//           syntax in the CREATE OR REPLACE statement or specified
//           a unit that cannot be wrapped (e.g., a trigger or anonymous
//           block).
// *Action:  Provide a legal PL/SQL unit as input.
//
24231, 00000, "database access descriptor (DAD) %s not found"
// *Cause:    The specified Database Access Descriptor (DAD) did not exist.
// *Action:   Make sure the name of the Database Access Descriptor (DAD) is
//            correct and the DAD exists.
//
24232, 00000, "unknown Embedded PL/SQL Gateway attribute %s"
// *Cause:    The specified Embedded PL/SQL Gateway attribute was not known.
// *Action:   Make sure the name of the Embedded PL/SQL Gateway attribute is
//            correct.
//
24233, 00000, "argument passed to DBMS_UTILITY.VALIDATE is not legal"
// *Cause:   One or more input arguments to the DBMS_UTILITY.VALIDATE
//           routine was not legal. This error occurred because the
//           object name or owner or namespace arguments (if specified)
//           were NULL or illegal.
// *Action:  Identify and correct the illegal argument.
/
24234, 00000, "unable to get source of %s \"%s\".\"%s\", insufficient privileges or does not exist"
// *Cause:   The specified PL/SQL object in a DBMS_PREPROCESSOR subprogram
//           did not exist or you did not have the privileges necessary to
//           view its source.
// *Action:  Make sure the specified object exists and you have the
//           privileges necessary to view its source.
/
24235, 00000, "bad value for object type: %s"
// *Cause:   The specified object type was not appropriate.
// *Action:  Make sure the specified object type is one of the following:
//           package, package body, procedure, function, trigger, type,
//           and type body.
/
24236, 00000, "source text is empty"
// *Cause:   The input source text supplied to a DBMS_PREPROCESSOR
//           subprogram was empty.
// *Action:  Pass a non-empty input source text as the input.
/
24237, 00000, "object id argument passed to DBMS_UTILITY.INVALIDATE is not legal"
// *Cause:   This error occurred because the p_object_id argument passed to
//           the DBMS_UTILITY.INVALIDATE routine was NULL, there was no
//           object with the specified object id, or the user calling the
//           routine did not have sufficient privileges to invalidate the
//           object.
// *Action:  Correct the illegal argument.
/
24238, 00000, "object settings argument passed to DBMS_UTILITY.INVALIDATE is not legal"
// *Cause:   This error occurred because the p_plsql_object_settings argument
//           passed to the DBMS_UTILITY.INVALIDATE routine was NULL or
//           malformed.
// *Action:  Correct the illegal argument.
/
24239, 00000, "object could not be invalidated"
// *Cause:   A call to the DBMS_UTILITY.INVALIDATE routine failed. This error
//           occurred because the object type of the object specified by the
//           p_object_id argument is not one of the types that can be handled
//           by this routine. Alternately, the object was an object type
//           specification with table dependents, or the object was the
//           specification of the STANDARD, DBMS_STANDARD, DBMS_UTILITY
//           package, or the body of the DBMS_UTILITY package.
// *Action:  Call DBMS_UTILITY.INVALIDATE only on supported object types.
/
24240, 00000, "invalid database access descriptor (DAD) name"
// *Cause:    The specified Database Access Descriptor (DAD) name was invalid.
// *Action:   Make sure the name of the Database Access Descriptor (DAD) is
//            valid and its length does not exceed its limit.
/
24241, 00000, "source text is in wrapped format"
// *Cause:   The input source text supplied to a DBMS_PREPROCESSOR
//           subprogram was in wrapped format.
// *Action:  Pass a nonwrapped source text as the input.
//
/
24242, 00000, "anonymous access through a dynamically authenticated Database Access Descriptor (DAD) prohibited"
// *Cause:    An attempt to allow anonymous access through a dynamically
//            authenticated Database Access Descriptor (DAD) was prohibited.
// *Action:   Make sure the Database Access Descriptor (DAD) is not dynamically
//            authenticated before allowing anonymous access through it.
/
24243, 00000, "access control entry (ACE) already exists"
// *Cause:    An access control entry (ACE) for the principal with the same
//            grant or deny attribute in the IS_GRANT argument already existed.
// *Action:   Add the privilege to the existing access control entry (ACE)
//            instead.
/
24244, 00000, "invalid host or port for access control list (ACL) assignment"
// *Cause:    The host or port to which the access control list (ACL) was
//            assigned was invalid.
// *Action:   Ensure the host and port to which you are assigning the access
//            control list (ACL) are valid.
/
24245, 00000, "invalid network privilege"
// *Cause:    The network privilege being added to the access control list
//            (ACL) was invalid.
// *Action:   Ensure the network privilege that you are adding to the access
//            control list (ACL) is valid.
/
24246, 00000, "empty access control list (ACL) not allowed"
// *Cause:    An attempt was made to store an empty access control list (ACL).
// *Action:   Ensure that the access control list (ACL) has at least one
/             privilege assignment.
/
24247, 00000, "network access denied by access control list (ACL)"
// *Cause:    No access control list (ACL) has been assigned to the target
//            host or the privilege necessary to access the target host has not
//            been granted to the user in the access control list.
// *Action:   Ensure that an access control list (ACL) has been assigned to
//            the target host and the privilege necessary to access the target
//            host has been granted to the user.
/
24248, 00000, "XML DB extensible security not installed"
// *Cause:    XML DB extensible security necessary for this operation has
//            not been installed.
// *Action:   Ensure that XML DB has been installed.
/
24249, 00000, "Authentication scheme \"%s\" not supported"
// *Cause:    An unsupported authentication scheme was used.
// *Action:   Retry with a supported authentication scheme.
/
24250, 00000, "No supported authentication scheme found"
// *Cause:    A supported authentication scheme was not found.
// *Action:   Retry with a supported authentication scheme.
/
24251, 00000, "This statement is not supported by EXPAND_SQL_TEXT."
// *Cause: EXPAND_SQL_TEXT supports only SELECT statements.
// *Action: Submit only a SELECT statement.
/
24252, 00000, "SQL translation profile does not exist"
// *Cause:    An attempt was made to access a SQL translation profile that
//            either did not exist or for which the current user did not have
//            privileges on.
// *Action:   Check the SQL translation profile name and verify that the
//            current user has appropriate privileges on the SQL translation
//            profile.
/
24253, 00000, "translation of SQL statement or error code not found"
// *Cause:    An attempt to translate a SQL statement or error code or to change
//            a SQL or error code translation failed because the translation was
//            not found.
// *Action:   Verify that the SQL statement or error code is valid and
//            either a custom translation is registered or the translator
//            package in the SQL translation profile can translate it.
/
24254, 00000, "appropriate SQL translation profile not set"
// *Cause:    An attempt to translate a SQL statement or error code failed
//            because either a SQL translation profile was not set or the
//            profile could not translate the given SQL syntax.
// *Action:   Set an appropriate SQL translation profile before attempting to
//            translate a SQL statement or error code.
/
24255, 00000, "Implementation restriction: bind variables cannot change in the translated SQL statement"
// *Cause:    An attempt to register or use a translated SQL statement failed
//            because the number or the order of bind variables were changed
//            in the statement.
// *Action:   Do not change the number or the order of bind variables in the
//            translated SQL statement.
/
24256, 00000, "EXPAND_SQL_TEXT failed with %s"
// *Cause:    See the string parameter at the end of the message.
// *Action:   See the string parameter at the end of the message and take 
//            corrective action. 
/
24257, 00000, "The database role should be a primary or physical standby database."
// *Cause: The database role was not a primary database or a physical standby
//         database.
// *Action: Check the database role and try this command again.
/
24258, 00000, "unable to create output file or file already exists"
// *Cause: Either a file with the same name as the specified output file 
//          name already exists, or file creation failed.
// *Action: Fix the incorrect output file name and try this command again.
/
24259, 00000, "Slave process or processes for this PL/SQL function terminated abnormally, or could not be created or initialized."
// *Cause: Slave process or processes failed to operate properly for one of 
//         the following reasons:
//         - Inadequate SGA size.
//         - Slave pool could not be initialized.
//         - Slave process or processes were abnormally terminated.
// *Action: Ensure that the SGA size is sufficient to call this PL/SQL
//          function.
/
24260, 00000, "unable to communicate with remote databases"
// *Cause: Remote database or databases were not available due to network
//         connection failures.
// *Action: Check the status of the network and ensure that the database or
//          databases are mounted or open.
/
24261, 00000, "unable to read data file correctly on the remote database"
// *Cause: The remote database was unable to read the data file.
// *Action: Check the status of the data file.
/
24262, 00000, "unable to read data file correctly on the local database"
// *Cause: The data file on the local database could not be accessed.
// *Action: Check the status of the data file.
/
24263, 00000, "Certificate of the remote server does not match the target address."
// *Cause:  The server address on the public key certificate of the remote
//          server did not match the address used to access the target server.
// *Action: Verify the identity of the remote server against fraudulent servers.
//          If the identity of the remote server is valid, access the server
//          again while providing the expected address to be matched against
//          the certificate of the remote server.
/
24264, 00000, "The data file %s is not in the current container."
// *Cause: An attempt was made to access the data file outside of the current
//         container.
// *Action: Check the current container and change it to root or a specific
//          container that is able to access this data file.
/
/    24265 - 24269 ERROR MESSAGES FOR THE DBMS_SQLTUNE PACKAGE
/
24265, 00000, "Insufficient privileges for SQL profile operation"
// *Cause:  A DDL operation was attempted on a SQL profile by a session without
//          the proper privileges.
// *Action: Grant the user the appropriate privilege.
/
/     24270 - 24279 ERROR MESSAGES FOR THE DBMS_HS SUPPORT PACKAGE
/
24270, 00000, "a row already exists in the %s table for these parameters"
// *Cause:   A call was made to create a new row in the specified table.
//           A row already exists in the table with the specified values.
// 
// *Action:  Delete the existing row using the appropriate API or check
//           the parameters used to create the row.
//
24271, 00000, "translation type must be either T, S or M"
// *Cause:   The translation type parameter is not a T, S or an M. A value 
//           other than T, S or M was specified.
//
// *Action:  Correct the translation type and reexecute the API call.
//
24272, 00000, "initialization value must be either F or T"
// *Cause:   The initialization value must be either F or T.  A value 
//           other than F or T was specified.
// 
// *Action:  Correct the initialization value and reexecute the API call.
//
24273, 00000, "translation text is required if translation type is T or S"
// *Cause:   If a translation type of T or S is specified, translation text
//           must be supplied.
//
// *Action:  Provide translation text and reexecute the API call.
//
24274, 00000, "no row exists in the %s table for these parameters"
// *Cause:   A call was made to update a row that does not exist or 
//           a foreign key value supplied to create a table does
//           not exist.
//
// *Action:  Create the row using the appropriate API or check 
//           the parameters used to create the new row to ensure that
//           all specified values exist.
//
24275, 00000, "function '%s' parameter '%s' missing or invalid"
// *Cause:   The function <pkgname.funcname> was called with a parameter
//           <parmname> that was null, 0 length, or had an invalid value.
// *Action:  Correct the parameter to supply values that comply with
//           its datatype and limits as specified in the documentation.
//
24276, 00000, "function '%s' output '%s' maximum value exceeded"
// *Cause:   The function <pkgname.funcname> computed a value for the
//           output <parmname> that exceeded the maximum allowed.
//           This can occur when multiple input parameters, each valid
//           separately, combine to specify an invalid result.
//           For example, when a length parameter multiplied by a copies
//           parameter yields a total length exceeding the maximum for
//           the output datatype.
// *Action:  Correct the input values to produce a result that will
//           comply with the limits as specified in the documentation.
24277, 00000, "invalid database link %s "  
// *Cause:   The database link did not exist.
// *Action:  Make sure the database link name is correct. 
24278, 00000, "remote table %s not found "
// *Cause:   The table did not exist in the remote database.
// *Action:  Make sure the remote table name is correct.
24279, 00000, "view %s is not a parallel access view"
// *Cause:   The view was not created by CREATE_OR_REPLACE_VIEW API.
// *Action:  Provide the correct view name that was created by CREATE_OR_REPLACE_VIEW API.
/


/
/
/ 24280 -24290 Reserved for DBMS_LOB (FILE) package
/
/
24280, 00000, "invalid input value for parameter %s"
// *Cause: The parameter has been provided a negative, out of range, or
//         NULL input value.
// *Action: Correct the input value such that it is valid, and is within
//          the range as specified in the documentation.
/
24281, 00000, "invalid access past the maximum size of LOB parameter %s"
// *Cause: The value of positional or size parameters exceeds the maximum
//         allowed LOB size of 4 Gigabytes.
// *Action: Correct the input values for amount and offset such that their
//          sum is less than or equal to 4 Gigabytes. If error occurs in
//          a read or write loop, check the looping conditions and/or offset
//          increments.
/
/ 24291 - 24299 Reserved for Sorted Hash Clusters
/
24291, 00000, "Sort Hash Cluster error %s"
// *Cause: 
// *Action:
/
24292, 00000, "no more tables permitted in this sorted hash cluster"
// *Cause: A sorted hash cluster only supports a maximum of 2 tables
// *Action:
/
24295, 00000, "max key length (%s) for sorted hash cluster exceeded"
// *Cause: Sorted hash clusters have a maximum key size
// *Action:
/
24296, 00000, "error in processing the XML configuration file %s"
// *Cause: Parameters or their values were specified incorrectly in the
//         configuration file.
// *Action: Check and correct the configuration parameters or their values.
/
/ 24300 - 24999 Reserved for OCI/UPI/TTC/OPI/RPI/PSDs etc
/
/ 24500 - 24549 Reserved for OCI codepoint length semantics and UTF16
/ 24550 - 24574 Reserved for OCI et al Diagnosability 
/ 24750 - 24800 Reserved for Transaction OCI
/ 24800 - 24849 Reserved for OCI Lob/File related Calls
/ 24850 - 24874 Reserved for Shared OCI
/ 24900 - 24939 Reserved for OCI Notification
/ 24940 - 24949 Reserved for Generic Notification
/ 24950 - 24959 Reserved for PL/SQL Notification
/
24300, 00000, "bad value for mode"
// *Cause: An undefined mode value was specified.
// *Action: Check that the correct mode is selected and that an allowed
//          value for that mode is specified.
/
24301, 00000, "null host specified in thread-safe logon"
// *Cause: An HDA was not specified in the logon call while running in a
//         thread safe environment.
// *Action:  Make sure that HDA is not NULL when calling the logon routine.
/
24302, 00000, "host connection in use by another thread"
// *Cause: An attempt was made to use the host connection while it was in use
//         by another thread.
// *Action:  Wait for another thread to finish before using this connection.
/
24303, 00000, "call not supported in non-deferred linkage"
// *Cause: One of the calls that is supported in deferred mode
//         linkage exclusively was invoked when the client was linked
//         non-deferred.
// *Action: Use this call in deferred mode of linkage.
/
24304, 00000, "datatype not allowed for this call"
// *Cause:  Data of this datatype cannot be sent or fetched in pieces.
// *Action: Use other bind or define calls for this datatype.
/
24305, 00000, "bad bind or define context"
// *Cause:  The call was executed on a cursor for which this is invalid.
// *Action: Verify that this call is valid for this cursor. For example, Get
//          piece information and set piece information are valid on a cursor
//          if appropriate binds and defines have been done on this cursor.
/
24306, 00000, "bad buffer for piece"
// *Cause:  A zero length buffer or a null buffer pointer was provided.
// *Action: Verify that the buffer pointing to this piece or its length is
//          non-zero. The buffer pointer for the next piece or its length
//          can be zero if it is the last piece to be inserted and there are
//          no more data for the column.
/
24307, 00000, "invalid length for piece"
// *Cause:  The length of the piece exceeded the maximum possible size.
// *Action: Verify that the length of this piece and the cumulative length of
//          all the previous pieces is not more than the desired value supplied
//          by the application.
/
24308, 00000, "illegal define position"
// *Cause:  Call to modify attributes was done for a non-existent position
// *Action: Verify that a define has been done for this position
/
24309, 00000, "already connected to a server"
// *Cause:  This server handle is already attached to a server.
// *Action: Disconnect from the server and then retry the call to establish a
//          connection.
/
24310, 00000, "length specified for null connect string"
// *Cause:  The connect string is null, but a length was specified for it.
// *Action: Set length to zero if connect string is null.
/
24311, 00000, "memory initialization failed"
// *Cause:  Cannot initialize user memory.
// *Action: Contact customer support.
/
24312, 00000, "illegal parameters specified for allocating user memory"
// *Cause:  An illegal size or null pointer was specified for user memory.
// *Action: Specify a legal size and a valid pointer for user memory.
/
24313, 00000, "user already authenticated"
// *Cause:  A user has already been authenticated on this service handle.
// *Action: Terminate the service context before using it for another user.
/
24314, 00000, "service handle not initialized"
// *Cause:  The server context does not done exist.
// *Action: Establish the server context in the service context.
/
24315, 00000, "illegal attribute type"
// *Cause:  An illegal attribute type was specified for the handle.
// *Action: Consult user manual to specify an attribute valid for this handle.
/
24316, 00000, "illegal handle type"
// *Cause:  An illegal handle type was specified.
// *Action: Consult user manual to specify a valid handle type.
/
24317, 00000, "define handle used in a different position"
// *Cause:  A define was done with an existing handle on a different position.
// *Action: Specify the same position as before on a re-define.
/
24318, 00000, "call not allowed for scalar data types"
// *Cause:  This call is valid only for object types.
// *Action: Verify that the data-type for this variable is an object type
/
24319, 00000, "unable to allocate memory"
// *Cause:  Process was unable to allocate memory to store diagnostics.
// *Action: Terminate other processes in order to reclaim needed memory.
24320, 00000, "unable to initialize a mutex"
// *Cause:  An attempt to initialize a mutex failed.
// *Action: Contact customer support.
24321, 00000, "inconsistent parameters passed"
// *Cause:  One of the three memory function pointers is null or non-null.
// *Action: Verify that either all the memory functions are null or non-null.
24322, 00000, "unable to delete an initialized mutex"
// *Cause:  An attempt to delete an initialized mutex failed.
// *Action: Contact customer support.
24323, 00000, "value not allowed"
// *Cause:  A null value or a bogus value was passed in for a mandatory
//          parameter.
// *Action: Verify that all mandatory parameters are properly initialized.
24324, 00000, "service handle not initialized"
// *Cause:  An attempt was made to use an improper service context handle.
// *Action: Verify that the service context handle has all the parameters
//          initialized prior to this call.
24325, 00000, "this OCI operation is not currently allowed"
// *Cause:  An attempt was made to use a context handle outside its scope.
// *Action: Verify that the context handle is set to a service context handle
//          that has been converted to a logon data area for other OCI calls.
//          The logon data area must be converted back to a service context
//          before it can be used.
24326, 00000, "handle passed in is already initialized"
// *Cause:  An attempt was made to pass an initialized handle.
// *Action: Verify that the parameter passed in to retrieve a handle does
//          not already point to a handle.
24327, 00000, "need explicit attach before authenticating a user"
// *Cause:  A server context must be initialized before creating a session.
// *Action: Create and initialize a server handle.
24328, 00000, "illegal attribute value"
// *Cause:  The attribute value passed in is illegal.
// *Action: Consult the users manual and specify a legal attribute value
//          for the handle.
24329, 00000, "invalid character set identifier"
// *Cause:  The character set identifier specifed is invalid
// *Action: Specify a valid character set identifier in the OCI call.
/
24330, 00000, "internal OCI error"
// *Cause:  An internal OCI error has occurred.
// *Action: Please contact Oracle customer support.
24331, 00000, "user buffer too small"
// *Cause:  The user buffer to contain the output data is too small.
// *Action: Specify a bigger buffer.
24332, 00000, "invalid object type"
// *Cause:  An invalid object type is requested for the describe call.
// *Action: Specify a valid object type to the describe call.
/
24333, 00000, "zero iteration count"
// *Cause:  An iteration count of zero was specified for the statement
// *Action: Specify the number of times this statement must be executed
/
24334, 00000, "no descriptor for this position"
// *Cause:  The application is trying to get a descriptor from a handle
//          for an illegal position.
// *Action: Check the position number.
/
24335, 00000, "cannot support more than 1000 columns"
// *Cause:  The number of columns exceeds the maximum number supported.
// *Action:
/
24336, 00000, "invalid result set descriptor"
// *Cause:  The result set descriptor should have valid data fetched into
//          it before it can be converted to a statement handle
// *Action: Fetch valid data into the descriptor before attempting to
//          convert it into a statement handle
/
24337, 00000, "statement handle not prepared"
// *Cause:  A statement cannot be executed before making preparing a request.
// *Action: Prepare a statement before attempting to execute it.
/
24338, 00000, "statement handle not executed"
// *Cause:  A fetch or describe was attempted before executing a
//          statement handle.
// *Action: Execute a statement and then fetch or describe the data.
/
24339, 00000, "cannot set server group name after connecting to server"
// *Cause:  An attempt was made to set the server group in a server handle
//          after connecting to the server.  However, once the connection
//          is established to a server, the server group name cannot be
//          set anymore.
// *Action: Attach to the server after setting the server group name in
//          the server handle.
/
24340, 00000, "cannot support more than 255 columns"
// *Cause:  The number of columns exceeds maximum supported by the server.
// *Action: Limit your operation to 255 columns.
/
24341, 00000, "bad mode specified"
// *Cause:  OCI_ENV_NO_MUTEX mode was specified for a non-threaded client.
// *Action: OCI_ENV_NO_MUTEX may be specified when OCI_THREADED had been
//          specified at process initialization.
/
24342, 00000, "unable to destroy a mutex"
// *Cause:  An attempt to destroy a mutex failed.
/
24343, 00000, "user defined callback error"
// *Cause:  The only valid return value for a user defined callback
//          function is OCI_CONTINUE or OCI_ROWCBK_DONE. Any other value
//          will cause this error.
// *Action: Please insure that OCI_CONTINUE or OCI_ROWCBK_DONE is returned
//          from the user defined callback function.
24344, 00000, "success with compilation error"
// *Cause:  A sql/plsql compilation error occurred.
// *Action: Return OCI_SUCCESS_WITH_INFO along with the error code
//
24345, 00000, "A Truncation or null fetch error occurred"
// *Cause:  A truncation or a null fetch error"
// *Action: Please ensure that the buffer size is long enough to
//          store the returned data.
24346, 00000, "cannot execute without binding variables"
// *Cause:  None of the bind variables in the SQL statement are bound.
// *Action: Please bind all the variables before the execute is done.
//
24347, 00000, "Warning of a NULL column in an aggregate function"
// *Cause: A null column was processed by an aggregate function
// *Action: An OCI_SUCCESS_WITH_INFO is returned.
//
24348, 00000, "Update or Delete without Where"
// *Cause: An update or delete was executed without where clause
// *Action: An OCI_SUCCESS_WITH_INFO is returned.
//
24349, 00000, "Array DML row counts not available"
// *Cause:  One of the following occurred:
//          -The attribute in OCIAttrGet was used incorrectly.
//          -The version of the database used does not support this feature
//          -There was an error in the array DML for all of the 
//           iterations.
// *Action: Ensure that the statement is an array DML and also ensure
//          that the database version is Oracle 12 or higher and the correct
//          mode is used.
/
24350, 00000, "OCI call not allowed"
// *Cause:  OCI used is not permitted from external procedures.
// *Action: Refer to user manual for usage restrictions.
/
24351, 00000, "invalid date passed into OCI call"
// *Cause:  A bad date was passed into one of the OCI calls.
// *Action: Check your date bind values and correct them.
/
24352, 00000, "invalid COBOL display type passed into OCI call"
// *Cause:  A bad COBOL display type was passed into one of the OCI calls.
// *Action: Check your COBOL display type  bind values and correct them.
/
24353, 00000, "user buffer too small to accommodate COBOL display type"
// *Cause:  User supplied buffer for a COBOL display type was too small
//          to accommodate fetched number.
// *Action: Increase the allocation for COBOL display type buffer.
/
24354, 00000, "number fetched too large to fit in COBOL display type buffer."
// *Cause:  The number fetched was beyond the range that can be displayed.
// *Action: Please check the number in the database.
/
24355, 00000, "attempt to store a negative number in an Unsigned Display type."
// *Cause:  An attempt was made to convert a negative number into an unsigned
//          display type.
// *Action: Please check the number in the database or change the defined
//          datatype.
/
24356, 00000, "internal error while converting from to COBOL display type."
// *Cause:  An internal error was encountered during conversion to
//          COBOL display type.
// *Action: Contact customer support.
/
24357, 00000, "internal error while converting from to OCIDate."
// *Cause:  An internal error was encountered during conversion to
//          OCIDate type.
// *Action: Contact customer support.
/
24358, 00000, "OCIBindObject not invoked for a Object type or Reference"
// *Cause:  OCIBindObject was not invoked resulting in an incomplete
//          bind specification for a Object Type or Reference.
// *Action: Please invoke the OCIBindObject call for all Object Types and
//          References.
/
24359, 00000, "OCIDefineObject not invoked for a Object type or Reference"
// *Cause:  OCIDefineObject was not invoked resulting in an incomplete
//          bind specification for a Object Type or Reference.
// *Action: Please invoke the OCIDefineObject call for all Object Types and
//          References.
/
24360, 00000, "Type Descriptor Object not specified for Object Bind/Define"
// *Cause:  Type Descriptor Object is a mandatory parameter for Object Types
//          Binds and Defines.
// *Action: Please invoke the OCIBindObject() or OCIDefineObject() call
//          with a valid Type Descriptor Object.
/
24361, 00000, "basic bind call not invoked before invoking advanced bind call"
// *Cause:  One of the basic bind calls was not invoked on this bind handle
//          before performing an advanced bind call.
// *Action: Please invoke the advanced bind call on this bind handle only
//          after performing a basic bind call.
/
24362, 00000, "improper use of the character count flag"
// *Cause:  When the character count flag is set, then the maximum size of
//          the buffer in the server should be specified as a non-zero value.
// *Action: Please use a non-zero value for the mamimum size of the buffer
//          in the server.
/
24363, 00000, "measurements in characters illegal here"
// *Cause:  Measurements in characters instead of bytes are illegal if
//          either the server's or client's character set is varying width.
// *Action: If either the client's or server's character set is varying
//          width then do not use the OCI_ATTR_CHAR_COUNT attribute for the
//          bind handle. Use OCI_ATTR_MAXDATA_SIZE instead.
/
24364, 00000, "internal error while padding blanks"
// *Cause:  An internal error has occurred while attempting to blank pad
//          string data. This error should not occur normally.
// *Action: Contact customer support.
/
24365, 00000, "error in character conversion"
// *Cause:  This usually occurs during conversion of a multibyte
//          character data when the source data is abnormally terminated
//          in the middle of a multibyte character.
// *Action: Make sure that all multibyte character data is properly terminated.
/
24366, 00000, "migratable user handle is set in service handle"
// *Cause:  This occurs during user authentication, a migratable user handle
//          has been set in the service handle.
// *Action: Service handle must not be set with migratable user handle when it
//          is used to authenticate another user.
/
24367, 00000, "user handle has not been set in service handle"
// *Cause:  This occurs during authentication of a migratable user.
//          the service handle has not been set with non-migratable user handle.
// *Action: Service handle must be set with non-migratable user handle when it
//          is used to authenticate a migratable user.
/
24368, 00000, "OCI mutex counter non-zero when freeing a handle"
// *Cause:  This is an internal OCI error.
// *Action: Contact customer support.
/
24369, 00000, "required callbacks not registered for one or more  bind handles"
// *Cause:  No callbacks have been registered for one or more of the bind
//          handles which are part of the RETURNING clause.
// *Action: The bind handles which are to receive data in a DML statememt
//          with a RETURNING clause must have their mode set as DATA_AT_EXEC
//          and callback functions must be registered for these bind handles
//          using OCIBindDynamic.
/
24370, 00000, "illegal piecewise operation attempted"
// *Cause:  Data of a certain datatype that does not support piecewise
//          operation is being sent or fetched in pieces.
// *Action: Always set the piece value to OCI_ONE_PIECE for datatypes that
//          does not support piecewise operation.
/
24371, 00000, "data would not fit in current prefetch buffer"
// *Cause:  An internal OCI error has occurred.
// *Action: Please contact Oracle customer support.
/
24372, 00000, "invalid object for describe"
// *Cause:  The object to be described is not valid.
//          It either has compilation or authorization errors.
// *Action: The object to be described must be valid.
/
24373, 00000, "invalid length specified for statement"
// *Cause:  The length specified for the statement is either 0 or too large.
// *Action: Specify a valid length for the statement.
/
24374, 00000, "define not done before fetch or execute and fetch"
// *Cause:  The application did not define output variables for data being
//          fetched before issuing a fetch call or invoking a fetch by
//          specifying a non-zero row count in an execute call.
// *Action: Issue OCI define calls for the columns to be fetched.
/
24375, 00000, "Cannot use V6 syntax when talking to a V8 server"
// *Cause:  V6 syntax is no longer supported in V8 server.
// *Action: Change syntax to V7 syntax or higher.
/
24376, 00000, "cannot register/get user callback for non-environment handle"
// *Cause:  A user callback registration or get was attempted on a handle which
//          is not an environment handle.
// *Action: Pass the environment handle to register/get user callback.
/
24377, 00000, "invalid OCI function code"
// *Cause:  An invalid function code was used.
// *Action: Use a valid OCI function code.
/
24378, 00000, "user callbacks not allowed for this call"
// *Cause:  An attempt was made to register a user callback for an OCI call for
//          which it not allowed to register user callbacks.
// *Action: Do not register user callback for this OCI call.
/
24379, 00000, "invalid user callback type"
// *Cause:  An invalid type of user callback was specified.
// *Action: Specify a valid user callback type.
/
24380, 00000, "invalid mode specification"
// *Cause:  The mode parameter in an OCI call is invalid
// *Action: Use only valid mode parameter
/
24381, 00000, "error(s) in array DML"
// *Cause:  One or more rows failed in the DML.
// *Action: Refer to the error stack in the error handle.
/
24382, 00000, "statement handled already executed or described"
// *Cause:  The Statement handle was executed or described successfuly before.
// *Action: Perform a OCIStmtPrepare again before OCI_PARSE_ONLY.
24383, 00000, "Overflow segment of an IOT cannot be described"
// *Cause:  The name specified in the OCIDescribeAny call referred to an
//          IOT overflow segment.
// *Action: Use OCIDescribeAny to describe only documented objects.
24384, 00000, "Application context size is not initialized"
// *Cause:  The size of the application context must be initialized before
//          populating each context element.
// *Action: Issue OCIAttrSet with OCI_ATTR_CTX_SIZE to initialize context size
24385, 00000, "Application context size or index is not valid"
// *Cause:  The size or index of the application context must be non-zero and
//          non-negative.
// *Action: Use an appropriate value for the size.
24386, 00000, "statement/server handle is in use when being freed"
// *Cause:  This is an internal OCI error.
// *Action: The user should reset in-use flag in statement handle before
//          freeing the handle.
24387, 00000, "Invalid attach driver"
// *Cause:  Trying to attach using the wrong driver
// *Action: Relink the application in the right mode
24388, 00000, "Unsupported functionality in fast path mode"
// *Cause:  Feature not supported in fast path mode
// *Action: Avoid using the functionality in this mode
24389, 00000, "Invalid scrollable fetch parameters"
// *Cause:  All the requested rows in this fetch could not be received.
// *Action: Check the fetch orientation, scroll offset,
//          OCI_ATTR_CURRENT_POSITION and number of rows in OCIStmtFetch2 call.
//          If required, change some of above parameters and fetch again.
24390, 00000, "Unsupported scrollable cursor operation"
// *Cause:  The scrollable cursor execute or fetch has failed.
// *Action: Check the documentation for supported types, and other restrictions
//          while using scrollable cursors.
24391, 00000, "invalid fetch operation"
// *Cause:  Scrollable cursor operation requested with non-scrollable cursor.
// *Action: Check if the statement was executed in the scrollable mode. Else
//          the only acceptable orientation is OCI_FETCH_NEXT that ignores the
//          scroll offset parameter.
/
/                  Connection Pooling messages
/
24392, 00000, "no connection pool to associate server handle"
// *Cause:  OCIServerAttach called in OCI_POOL mode but no connection pool
//          found to associate the server handle.
// *Action: 1) Verify that OCIConnectionPoolCreate is called before calling
//             OCIServerAttach.
//          2) Verify that the database link specified in OCIServerAttach
//             matches with that of the connection pool database link.
24393, 00000, "invalid mode for creating connection pool"
// *Cause:  Mode specified in OCIConnectionPoolCreate is invalid.
// *Action: Use a valid mode.
24394, 00000, "invalid mode for destroying connection pool"
// *Cause:  Mode specified in OCIConnectionPoolDestroy is invalid.
// *Action: Use a valid mode.
24395, 00000, "cannot reinitialize non-existent pool"
// *Cause:  OCIConnectionPoolCreate was not called in OCI_DEFAULT mode for this
//          pool handle.
// *Action: Create a connection pool prior to reinitializing it.
24396, 00000, "invalid attribute set in server handle"
// *Cause:  Attribute OCI_ATTR_NONBLOCKING_MODE has been set on the server
//          handle and attached in OCI_POOL mode. Connection pooling does
//          not support non blocking mode.
// *Action: Do not set the OCI_ATTR_NONBLOCKING_MODE attribute on the server
//          handle while attaching in OCI_POOL mode.
24397, 00000, "error occured while trying to free connections"
// *Cause:  An internal error occured while trying to free connections.
// *Action: Contact customer support.
24398, 00000, "connection pool already exists"
// *Cause:  A connection pool has already been created for the specified
//          pool handle.
// *Action: 1) Specify a different pool handle to create a new connection pool.
//          2) If you wish to modify the pool parameters, call
//             OCIConnectionPoolCreate in OCI_CPOOL_REINITIALIZE mode.
24399, 00000, "invalid number of connections specified"
// *Cause:  An invalid combination of minimum, maximum and increment number of
//          connections was specified in the OCIConnectionPoolCreate call.
// *Action: Specify a valid combination of parameters.
24400, 00000, "error occured while creating connections in the pool"
// *Cause:  The database link specified in OCIConnectionPoolCreate might be an
//          invalid one.
// *Action: Specify a valid database link.
24401, 00000, "cannot open further connections"
// *Cause:  Sufficient number of connections are not present in the pool to
//          execute the call. No new connections can be opened as the
//          connMax parameter supplied in OCIConnectionPoolCreate has been
//          reached.
// *Action: Call OCIConnectionPoolCreate in OCI_CPOOL_REINITIALIZE mode and
//          increase the value of the connMax parameter.
24402, 00000, "error occured while creating connections in the pool"
// *Cause:  The username and password specified in OCIConnectionPoolCreate
//          might be invalid.
// *Action: Specify a valid username and password.
24403, 00000, "error occured while trying to destroy the connection pool"
// *Cause:  Some connections in the pool were busy when an attempt to destroy
//          the connection pool was made.
// *Action: Ensure no connections from the pool are being used.
24404, 00000, "connection pool does not exist"
// *Cause:  An attempt was made to use the connection pool before creating it.
// *Action: Create the connection pool.
24405, 00000, "error occured while trying to create connections in the pool"
// *Cause:  An internal error occured while creating connections in the pool.
// *Action: Contact customer support.
24406, 00000, "API mode switch is disallowed when a call is in progress."
// *Cause:  A mode switch from OCI8 to OCI7 was attempted in a callback.
// *Action: The user should perform the API mode switch either prior to
//          initiating the top call or after the main call is done.
24407, 00000, "connection pool already exists"
// *Cause:  A connection pool has already been created for the specified
//          pool name.
// *Action: Specify a different pool name to create a new connection pool.
24408, 00000, "could not generate unique server group name"
// *Cause:  An internal error occured while generating unique server group name.
// *Action: Contact customer support.
24409, 00000, "client cannot understand the object"
// *Cause:  The client cannot process all the new features in the object.
// *Action: Upgrade the client so that features like inheritance and SQLJ
//          objects can be used.
24410, 00000, "scrollable cursor max size exceeded"
// *Cause:  Result set size exceeded the max limits.
// *Action: Check the documentation for allowable maximum result set size for
//          scrollable cursors. Re-execute with a smaller expected result set
//          size or make the cursor non-scrollable.
/
/       Session Pooling OCI error messages
/
24411, 00000, "Session pool already exists."
// *Cause:  A session pool has already been created for the specified
//          pool handle.
// *Action: 1) Specify a different pool handle to create a new session pool.
//          2) If you wish to modify the pool parameters, call
//             OCISessionPoolCreate in OCI_SPOOL_REINITIALIZE mode.
24412, 00000, "Cannot reinitialize non-existent pool"
// *Cause:  OCISessionPoolCreate was not called in OCI_DEFAULT mode for this
//          pool handle.
// *Action: Create a session pool prior to reinitializing it.
24413, 00000, "Invalid number of sessions specified"
// *Cause:  An invalid combination of minimum, maximum and increment number
//          of sessions was specified in the OCISessionPoolCreate call.
// *Action: Specify a valid combination of parameters.
24414, 00000, "Only %d sessions could be started."
// *Cause:  The number of sessions specified by the minSess parameter of
//          OCISessionPoolCreate could not be started, possibly because the
//          value supplied was larger than that supported by the server."
// *Action: This is a warning. Check the maximum number of sessions allowed
//          on the server.
24415, 00000, "Missing or null username."
// *Cause:  Username and password must be specified when pool is created in
//          this mode.
// *Action: Specify a valid username and password.
24416, 00000, "Invalid session Poolname was specified."
// *Cause:  An attempt was made to use a Session Pool that does not exist.
// *Action: Create a Session Pool before using it.
24417, 00000, "Session pool size has exceeded the maximum limit"
// *Cause:  The number of sessions has exceeded the maximum size of the
//          Session Pool.
// *Action: This is a warning. You can tune the session pool with
//          appropriate minimum and maximum parameters.
24418, 00000, "Cannot open further sessions."
// *Cause:  Sufficient number of sessions are not present in the pool to
//          execute the call. No new sessions can be opened as the
//          sessMax parameter supplied in OCISessionPoolCreate has been
//          reached.
// *Action: Call OCISessionPoolCreate in OCI_SPOOL_REINITIALIZE mode and
//          increase the value of the sessMax parameter.
24419, 00000, "Proxy sessions are not supported in this mode."
// *Cause:  A proxy session was requested for from a Session Pool which does
//          not support proxy sessions.
// *Action: Do not specify mode OCI_CRED_PROXY.
24420, 00000, "OCISessionRelease must be used to release this session."
// *Cause:  The session was retrieved using OCISessionGet, and an attempt
//          has been made to release it using a call other than
//          OCISessionRelease.
// *Action: Call OCISessionRelease.
24421, 00000, "OCISessionRelease cannot be used to release this session."
// *Cause:  The session was not retrieved using OCISessionGet, and an attempt
//          has been made to release it using OCISessionRelease.
// *Action: Release the session using an appropriate call.
24422, 00000, "error occurred while trying to destroy the Session Pool"
// *Cause:  An attempt was made to destroy the session pool while some
//          sessions in the pool were busy.
// *Action: Ensure that no sessions from the pool are being used OR call
//          OCISessionPoolDestroy with mode set to OCI_SPD_FORCE.
/
/      ROWID define at position 0 - OCI error messages
/
24423, 00000, "Cannot set the ROWID attribute - OCI_ATTR_FETCH_ROWID"
// *Cause:  An attempt was made to set the implicit ROWID attribute. 
// *Action: Use a SELECT ... FOR UPDATE statement that has not previously been
//          described or executed before setting this ROWID attribute.
24424, 00000,"Invalid attempt to define at position 0"
// *Cause:  An invalid attempt was made to call OCIDefineByPos for position 0.
// *Action: Ensure that the implicit ROWID attribute, OCI_ATTR_FETCH_ROWID, is 
//          set on the statement handle before doing the execute.
24425, 00000,"Invalid mode passed when defining at position 0"
// *Cause:  An invalid mode was passed to OCIDefineByPos.
// *Action: Ensure a valid mode is passed to OCIDefineByPos when defining
//          at position 0.
/
/      Error message for tracing OCI Session pool. 
/
24426, 00000, "Event to enable tracing in OCI Session Pool"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to obtain trace information
//          for OCI Session Pool.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
/
/      OCISessionGet in pooled mode with security attrs
24427, 00000, "Invalid attributes on user handle"
// *Cause: Some of the attributes set on the user handle were not allowed in
//         pooled mode. 
// *Action: Unset the attributes on the user handle and call OCISessionGet or
//          use sessions that are not pooled.
24428, 00000, "Sessions with SYSDBA privileges are not supported in this mode."
// *Cause:  A session with SYSDBA privileges was requested from a Session Pool
//          which does not support sessions with SYSDBA privileges.
// *Action: Do not specify mode OCI_SESSGET_SYSDBA.
24429, 00000, "External authentication is not supported in this mode."
// *Cause:  An externally authenticated session was requested from a Session
//          Pool which does not support external authentication.
// *Action: Do not specify mode OCI_SESSGET_CREDEXT.
/
/
/       Statement Caching OCI error messages
/
24430, 00000, "Null values for sqltext and key were specified."
// *Cause:  An attempt was made to call OCIStmtPrepare2 and neither
//          sqltext nor key were specified.
// *Action: Specify valid values for sqltext or key or both.
24431, 00000, "Statement does not exist in the cache"
// *Cause:  The statement that was requested for does not exist in the
//          statement cache.
// *Action: Please request for a valid statement.
24432, 00000, "The statement that was returned is not tagged."
// *Cause:  A tagged statement was requested for, but an untagged statement
//          has been returned.
// *Action: This is a warning. Please modify and tag the statement as
//          desired.
24433, 00000, "This statement has already been prepared using OCIStmtPrepare2."
// *Cause:  A statement that was earlier prepared using OCIStmtPrepare2 is
//          now being reprepared using OCIStmtPrepare."
// *Action: Please use a different statement handle.
24434, 00000, "OCIStmtRelease called before OCIStmtPrepare2."
// *Cause:  An attempt was made to release a statement without first
//          preparing it using OCIStmtPrepare2.
// *Action: Call OCIStmtPrepare2 before OCIStmtRelease.
24435, 00000, "Invalid Service Context specified."
// *Cause:  The statement was prepared using a service context that is
//          different from the one specified in OCIStmtExecute.
// *Action: Please specify the same service context that the statement
//          was prepared with.
24436, 00000, "Invalid statement Handle."
// *Cause:  OCIHandleFree called on a statement that was prepared using
//          OCIstmtPrepare2.
// *Action: Release the statement using OCIStmtRelease.
24437, 00000, "OCIStmtExecute called before OCIStmtPrepare2."
// *Cause:  An attempt was made to execute a statement without first
//          preparing it using OCIStmtPrepare2.
// *Action: Call OCIStmtPrepare2 before OCIStmtExecute.
24438, 00000, "Invalid Authentication Handle specified."
// *Cause:  The statement was prepared using an authentication handle
//          that is different from the one specified in OCIStmtExecute.
/
/
/       Miscellaneous OCI error messages
/
/
24439, 00000, "success with PLSQL compilation warning"
// *Cause:  A plsql compilation warning occurred.
// *Action: Return OCI_SUCCESS_WITH_INFO along with the error code.
24440, 00000, "OCI Easy Install mode cannot be initialized"
// *Cause:  An internal OCI error has occurred.
// *Action: Please contact Oracle customer support.
//
24441, 00000, "Invalid cookie, resend sql text"
// *Cause:  An internal OCI error has occurred.
// *Action: Please contact Oracle customer support.
//
24442, 00000, "SCN exceeds the capability of the target OCI database or client"
// *Cause:  An attempt was made to transfer a system change number (SCN) to
//          an Oracle database or client that is older than Release 12.2 and
//          the SCN exceeds the maximum value that such a system can handle.
// *Action: If needed, update the target database or client to Release 12.2
//          or higher.
//
24444, 00000, "TTC RPC (%s) not allowed by the security policy configured on the database"
// *Cause:  The database security policy configuration did not allow the
//          specified Two-Task Common (TTC) RPC.
// *Action: Do not use functionality that issues the specified TTC RPC which
//          is disallowed by the database security policy.
//
24445, 00000, "object type input parameter in TTC RPC not allowed by the security policy configured on the database"
// *Cause:  The database security policy configuration did not allow object 
//          types as input parameters (including IN bind variables) in 
//          Two-Task Common (TTC) RPCs.
// *Action: Do not use the functionality that relies on object type input 
//          parameter usage in a TTC RPC. 
//
24450, 00000, "Cannot pre-process OCI statement"
// *Cause:  An error occured during statement pre-processing.
//          E.g., SQL statement has invalid usage of N' or Q' literals.
// *Action: Correct the SQL statement.
//
24451, 00000, "%s, Maximum call depth exceeded"
// *Cause:  Your program has too many levels of recursion.
// *Action: Restructure your program to eliminate some levels of recursion.
//
24452, 00000, "value_sz exceeding SB4MAXVAL is not supported"
// *Cause:  value_sz specified in OCIBindByPos2, OCIBindByName2 or
//          OCIDefineByPos2 exceeds SB4MAXVAL and is not supported in this
//          release.
// *Action: Specify a value less than or equal to SB4MAXVAL for value_sz in
//          OCIBindByPos2, OCIBindByName2 or OCIDefineByPos2.
//
/
24453, 0000, "number of application context settings supplied during authentication has exceeded the supported limit of %d settings"
// *Cause: The number of application context settings supplied during
//         authentication exceeded the specified limit.
// *Action: Reduce the number of application context settings that are passed
//          during authentication.
//
/
24454, 0000, "client host name is not set"
// *Cause: The network host name in files like /etc/hosts was not set. 
// *Action: Set the host name and try again.
//
/
/
/       24460 - 24470 Reserved for OCI Native Net
/
24460, 00000, "Native Net Internal Error"
// *Cause: Internal error .
// *Action: This error should not normally occur.  If it persists,
//          please contact your customer service representative.
/
/       24471 - 24479 Reserved for OCI Objects
/
24471, 00000, "KOH tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOH memory events
//          bit 0x1: KOH_TRACE_LEVEL_MEM: trace memory alloc and free
//          bit 0x2: KOH_TRACE_LEVEL_DUR: trace duration start & end
//          bit 0x4: KOH_TRACE_LEVEL_ZEROCACHE: cache max & opt size = 0
//          bit 0x8: KOH_TRACE_LEVEL_KOHIH: trace duration list mgmt
//         bit 0x10: KOH_TRACE_LEVEL_INS: dump memory or instance
/
24472, 00000, "KOC tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOC cache events
//          bit 0x1: KOC_TRACE_EVENT_PIN: trace pin operations
//          bit 0x2: KOC_TRACE_EVENT_DUR: trace duration operations
//          bit 0x4: KOC_TRACE_EVENT_TXN: trace transaction operations
/
24473, 00000, "KOD tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOD data events
//          bit 0x1: KOD_TRACE_EVENT_PIC: trace pickle operations
//          bit 0x2: KOD_TRACE_EVENT_UPIC: trace unpickle operations
//          bit 0x4: KOD_TRACE_EVENT_TYPE: trace pickle/unpickle a type
//   bit 0x00004000: KOD_TRACE_LEVEL_MEDIUM: generate medium amount of tracing
//   bit 0x00008000: KOD_TRACE_LEVEL_HIGH: generate high amount of tracing
/
24474, 00000, "KOL tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOL collection events
//          bit 0x1: KOL_TRACE_EVENT_PIC: trace pickle operations
//          bit 0x2: KOL_TRACE_EVENT_UPIC: trace unpickle operations
//         bit 0x40: KOL_TRACE_LEVEL_MEDIUM: generate medium amount of tracing
//         bit 0x80: KOL_TRACE_LEVEL_HIGH: generate high amount of tracing
/
24475, 00000, "KOKC tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOKC events
//       bit    0x1: KOkc_TRACE_LEVEL_BASIC: basic dumps
//       bit    0x2: KOKC_TRACE_LEVEL_TIME: dump time
//       bit    0x4: KOKC_TRACE_LEVEL_KOKCD: dump kokcd structure
//       bit    0x8: KOKC_TRACE_LEVEL_ASSERT: enforce asserts
//       bit 0x1000: KOKC_TRACE_LEVEL_STACK: dump short stack
//       bit 0x2000: KOKC_TRACE_LEVEL_LSTACK: dump full stack
/
/       Codepoint length semantics and UTF16 related OCI error messages
/
24476, 00000, "KOPF tracing event"
// *Document: NO
// *Cause: N/A
// *Action: Event to trace KOPF operations (FDO)
//          bit 0x1: KOPF_TRACE_EVENT_FDO: dump FDO's in kopfupdate()
/
/       Codepoint length semantics and UTF16 related OCI error messages
/
24480, 00000, "invalid OCI mode"
// *Cause:  An attempt was made to invoke OCI API with an invalid mode.
// *Action: Provide the OCI API with legitimate mode.
24481, 00000, "Failed to initialize multithreaded environment"
// *Cause:  Operating system did not support multithreaded mode.
// *Action: Use single thread mode instead.
24482, 00000, "Pool size was less than 1 in shared mode"
// *Cause:  Pool size must be positive in shared mode.
// *Action: Set a positive pool size.
24483, 00000, "Invalid parameters were passed into environment creation call"
// *Cause:  Invalid parameters were passed into the environment creation call.
// Check the passed in parameters for the following conditions:
// -envp should not be NULL
// -xtramem_sz should not be negative
// -Either both xtramem_sz and usrmempp have to be provided. Or, neither
// should be provided.
// *Action: Pass in legitimate parameters.


24484, 00000, "Setting authentication handle not allowed after pool create"
// *Cause: An attempt was made to set the authentication handle on session pool
//  handle after OCISessionPoolCreate.
// *Action: Set the authentication handle on session pool handle before calling 
//  OCISessionPoolCreate.


24485, 00000, "Invalid attributes in session pool authentication handle"
// *Cause: Some of the attributes set on the authentication handle being set on 
//  the session pool handle are invalid.
// *Action: Unset the illegal attributes on the authentication handle being set
//  on session pool handle and then call OCIAttrSet. Refer to OCI documentation
//  for details.


24486, 00000, "Conflicting attributes in session pool authentication handle" 
// *Cause: Some attributes could not be set both on the authentication handle 
//  passed to OCISessionGet and the authentication handle set on session pool 
//  handle. 
// *Action: Unset the conflicting attributes on the authentication handle and 
//  call OCISessionGet.


24487, 00000, "Invalid properties or values provided for OCISessionGet"
// *Cause: Some of the properties or their values provided during
//  OCISessionGet with mode OCI_SESSGET_MULTIPROPERTY_TAG were invalid.
// *Action: Provide valid properties and values when calling OCISessionGet
//  with mode OCI_SESSGET_MULTIPROPERTY_TAG. Refer to Oracle Call Interface
//  documentation for details.


24488, 00000, "Invalid properties or values provided for OCISessionRelease"
// *Cause: Some of the properties or their values provided during
//  OCISessionRelease with mode OCI_SESSRLS_MULTIPROPERTY_TAG were invalid.
// *Action: Provide valid properties and values when calling OCISessionRelease
//  with mode OCI_SESSRLS_MULTIPROPERTY_TAG. Refer to Oracle Call Interface 
// documentation for details.


24489, 00000, "reserved OCI error"
// *Cause:  A reserved Oracle Call Interface (OCI) error has occurred.
// *Action: Contact Oracle Support Services.
/
24490, 00000, "error while getting shard instances"
// *Cause: There was a mismatch in the shard keys or group keys with the 
//         corresponding connect string.
// *Action: Check if the keys are properly specified along with the 
//          corresponding connection string.
/
24491, 00000, "attempt to get sharding-related topology information failed"
// *Cause: An unexpected error was encountered while building and processing 
//         sharding-related information.
// *Action: Contact Oracle Support Services.
/
24492, 00000, "Shard library initialization failed."
// *Cause: An attempt to initialize the shard library failed.
// *Action: Contact Oracle Support Services.
/
24493, 00000, "general sharding error"
// *Cause: An unexpected error was encountered while processing sharding-related
//         information.
// *Action: Contact Oracle Support Services.
/
24494, 00000, "error in constructing shard key or shard group key"
//*Cause: An invalid column value was passed.
//*Action: Pass in a column value in the appropriate format specified
//         by the data type.
/
24495, 00000, "OCISessionGet() timed out waiting for a suitable writable chunk."
//*Cause: There was no instance available with a writable chunk for the
//        specified shard key at the time the OCISessionGet() request was issued.
//        This may be a transient condition due to chunk migration.
//*Action: Retry the request later. If needed, increase the timeout specified
//         in OCI_ATTR_SPOOL_WAIT_TIMEOUT to minimize or eliminate the 
//         chances of running into this error during chunk migrations. 
/
24496, 00000, "OCISessionGet() timed out waiting for a free connection."
//*Cause: There was no free connection as the pool reached its maximum and all
//        connections were in use at the time the request was issued.
//*Action: Retry the request later. Use OCISessionGet() with  
//         OCI_SPOOL_ATTRVAL_TIMEDWAIT mode (with an appropriate
//         OCI_ATTR_SPOOL_WAIT_TIMEOUT setting) or OCI_SPOOL_ATTRVAL_WAIT mode.
//         If needed, increase the maximum size of the OCI session pool.
/
24497, 0000, "PL/SQL fix up callback name too long"
// *Cause: The PL/SQL fix up callback name was too long.
// *Action: Use a shorter PL/SQL fix up callback name.
/
24500, 00000, "invalid UTF16 mode"
// *Cause:  UTF16 mode is allowed only at environment handle creation time.
// *Action: Remove UTF16 mode for functions other than OCIEnvCreate()
24501, 00000, "invalid UTF16 string passed in"
// *Cause:  Non-UTF16 string is passed in while UTF16 string is expected
// *Action: Check the parameter which is actually a string
24502, 00000, "codepoint length overflows"
// *Cause:  Returned buffer has more codepoints than allowed
// *Action: Set OCI_MAXCHAR_SIZE large enough to accommodate
24503, 00000, "codepoint length overflows for piecewise operation"
// *Cause:  Accumulated codepoint length exceeds allowed codepoint length
// *Action: Set OCI_MAXCHAR_SIZE large enough to accommodate
24504, 00000, "data length larger than expected"
// *Cause:  Incoming data larger than receiving buffer
// *Action: Set OCI_MAXDATA/MAXCHAR_SIZE appropriately or remove the setting
24505, 00000, "cannot change character set id on the handle"
// *Cause:  Attempts to change character set id on non-environment handles
// *Action: Only try to change character set id on environment handles
24506, 00000, "invalid attempt to change character set id on env handle"
// *Cause:  Attempts to change character set id after other handles have been
//          allocated from the env handle
// *Action: Change character set id after creating environment handle
//          but before allocating any handles from it.
24507, 00000, "invalid combination of character set ids"
// *Cause:  Attempts to set one character set id as zero
// *Action: Set both charset and ncharset as zero or non-zero
//          in OCIEnvNlsCreate()
24508, 00000, "Buffer is not aligned correctly."
// *Cause:  Alignment error ocurred in buffer when converting between
//          character sets.
// *Action: Align buffer appropriately. For UTF16 buffer, pass a ub2 pointer. 
24509, 00000, "OCI function currently not supported in UTF16 mode."
// *Cause:  Attempt to call an OCI function that was not supported in 
//          OCI_UTF16ID mode.
// *Action: Remove the offending function or do not create an OCI environment 
//          with OCI_UTF16ID mode or OCI_UTF16ID character set ID.
/
/       Column authorization Related OCI error messages (24530 - 24540)
/
24530, 00000, "User not authorized to access column value."
// *Cause:  Column security is enabled and column value is not authorized.
// *Action: The program needs to handle this error and take appropriate action.
24531, 00000, "Column value authorization is unknown."
// *Cause:  Column security is unknown for the column.
// *Action: Verify the fetched data. It may or may not contain a meaningful
//          value because it is probably the result of an expression that
//          operated on unauthorized values.
24536, 00000, "Warning - column authorization unknown."
// *Cause:  Column security is unknown for one or more columns.
// *Action: Verify the fetched data. It may or may not contain a meaningful
//          value because it is probably the result of an expression that
//          operated on unauthorized values.
24541, 00000, "Event to test OCI attribute-level security."
// *Document: NO
// *Cause: N/A
// *Action: Set this event to get different security status for  
//          fetched columns.
//
24542, 00000, "PRELIM mode logon not allowed to a pluggable database"
// *Cause: PRELIM mode logon was attempted to a pluggable database.
// *Action: Create PRELIM mode connections to CDB$ROOT only.
//
24543, 00000, "instance startup or shutdown not allowed in pluggable database"
// *Cause: An instance startup or shutdown operation was attempted when
//         connected to a pluggable database.
// *Action: Perform instance startup or shutdown operations by connecting to
//          CDB$ROOT.
24544, 00000, "Oracle RAC One Node instance is already running."
// *Cause:  An instance startup failed because an instance of the Oracle RAC
//          One Node database was already running on one of the cluster nodes.
// *Action: In Oracle RAC One Node, avoid any attempt to start a second
//          instance by any means while the instance is already running.
/
/       Diagnosability Related OCI error messages (24550 - 24574)
/
24550, 00000, "unhandled signal #%ld received. %s"
// *Cause:   Serious error: signal received
// *Action:  Refer to the platform-specific signal code, and see if the
//           application code caused the error. Otherwise, record
//           all error state and notify Oracle Support Services.
24551, 00000, "internal error %s"
// *Document: NO 
// *Cause:   There is not enough memory on the system or the application
//           was leaking memory.
// *Action:  Restart application. If error persists, record
//           all error state and notify Oracle Support Services.
24552, 00000, "%s parameter exceeds limit of %d"
// *Document: NO 
// *Cause:   Number of parameters specified in OCI trace event have exceeded
//           the limit.
// *Action: Record all error state and notify Oracle Support Services.
24553, 00000, "internal error parsing OCI trace event string(%s)"
// *Document: NO 
// *Cause: internal use only
24554, 00000, "trace directory exceeds %d bytes(%.*s)."
// *Document: NO 
// *Cause: internal use only
24555, 00000, "trace file %s cannot be opened in %s directory"
// *Document: NO 
// *Cause: internal use only
24556, 00000, "invalid OCI trace event string(%s)"
// *Document: NO 
// *Cause: internal use only
24557, 00000, "error %s encountered while handling error %s; exiting server process"
// *Cause:    A second-level error occurred in an Oracle server process that
//            required that process to exit.
// *Action:   None. If an excessive number of incidents are dumped, contact
//            Oracle Support Services.
/
/       OCI Driver for MySQL error messages (24600 - 24699)
/
24600, 00000, "could not create OCI environment"
// *Cause:   The Oracle Client library used to communicate with the database
//           failed to initialize correctly.
// *Action:  Check that the Oracle environment or registry entries are
//           consistent and correct.  If using the Oracle Instant Client,
//           make sure the Oracle driver for MySQL and Oracle libraries
//           are from the same release. Make sure you have read access to
//           the libraries.
24601, 00000, "bind buffer not allocated by caller"
// *Cause:   A valid buffer was not provided for the bind call.
// *Action:  Provide a non-NULL pointer for the bind call and a valid
//           length for the buffer.
24602, 00000, "attempting to read with no fetch"
// *Cause:    A column was being fetched while not in fetch state.
// *Action:   Fetch the column after fetching of the result set has started.
/
/       Transaction Related OCI error messages (24750 - 24799)
/
24750, 00000, "incorrect size of attribute"
// *Cause:   Transaction ID attribute size is incorrect.
// *Action:  Verify that the size parameter is correct.
24752, 00000, "OCI_TRANS_NEW flag must be specified for local transactions"
// *Cause:   Application attempted to start a local transaction without using
//           OCI_TRANS_NEW.
// *Action:  Use OCI_TRANS_NEW when starting local transactions.
24753, 00000, "local transactions cannot be detached"
// *Cause:   An attempt to detach a local transaction was made.
// *Action:  Local transactions may only be committed or rolled back.
24754, 00000, "cannot start new transaction with an active transaction"
// *Cause:   An attempt to start a new transaction was made when there was an
//           active transaction.
// *Action:  Commit, rollback or detach the existing transaction before
//           starting a new transaction.
24755, 00000, "OCI_TRANS_NOMIGRATE, OCI_TRANS_JOIN options are not supported"
// *Cause:   These flags are currently not supported.
// *Action:
24756, 00000, "transaction does not exist"
// *Cause:   An invalid transaction identifier or context was used or the
//           transaction has completed.
// *Action:  Supply a valid identifier if the transaction has not completed
//           and retry the call.
24757, 00000, "duplicate transaction identifier"
// *Cause:  An attempt was made to start a new transaction with an identifier
//          already in use by an existing transaction.
// *Action: Verify that the identifier is not in use.
24758, 00000, "not attached to the requested transaction"
// *Cause:  An attempt was made to detach or complete a transaction that is
//          not the current transaction.
// *Action: Verify that the transaction context refers to the current
//          transaction.
24759, 00000, "invalid transaction start flags"
// *Cause:  An invalid transaction start flag was passed.
// *Action: Verify that only one of the following values is specified:
//          OCI_TRANS_NEW, OCI_TRANS_JOIN, OCI_TRANS_RESUME, or OCI_TRANS_PROMOTE. 
24760, 00000, "invalid isolation level flags"
// *Cause:  An invalid isolation level flag was passed.
// *Action: Verify that only one of following values - OCI_TRANS_READONLY,
//          OCI_TRANS_READWRITE, OCI_TRANS_SERIALIZABLE is used.
24761, 00000, "transaction rolled back"
// *Cause:
// *Action:
24762, 00000, "server failed due to unspecified error"
// *Cause:  An internal error has occured in the server commit protocol.
// *Action: Contact customer support.
24763, 00000, "transaction operation cannot be completed now"
// *Cause:  The commit or rollback cannot be performed now because the
//          session cannot switch to the specified transaction.
// *Action: Retry the operation later.
24764, 00000, "transaction branch has been heuristically committed"
// *Cause:
// *Action:
24765, 00000, "transaction branch has been heuristically rolled back"
// *Cause:
// *Action:
24766, 00000, "transaction branch has been partly committed and aborted"
// *Cause:
// *Action:
24767, 00000, "transaction branch prepare returns read-only"
// *Cause:  The transaction is read-only, or this is the outcome of an
//          optimization for two-phase commit protocol.
// *Action: None.  Informational only.
24768, 00000, "commit protocol error occured in the server"
// *Cause:
// *Action: Contact customer support
24769, 00000, "cannot forget an active transaction"
// *Cause:  Transaction identifier refers to an active transaction.
// *Action: Verify that the identifier of an active transaction was not
//          passed as an argument.
24770, 00000, "cannot forget a prepared transaction"
// *Cause:  Transaction identifier refers to a prepared transaction.
// *Action: Verify that the identifier of a prepared transaction was not
//          passed as an argument.
24771, 00000, "cannot detach, prepare or forget a local transaction"
// *Cause:  Service handle contains a local transaction context.
// *Action: Verify that the transaction context does not refer to a local
//          transaction.
24772, 00000, "Cannot mix tightly-coupled and loosely-coupled branches"
// *Cause:  Application attempted to start a transaction with a global
//          transaction identifier and a wrong option.
// *Action: Verify that all branches of a global transaction are started with
//          either OCI_TRANS_TIGHT or OCI_TRANS_LOOSE option. If the
//          application is correct and uses distributed updates,
//          contact customer support.
24773, 00000, "invalid transaction type flags"
// *Cause:  OCI_TRANS_TIGHT or OCI_TRANS_LOOSE mode was not specified.
// *Action: Verify that the right parameters are being used.
24774, 00000, "cannot switch to specified transaction"
// *Cause:  The transaction specified in the call refers to a transaction
//          created by a different user.
// *Action: Create transactions with the same authentication so that they
//          can be switched.
24775, 00000, "cannot prepare or commit transaction with non-zero lock value"
// *Cause:  An attempt was made to detach the transaction with a non-zero lock
//          value.
// *Action: Detach the transaction with lock value set to zero and then try to
//          prepare or commit the transaction.
24776, 00000, "cannot start a new transaction"
// *Cause:  An attempt was made to start a new transaction when session was
//          already attached to an existing transaction.
// *Action: End the current transaction before creating a new transaction.
24777, 00000, "use of non-migratable database link not allowed"
// *Cause:  The transaction, which needs to be migratable between sessions,
//          tried to access a remote database from a non-multi threaded
//          server process.
// *Action: Perform the work in the local database or open a connection to
//          the remote database from the client. If multi threaded server
//          option is installed, connect to the Oracle instance through the
//          dispatcher.
24778, 00000, "cannot open connections"
// *Cause:  The migratable transaction tried to access a remote database when
//          the session itself had opened connections to remote database(s).
// *Action: Close the connection(s) in the session and then try to access the
//          remote database from the migratable transaction. If the error
//          still occurs, contact Oracle customer support.
24779, 00000, "detach not allowed with open remote cursor"
// *Cause:  The migratable transaction tried to detach from the current
//          session while having an open remote cursor.
// *Action: Close any open remote cursor prior to detach.
24780, 00000, "cannot recover a transaction while in an existing transaction"
// *Cause:  An attempt was made to commit or roll back a transaction
//          while in a different transaction, and the transaction for
//          which the action is requested is in a recovery state
//          (this happens if it is idle too long).
// *Action: Detach from the current transaction and retry the operation.
24781, 00000, "branches don't belong to the same global transaction"
// *Cause:  The list of xids passed into kpotxmp() don't have the same gtrid
// *Action:
24782, 00000, "Cannot detach from a non-migratable transaction"
// *Cause:  An attempt was made to detach from a non-migrateable transaction.
// *Action: Either commit or rollback the transaction.
24783, 00000, "Cannot switch non-migratable transactions"
// *Cause:  An attempt was made to prepare/commit a txn different from current.
// *Action:
24784, 00000, "Transaction exists"
// *Cause:  An attempt was made to start a transaction, while attached
//          to a non-migrateable transaction
// *Action:
24785, 00000, "Cannot resume a non-migratable transaction"
// *Cause:  An attempt was made to resume a non-migrateable transaction.
// *Action:
24786, 00000, "separated transaction has been completed"
// *Cause:  The current transaction has been completed by another process.
// *Action: Start a new transaction
24787, 00000, "remote cursors must be closed before a call completes"
// *Cause:  The previous operation did not close all the remote cursors it
//          opened. Since separated transactions are enabled, this is not
//          allowed.
// *Action: Close all remote cursors in each call, or start a regular
//          (non-separated) transaction.
24788, 00000, "cannot switch to specified transaction (server type)"
// *Cause:  The transaction specified was created by a shared server and
//          the requestor is a dedicated server, or the transaction was
//          created by a dedicated server and the requestor is a shared
//          server.
// *Action: All parts of this application should connect as dedicated
//          or as shared.
24789, 00000, "start not allowed in recursive call"
// *Cause:  Oracle RM will not start/resume a branch in a recursive call
// *Action: Reconsider your application stack design
24790, 00000, "cannot mix OCI_TRANS_RESUME and transaction isolation flags"
// *Cause:  An attempt was made to change the isolation level of an
//          existing transaction.
// *Action: No action required
24791, 00000, "invalid transaction start flags"
// *Cause:  An invalid transaction start flag was passed.
// *Action: Verify that OCI_TRANS_LOOSE was not passed along with 
//          OCI_TRANS_JOIN, OCI_TRANS_RESUME. Also, verify that other flags
//          (such as OCI_TRANS_SEPARABLE) passed by the client are supported
//          by the version of the Oracle server.
24792, 00000, "cannot mix services in a single global transaction"
// *Cause:  Oracle RM will not serve global (distributed) transaction
//          requests if branches are created using different services
// *Action: Configure clients such that those participating in the same
//          distributed transaction use the same service name.
24793, 00000, "DTP(Distriubted Transaction Processing) test and debug"
// *Document: NO 
// *Cause: internal use only
// *Action: none.
24794, 00000, "no active DTP service found"
// *Cause:  Oracle RM will not serve global (distributed) transaction
//          requests until DTP services are configured in RAC. It is
//          possible that a service was stopped while transactions were
//          in-flight.
// *Action: Provision/Start DTP services first.
24795, 00000, "Illegal %s attempt made"
// *Cause:  An illegal attempt was made to commit/rollback current transaction
// *Action: Use appropriate commit/rollback mechanism
24796, 00000, "operation completed; resume of original transaction rolled back"
// *Cause:  The commit, rollback, or prepare completed successfully, but
//          the current transaction for this thread was rolled back.
// *Action: If desired, retry the current transaction. If the operation 
//          was prepare, then end transaction appropriately with a commit 
//          or rollback operation. 
24797, 00000, "cannot promote the current transaction to a distributed transaction"
// *Cause:  An illegal attempt was made to promote the current transaction.
// *Action: Verify that OCI_ATTR_XID, OCI_ATTR_INTERNAL_NAME, and OCI_ATTR_EXTERNAL_NAME
//          attributes have been set properly, and verify that the current
//          transaction has neither performed IDL or PDML operations, nor already
//          been a distributed transaction. Also, verify that the local transaction
//          is in the same isolation level if the isolation flag value is set.
24798, 00000, "cannot resume the distributed transaction branch on another instance"
// *Cause:  An attempt was made to resume a distributed transaction branch that is
//          physically located on another RAC instance.
// *Action: Get a connection to the instance where the transaction branch is located.
/
/
/
/       OCI Lob/File Related Error message (24800 - 24849)
/
24801, 00000, "illegal parameter value in OCI lob function"
// *Cause:  One of the parameter values in the OCI lob function is illegal.
// *Action: Check every parameter in the OCI Lob function call to make sure
//          they are correct.  Offsets should be greater than or equal to one.
24802, 00000, "user defined lob read callback error"
// *Cause:  The only valid return value for a user defined lob read callback
//          function is OCI_CONTINUE.  Any other value will cause this error.
// *Action: Verify that OCI_CONTINUE is returned from the user defined
//          lob read callback function.
24803, 00000, "illegal parameter value in lob read function"
// *Cause: Internal error .
// *Action: This error should not normally occur.  If it persists,
//          please contact your customer service representative.
24804, 00000, "Lob read/write functions called while another OCI LOB read/write streaming is in progress"
// *Cause: Internal error.
// *Action: Wait for the ongoing LOB streaming call to finish before
//          issuing the next server call, or use OCIBreak() abort the
//          current LOB streaming call.
24805, 00000, "LOB type mismatch"
// *Cause: When copying or appending LOB locators, both source and
//         desctination LOB locators should be of the same type.
// *Action: Pass the same type of LOB locators for copying or appending.
24806, 00000, "LOB form mismatch"
// *Cause: When reading from or writing into LOBs, the character set
//         form of the user buffer should be same as that of the LOB.
// *Action: Make sure that the buffer you are using to read or write
//          has the same form as that of the LOB.
24807, 00000, "LOB form mismatch"
// *Cause: When copying or appending LOBs, both source and
//         desctination LOB locators should have the same character
//         set form.
// *Action: Pass locators of the same character set form for copying
//          or appending LOBs.
/
24808, 00000, "streaming of lob data is not allowed when using lob buffering"
// *Cause: Attempted to stream lob data via the polling mode or a callback
//         when lob buffering was enabled for the input lob locator.
// *Action: Lob buffering is useful when reading/writing small amounts of
//          lob data so streaming should not be necessary.  Rewrite the
//          OCILobRead/OCILobWrite call so that it does not use streaming.
//          If streaming of data is required, lob buffering should not be
//          used.  In this case, flush buffers associated with the input
//          lob locator as necessary, disable buffering on the input lob
//          locator and reissue the OCILobRead/OCILobWrite call.
/
24809, 00000, "amount specified will not fit in the lob buffers"
// *Cause: LOB buffering is enabled for the input lob locator so buffering
//         will be used.  However, the amount of lob data to read or write
//         is larger than what the lob buffers can hold.
// *Action: Either disable buffering on the input lob locator and reissue
//          the command or pass a smaller amount.
/
24810, 00000, "attempting to write more data than indicated"
// *Cause: While writing into a LOB, more data was supplied than
//         indicated.
// *Action: If data is written in pieces, then make sure that you
//          do not provide more data in the pieces (cumulatively), than
//          you indicated.
/
24811, 00000, "less data provided for writing than indicated"
// *Cause: While writing into a LOB, less data was provided than
//         indicated.
// *Action: If writing data in single pieces, then make sure that the buffer
//          length specified is big enough to accommodate tha data being
//          provided. If data is written in pieces, then make sure that all
//          the data has been provided before specifying OCI_LAST_PIECE.
/
24812, 00000, "character set conversion to or from UCS2 failed"
// *Cause: If the database character set is varying-width, the CLOB/NCLOB
//         value is implicitly converted to or from UCS2.  This implicit
//         conversion failed.
// *Action: Contact Oracle Worldwide Support.
/
24813, 00000, "cannot send or receive an unsupported LOB"
// *Cause:  An attempt was made to send a LOB across the network, but either
//          the server does not support the LOB sent by the client, or the
//          client does not support the LOB sent by the server. This error
//          usually occurs when the client and server are running different
//          versions of Oracle.
// *Action: Use a version of the Oracle that supports the LOB on both
//          the client and the server.
/
24814, 00000, "operation not allowed for temporary LOBs"
// *Cause:  Temporary LOB locators are not allowed in the operation.
//          For example:
//          OCILobAssign only takes persistent LOB locators as parameters,
//          not temporary LOBs.
// *Action: Use OCILobLocatorAssign for temporary LOBs instead.
//          Note that OCILobLocatorAssign can also be used for persistent
//          LOBs, in which case it will behave the same as OCILobAssign.
/
24815, 00000, "Invalid character set form"
// *Cause:  An invalid character set form was passed into an OCI LOB function.
//          For example, the only valid cs form for OCILobCreateTemporary()
//          is OCI_DEFAULT(0), SQLCS_IMPLICIT(1) or SQLCS_NCHAR(2).         
// *Action: Specify a valid character set form.           
24816, 00000, "Expanded non LONG bind data supplied after actual LONG or LOB column"
// *Cause:  A Bind value of length potentially > 4000 bytes follows binding for
//          LOB or LONG.
// *Action: Re-order the binds so that the LONG bind or LOB binds are all
//          at the end of the bind list.
24817, 00000, "Unable to allocate the given chunk for current lob operation "
// *Cause:  The given size is increased to accomodate the number of bytes from 
//          server due to varying width db char/nchar set.
// *Action: Use smaller chunk sizes when you have character set conversion
//          between client/server or perform piece-wise read or write.
/
24818, 00000, "Operation not permitted on Abstract LOBs"
// *Cause:  Abstract LOB locators were not allowed in the operation.
//          For example, OCILobAssign only takes persistent LOB locators 
//          as parameters, not Abstract (i.e., client-side created) LOBs.
// *Action: Avoid the operation on Abstract LOBs.
/
24819, 00000, "Illegal reference count encountered for a temporary LOB"
// *Cause:  Internal error.
// *Action: This error should not normally occur. If it persists,
//          contact Oracle Support Services.
/
24820, 00000, "Differnt LOB function called while another OCI LOB call is in progress"
// *Cause: An attempt was made to execute a new OCI LOB call while
//         another OCI LOB call was in progress.
// *Action: Wait for the ongoing LOB streaming call to finish before
//          issuing the next server call, or use OCIBreak() to abort the
//          current LOB streaming call.
/
24821, 00000, "LOB prefetch size supplied is larger than the supported limit."
// *Cause: A very large LOB prefetch size was specified during a query.
// *Action: Reduce the prefetch size to an acceptable value.
/
/       OCI Shared Structures Related Error Messages (24850 - 24874)
/
24850, 00000, "failed to startup shared subsystem"
// *Cause:  While attempting to initialize OCI in shared mode, a problem
//          was encountered in starting up the shared subsystem.
// *Action: Contact Oracle Customer support.
/
24851, 00000, "failed to connect to shared subsystem"
// *Cause:  While attempting to initialize OCI in shared mode, a problem
//          was encountered in connecting the process to the shared subsystem.
// *Action: Contact Oracle Customer Support.
/
24852, 00000, "protocol error during statement execution"
// *Cause:  An internal protocol error occurred while receiving describe data
//          from the server during execution of a statement.
// *Action: Contact Oracle Customer Support.
/
24853, 00000, "failed to connect thread to shared subsystem"
// *Cause:  While attempting to initialize OCI in shared mode, a problem
//          was encountered in connecting the thread to the shared subsystem.
// *Action: Contact Oracle Customer Support.
/
24854, 00000, "invalid pieceinfo provided" 
// *Cause:  While making the first call to write LOB data, an invalid 
//          pieceinfo value provided.
// *Action: Correct the call to use OCI_ONE_PIECE or OCI_FIRST_PIECE. 
//          If using OCCI, make sure to call writeBuffer before calling
//          writeLastBuffer.
/
24855, 00000, "attempt to pass a LOB locator over an invalid database link"
// *Cause:  There was an attempt to send a LOB locator over a database
//          link which was different from the one on which it was obtained.
// *Action: Ensure that remote LOB locators are passed back on the same
//          database link from which they were obtained.
/
/
/
/       OCI Notification Related Error message (24900 - 24939)
/
/
24900, 00000, "invalid or unsupported mode parameter passed in call"
// *Cause: The mode parameter passed into the OCI Client Notification call
//         is incorrect.
// *Action: Please correct the mode parameter passed into OCI.
/
24901, 00000, "handles belonging to different environments passed into an OCI call"
// *Cause: All handles passed into an OCI call should belong to the same
//         environment. In the call that returned this error, handles
//         belonging to different environments were passed in.
// *Action: Please ensure that the handle parameters in the call to come from
//          the same OCI Environment.
/
24902, 00000, "invalid subscription name or name-length in subscription handle"
// *Cause: The subscription handle passed into the OCI call does not have
//         a proper name or name-length attribute.
// *Action: Please set the name and name-length attributes using the
//          OCIAttrSet() call.
/
24903, 00000, "invalid namespace attribute passed into OCI call"
// *Cause: The subscription handle passed into the OCI call does not have
//         a proper namespace attribute.
// *Action: Please set the namespace attribute using the OCIAttrSet()
//          call.
/
24904, 00000, "invalid callback attribute passed into OCI call"
// *Cause: The subscription handle passed into the OCI call does not have
//         a proper callback attribute.
// *Action: Please set the callback attribute using the OCIAttrSet()
//          call.
/
24905, 00000, "invalid recipient protocol attribute passed into OCI call"
// *Cause: The subscription handle passed into the OCI call did not have
//         a proper recipient protocol attribute.
// *Action: Please set the recipient protocol attribute using the OCIAttrSet()
//          call.
/
24906, 00000, "invalid recipient attribute passed into OCI call"
// *Cause: The subscription handle passed into the OCI call did not have
//         a proper recipient attribute.
// *Action: Please set the recipient attribute using the OCIAttrSet()
//          call.
/
24907, 00000, "invalid pair of callback and recipient protocol attributes"
// *Cause: The subscription handle passed into the OCI call can't have
//         both the callback defined and a recipient protocol other than
//         OCI_SUBSCR_PROTO_OCI at the same time.
// *Action: Please set the appropriate callback and recipient protocol
//          attributes using the OCIAttrSet() call.
24908, 00000, "invalid recipient presentation attribute"
// *Cause: The subscription handle passed into the OCI call does not have a
//         valid recipient presentation attribute.
// *Action: Set the recipient presentation attribute using the OCIAttrSet()
//          call
24909, 00000, "call in progress. Current operation cancelled"
// *Cause: The OCI call was invoked when another call on the connection was
//         in progress.
// *Action: Check if the OCI call is supported when the call is in progress
//          under special conditions; for example, if it is being used by a
//          signal handler.
// NLS_DO_NOT_TRANSLATE [24910,24910]
24910, 00000, "Event to enable optimized fetch protocol"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to obtain better fetch
//          performance
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
24911, 00000, "Cannot start listener thread at specified port"
// *Cause: Thread already running at a different port.
// *Action: Set the correct port in the environment handle or let the system
//          choose the port.
24912, 00000, "Listener thread failed. %s"
// *Cause: Thread listening for event notification exited because of an error.
//         The error encountered is appended to the error message.
// *Action: The client needs to be restarted.
24913, 00000, "Event to enable NLS validation"
// *Cause: N/A
// *Action: Set this event in your environment to enable NLS character 
//          validation even when character sets are the same for client/server.
// NLS_DO_NOT_TRANSLATE [24914,24914]
24914, 00000, "Notification crash test"
// *Cause: N/A 
// *Action: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
/
24915, 00000, "Cannot start Listener at specified IP address" 
// *Cause: Thread was already listening at a different IP address.
// *Action: Set the correct IP address in the environment handle or 
// let the system choose the correct IP address.
/
24916, 00000, "cannot use IP address attribute before release 11.2 compatible notifications"
// *Cause: An attempt was made to use OCI_ATTR_SUBSCR_IPADDR attribute 
// before release 11.2 compatible notifications.
// *Action: Change the compatibility to 11.2.
/
// NLS_DO_NOT_TRANSLATE [24917,24917]
24917, 00000, "OCI notification client trace event"
// *Cause: N/A
// *Action: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
/
24918, 00000, "secure notification mode not supported"
// *Cause: An attempt was made to use OCI_SECURE_NOTIFICATION
// before release 12.0 compatible notifications.
// *Action: Change the compatibility to 12.0.
/
24919, 00000, "subscription to Fast Application Notification failed"
// *Cause:  An error occurred while subscribing to Fast Application 
//          Notification. This could be due to problems in the Oracle 
//          clusterware configuration.
// *Action: Look at the client trace files for additional information.
//          Ensure that the Oracle clusterware is properly configured.
/
24920, 00000, "column size too large for client"
// *Cause:  Client attempted to fetch a column whose size is larger than
//          the maximum size that can be handled by the client.
// *Action: Upgrade the client stack to Oracle 12c or higher.
/
// NLS_DO_NOT_TRANSLATE [24921,24921]
24921, 00000, "Event to increase default max length of BL fields"
// *Cause: N/A
// *Action: Set this event in your environment to use a different size than
//          TTC_DEFAULT_MBL. THIS IS NOT A USER ERROR NUMBER/MESSAGE AND DOES
//          NOT NEED TO BE TRANSLATED OR DOCUMENTED.
// *Document: NO
/
24922, 00000, "cannot send or receive an SCN value which is too high for the current compatibility setting"
// *Cause:  An attempt was made to send or receive a high value system change
//          number (SCN) over the network, but either the sever or client 
//          does not support such a high value SCN. This error usually occurs 
//          when either the server or client compatibility is lower than 12.2.
// *Action: Be sure the database compatibility is 12.2 or above on both 
//          the client and server.
/
/       Generic Notification Related Error message (24940 - 24949)
/
24940, 00000, "invalid combination of %s namespace, %s presentation and %s receive protocol"
// *Cause: An invalid combination of namespace, presentation and receive 
//         protocol was specified during notification registration. Currently, 
//         only AQ namespace is supported with XML presentation. Non-AQ 
//         namespace is not supported for e-mail and HTTP receive protocols. 
// *Action: Please change the register call appropriately. 
24941, 00000, "invalid combination of notification grouping attributes"
// *Cause: An invalid combination of notification grouping attributes was
//         specified. Currently, only TIME notification grouping class is 
//         supported. If notification grouping class is zero, all other 
//         notification grouping attributes must be zero.
// *Action: Refer to documentation and change the attributes appropriately.
24942, 00000, "cannot use ntfn grouping attributes on before release 11.0 compatible ntfns"
// *Cause: An attempt was made to use notification grouping on before release
//         11.0 compatible notifications.
// *Action: Change the compatibility to 11.0.
24943, 00000, "cannot use ntfn grouping with this receive protocol, presentation and/or QoS"
// *Cause: An attempt was made to use notification grouping with e-mail or HTTP
//         receive protocol or XML presentation or payload delivery or reliable
//         QoS. Currently, only OCI and PLSQL receive protocols and default 
//         presentation are supported with notification grouping.
// *Action: Refer to documentation and change the call appropriately.
24944, 00000, "cannot use timeout or grouping with ANONYMOUS namespace"
// *Cause: An attempt was made to use timeout or grouping with ANONYMOUS 
//         namespace. Currently, timeout and grouping are supported only with 
//         AQ and DBCHANGE namespaces.
// *Action: Refer to documentation and change the call appropriately.
24945, 00000, "cannot use context, QOS and timeout attributes of notification on lower than 10.2 compatible notifications"
// *Cause: An attempt was made to use context, QOS and timeout attributes of 
//         notification on lower than 10.2 compatible notifications.
// *Action: Change the database compatibility to 10.2.
24946, 00000, "invalid registration callback"
// *Cause: An attempt was made to use a reserved callback for notification 
//         registration.
// *Action: Choose a different name for the notification callback and 
//          change the register call appropriately.
24947, 00000, "Invalid namespace attribute specified for the subscription %s"
// *Cause: An attempt was made to register with invalid namespace attribute.
// *Action: Refer to documentation and change the namespace appropriately.
/
/       PL/SQL Notification Related Error message (24950 - 24959)
/
24950, 00000, "unregister failed, registration not found"
// *Cause: The registration that was asked to be unregistered could
//         not be found.
// *Action: Please check the callback function name and the subscription name
//          in the unregister call.
/
// NLS_DO_NOT_TRANSLATE [24951,24951]
24951, 00000, "EMON tracing event"
// *Cause: N/A
// *Action: Event used to trace EMON.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
24952, 00000, "register, unregister or post has incorrect collection count"
// *Cause: The register, unregister or post function was invoked with a
//         collection that was smaller than the size specified by the parameter
//         to the function.
// *Action: Please check the function's use and ensure that the size parameter
//          is correct.
/
/
/
/      More General OCI Related messages  (24960 - 24980)
/
/
24960, 00000, "the attribute  %s is greater than the maximum allowable length of %d"
// *Cause:  The user attempted to pass an attribute that is too long
// *Action: Shorten the specified attribute and retry the operation.

24961, 00000, "Event for OCI"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
/
24962, 00000, "connect string could not be parsed, error = %s"
// *Cause: The address portion of the connect string could not be parsed.  
//         The client may be using a format of the connect string that the 
//         server does not understand.
// *Action: Correct the connect string.
/
24963, 00000, "Event for client auto tuning"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
/
24964, 00000, "ALTER SESSION SET CONTAINER error"
// *Cause: An attempt to switch to a PDB with different settings
//         such as character set, time zone or time zone file version 
//         on an Oracle 12c Release 1 (12.1) or earlier client failed.
// *Action: Upgrade client to Oracle 12 Release 2 (or later) to support such 
//          operations. 
/
24966, 00000, "Event for kpocon internal tracing"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
24967, 00000, "Event for NPI internal tracing"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
24968, 00000, "Event for set container"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
/
/       24981 - 24990 Reserved for defer sga allocation errors
/
24981, 00000, "deferred SGA thread spawn failed"
// *Cause: This is an internal error.
// *Action: None 
24982, 00000, "deferred SGA segment allocation failed, index = %s location = %s"
// *Cause: System-defined shared memory limits are inadequate for Oracle.
// *Action: Consult the alert file for details.
24983, 00000, "Process (%s) failed to attach to deferred SGA segments."
// *Cause: The process failed to attach to deferred SGA segments.
// *Action: Consult the alert file for details and contact Oracle Support
//          Services.
24984, 00000, "SGA allocation slaves termination failed"
// *Cause: This is an internal error.
// *Action: None
/
/       25000-25099 Reserved for Trigger errors
/
25000, 00000, "invalid use of bind variable in trigger WHEN clause"
// *Cause: A bind variable was used in the when clause of a trigger.
// *Action: Remove the bind variable.  To access the table columns use
//         (new/old).column_name.
25001, 00000, "cannot create this trigger type on this type of view"
// *Cause:  INSTEAD OF triggers can be created on any view which is not an 
//          Editioning View, while BEFORE and AFTER triggers may only be 
//          created on Editioning Views.
// *Action: Change the trigger type to INSTEAD OF or change the view on which
//          you are attempting to create a DML trigger.
25002, 00000, "cannot create INSTEAD OF triggers on tables"
// *Cause:  Only BEFORE or AFTER triggers can be created on a table.
// *Action: Change the trigger type to BEFORE or AFTER.
25003, 00000, "cannot change NEW values for this column type in trigger"
// *Cause:  Attempt to change NEW trigger variables of datatype object, REF,
//          nested table, VARRAY or LOB datatype which is not supported.
// *Action: Do not change the NEW trigger variables in the trigger body.
25004, 00000, "WHEN clause is not allowed in INSTEAD OF triggers"
// *Cause:  WHEN clause is specified in an INSTEAD OF trigger.
// *Action: Remove the WHEN clause when creating an INSTEAD OF
//          trigger.
25005, 00000, "cannot CREATE INSTEAD OF trigger on a read-only view"
// *Cause:  attempt to create an INSTEAD OF trigger on a view
//          created with read-only option.  The view cannot be
//          updated using INSTEAD OF triggers.
// *Action: Do not create the trigger.
25006, 00000, "cannot specify this column in UPDATE OF clause"
// *Cause:  Attempt to create a trigger on update of a column whose
//          datatype is disallowed in the clause, such as LOB and
//          nested table.
// *Action: Remove the UPDATE OF clause.
25007, 00000, "functions or methods not allowed in WHEN clause"
// *Cause:  PLSQL function call or method invocation is not allowed
//          in the WHEN clause when creating a trigger.
// *Action: Remove the function call or method invocation from
//          the WHEN clause.
25008, 00000, "no implicit conversion to LOB datatype in instead-of trigger"
// *Cause:  When inserting or updating a view using instead-of trigger,
//          the new value for a LOB view column is of a different datatype.
// *Action: Specified a LOB value as the new value for the LOB view column.
//
25009, 00000, "Nested table clause allowed only for INSTEAD OF triggers"
// *Cause:  Triggers on nested tables can only be created on view columns
//          using INSTEAD OF triggers.
// *Action: Use view nested table columns for defining nested table triggers.
//
25010, 00000, "Invalid nested table column name in nested table clause"
// *Cause:  The column name specified in the nested table clause of an
//          INSTEAD OF trigger does not correspond to a nested table column.
// *Action: Specify a nested table column on which the trigger is to be defined.
//
25011, 00000, "cannot create trigger on internal AQ table"
// *Cause:  An attempt was made to try to create a trigger on a table that is 
//          used internally to support the Advanced Queueing (AQ) feature.
// *Action: Do not create the trigger.
25012, 00000, "PARENT and NEW values cannot be identical"
// *Cause:  The referencing clause specifies identical values for PARENT and OLD.
// *Action: Re-specify either the PARENT or NEW referencing value.
//
25013, 00000, "OLD and PARENT values cannot be identical"
// *Cause:  The referencing clause specifies identical values for OLD and PARENT.
// *Action: Re-specify either the OLD or PARENT referencing value.
//
25014, 00000, "cannot change the value of a PARENT reference variable"
// *Cause:  Parent values can only be read and not changed.
// *Action: Do not attempt to change a Parent variable.
//
25015, 00000, "cannot perform DML on this nested table view column"
// *Cause:  DML cannot be performed on a nested table view column except through
//          an INSTEAD OF trigger
// *Action: Create an INSTEAD OF trigger over the nested table view column
//          and then perform the DML.
//
25016, 00000, "cannot specify column list for insert into nested table view column"
// *Cause:  A column list cannot be specified for inserts into the nested table
//          view column.
// *Action: Specify all the columns for insert into the nested table.
//
25017, 00000, "cannot reference NEW ROWID for movable rows in before triggers"
// *Cause:  NEW ROWID was referenced in a before row trigger which is defined
//          on an index-organized table, or a partitioned table with enabled
//          movement of rows. The ROWID cannot be computed in a before row
//          update trigger because it depends on the actual values of the row
// *Action: Remove references to NEW ROWID from the trigger definition.
//
25018, 00000, "conflicting trigger %s already exists"
// *Cause:  Conflicting instead of DDL trigger on schema/database already
//          exists.
// *Action: Remove the old trigger
//
25019, 00000, "too much concurreny"
// *Cause:  cannot pin the database/schema because of too much concurrency
// *Action: try the operation later
//
25020, 00000, "renaming system triggers is not allowed"
// *Cause:  renaming system triggers is not allowed
// *Action: Drop the trigger, and create a new one for the same
//
25021, 00000, "cannot reference a trigger defined on another table"
// *Cause: Referenced trigger in the FOLLOWS clause was defined
//         on another table.
// *Action: Create the referenced trigger on the same table
25022, 00000, "cannot reference a trigger of a different type"
// *Cause: Referenced trigger in the FOLLOWS or PRECEDES clause was either 
//         a different type or not a compound trigger.
// *Action: Create the referenced trigger as the same type or a compound 
//          trigger.
25023, 00000, "Cyclic trigger dependency is not allowed"
// *Cause: A cycle of trigger dependency can be formed.
// *Action: Do not create a trigger that can formed a cyclic dependency.
25024, 00000, "cannot specify FOLLOWS for a REVERSE CROSSEDITION trigger"
// *Cause: The FOLLOWS clause was specified when creating the 
//         REVERSE CROSSEDITION trigger.
// *Action: Do not create a REVERSE CROSSEDITION trigger with a FOLLOWS clause.
25025, 00000, "cannot specify PRECEDES clause"
// *Cause: The PRECEDES clause was specified when creating a FORWARD 
//         CROSSEDITION trigger or a regular trigger.
// *Action: Do not create a FORWARD CROSSEDITION or a regular trigger with 
//          a PRECEDES clause.
25026, 00000, "FOR EACH ROW was specified with compound triggers"
// *Cause:  FOR EACH ROW is not allowed with compound triggers.
// *Action: Remove the FOR EACH ROW clause.
//
25027, 00000, "compound triggers cannot be used as system triggers"
// *Cause:  Compound trigger was defined as system trigger.
// *Action: Do not use compound trigger as system trigger.
//
25028, 00000, "regular trigger body can not start with keyword COMPOUND"
// *Cause:  Regular triggers body should start with BEGIN/DECLARE etc .
// *Action: Fix the syntax and recompile.
//
25029, 00000, "compound triggers should always start with keyword COMPOUND"
// *Cause:  Compound trigger body was started with incorrect keyword.
// *Action: Fix the syntax and recreate.
//
25030, 00000, "crossedition trigger cannot be owned by a non-editioned user"
// *Cause:  An attempt was made to create a crossedition trigger in a
//          schema where triggers were not editionable.
// *Action: Enable editions for the user for triggers and then create the
//          crossedition trigger.
//
25031, 00000, "only a crossedition trigger may be specified"
// *Cause:  The trigger specified was not a crossedition trigger.
// *Action: Specify a crossedition trigger.
//
25032, 00000, "crossedition trigger cannot be created in ORA$BASE"
// *Cause:  An attempt was made to create crossedition trigger
//          in the ORA$BASE edition.
// *Action: Do not create a crossedition trigger in the ORA$BASE edition.
//
25033, 00000, "triggers cannot be executed at this time"
// *Cause:  An attempt was made to execute a trigger
//          when the session was almost finished.
// *Action: Do not attempt to DML with triggers that are expected
//          to execute when session has almost ended.
25034, 00000, "cannot bypass trigger owned by another user"
// *Cause:  An attempt was made to do DML from a crossedition trigger on an
//          object that has a non-crossedition trigger owned by another user.
//          DML from a crossedition trigger bypasses the running of
//          non-crossedition triggers; this cannot be allowed for triggers
//          owned by other users.
// *Action: Permit the non-crossedition trigger to be bypassed by attaching it
//          to the editioning view rather than the table, moving one
//          of the triggers to be in the same schema as the other,
//          or explicitly disabling the non-crossedition trigger.
25035, 00000, "cannot perform DML on remote object from a crossedition trigger"
// *Cause:  An attempt was made to do DML from a crossedition trigger that
//          would modify data in a remote database.  DML from a crossedition
//          trigger has special rules applied regarding what triggers will fire
//          as part of that DML; these special rules cannot be applied across
//          database links and therefore the DML cannot be allowed.
// *Action: Perform the DML in a helper function separate from the crossedition
//          trigger itself; the special rules are not applied when the DML
//          is not issued from within the crossedition trigger itself.
/
/       25100-25199 Reserved for Parser errors (e.g. v7)
/         25175-25199 reserved for index-organized tables ( v8 )
/       Additional parser errors begin at 30560
/
25100, 00000, "TABLESPACE option can only be used with ALTER INDEX REBUILD"
// *Cause: The TABLESPACE option to ALTER INDEX was used without the
//         REBUILD option.
// *Action: Use ALTER INDEX REBUILD TABLESPACE tablespace name.
25101, 00000, "duplicate REBUILD option specification"
// *Cause:  The REBUILD option to ALTER INDEX is specified more than once.
// *Action:  Specify the option at most once.
25102, 00000, "PARALLEL option can only be used with ALTER INDEX REBUILD"
// *Cause: The PARALLEL option to ALTER INDEX was used without the
//         REBUILD option.
// *Action: Use ALTER INDEX REBUILD.
25103, 00000, "NOPARALLEL option can only be used with ALTER INDEX REBUILD"
// *Cause: The NOPARALLEL option to ALTER INDEX was used without the
//         REBUILD option.
// *Action: Use ALTER INDEX REBUILD.
25104, 00000, "UNRECOVERABLE option can only be used with ALTER INDEX REBUILD"
// *Cause: The UNRECOVERABLE option to ALTER INDEX was used without the
//         REBUILD option.
// *Action: Use ALTER INDEX REBUILD.
25105, 00000, "RECOVERABLE option can only be used with ALTER INDEX REBUILD"
// *Cause: The RECOVERABLE option to ALTER INDEX was used without the
//         REBUILD option.
// *Action: Use ALTER INDEX REBUILD.
25106, 00000, "only one of PARALLEL or NOPARALLEL clause may be specified"
// *Cause: PARALLEL was specified more than once, NOPARALLEL was specified
//         more than once, or both PARALLEL and NOPARALLEL were specified
//         in an ALTER INDEX REBUILD statement.
// *Action: Remove all but one of the PARALLEL or NOPARALLEL clauses.
25107, 00000, "duplicate TABLESPACE option specification"
// *Cause: the TABLESPACE was specified more than once
//         in an ALTER INDEX REBUILD statement.
// *Action: Remove all but one of the TABLESPACE clauses.
25108, 00000, "standby lock name space exceeds size limit of %s characters"
// *Cause:  The lock name space for the standby database exceeded the maximum
//          string length.
// *Action: Change initialization parameter _STANDBY_LOCK_NAME_SPACE to
//          a character string of less than the specified characters.
25109, 00000, "standby lock name space has illegal character '%s'"
// *Cause:  An invalid lock name space was specified for the standby database.
//          The lock name space for the standby database can only contain
//          A-Z, 0-9, '_', '#', '$', '.' and '@' characters.
// *Action: Change initialization parameter _STANDBY_LOCK_NAME_SPACE to
//          a valid character string.
25110, 00000, "NOSORT may not be used with a bitmap index"
// *Cause:  An attempt was made to create a bitmap index using
//          the NOSORT option.
// *Action:  Remove NOSORT from the CREATE BITMAP INDEX statement.
25111, 00000, "creation of BITMAP cluster indices is not supported"
// *Cause:  An attempt was made to create a cluster index with the
//          BITMAP attribute.
// *Action:  Remove BITMAP from the CREATE INDEX statement.
25112, 00000, "maximum number of BITMAP index columns is 30"
// *Cause:  Too many columns were specified for the index.
// *Action: Create an index on fewer columns.
25113, 00000, "GLOBAL may not be used with a bitmap index"
// *Cause:  An attempt was made to create a bitmap index using
//          the GLOBAL option.
// *Action:  Remove GLOBAL from the CREATE BITMAP INDEX statement,
//           and/or add a LOCAL partition descriptor if the table is
//           partitioned.
25114, 00000, "invalid file number specified in the DUMP DATAFILE/TEMPFILE command"
// *Cause:  An invalid file number was used in dumping a datafile or tempfile.
// *Action: Specify a valid file number.
25115, 00000, "duplicate BLOCK option specification"
// *Cause:  BLOCK (MIN/MAX) was specified more than once in the DUMP DATAFILE/TEMPFILE
//          command.
// *Action: Specify only one BLOCK option.
25116, 00000, "invalid block number specified in the DUMP DATAFILE/TEMPFILE command"
// *Cause:  An invalid block number was used in dumping a datafile or tempfile.
// *Action: Specify a valid block number.
25117, 00000, "MIN/MAX/Block Number expected"
// *Cause:  A value other than MIN/MAX, or a block number was entered in the DUMP DATAFILE/TEMPFILE command.
// *Action: Correct the syntax.
25118, 00000, "invalid DUMP DATAFILE/TEMPFILE option"
// *Cause:  An invalid option was specified for the DUMP DATAFILE/TEMPFILE command.
// *Action: Correct the syntax.
25119, 00000, "LOGGING/NOLOGGING option already specified"
// *Cause: In CREATE TABLESPACE, the LOGGING and/or NOLOGGING options were
//         specified more than once.
// *Action: Remove all but one of the logging specifications.
25120, 00000, "MINIMUM EXTENT option already specified"
// *Cause: In CREATE TABLESPACE, the MINIMUM EXTENT option was
//         specified more than once.
// *Action: Remove all but one of the MINIMUM EXTENT specifications.
25121, 00000, "MINIMUM EXTENT value greater than maximum extent size"
// *Cause: In CREATE/ALTER TABLESPACE, the value specified for the MINIMUM EXTENT
//         option was greater than the maximum extent size.
// *Action: Choose a lower value for the MINIMUM EXTENT option.
25122, 00000, "Only LOCAL bitmap indexes are permitted on partitioned tables"
// *Cause: An attempt was made to create a global bitmap index on a partioned
//         table.
// *Action: create a local bitmap index instead.
25123, 00000, "Too many components specified in the name."
// *Cause: Specifying more components to a name than allowed.
// *Action: Check the name specified for the operation.
25124, 00000, "Database link name not allowed."
// *Cause: Specifying a database link name when it is not permitted.
// *Action: Check the name specified for the operation.
25125, 00000, "BUFFER_POOL/FLASH_CACHE/CELL_FLASH_CACHE storage option not allowed"
// *Cause:  An attempt was made to specify the BUFFER_POOL, FLASH_CACHE, or CELL_FLASH_CACHE
//          storage option. This option may only be specified during
//          - CREATE or ALTER TABLE
//          - CREATE or ALTER CLUSTER
//          - CREATE or ALTER INDEX
// *Action:  Remove this option and retry the statement.
25126, 00000, "Invalid name specified for BUFFER_POOL/FLASH_CACHE/CELL_FLASH_CACHE"
// *Cause:  The name of the cache hints specified by was invalid.
//          The only valid names for BUFFER_POOL are KEEP, RECYCLE and DEFAULT.
//          The only valid names for FLASH_CACHE and CELL_FLASH_CACHE
//          are KEEP, NONE and DEFAULT.
// *Action: Use a valid name or remove the BUFFER_POOL, FLASH_CACHE, or CELL_FLASH_CACHE clause.
25127, 00000, "RELY not allowed in NOT NULL constraint"
// *Cause: An attempt to set RELY on for NOT NULL constraint.
// *Action: only NORELY may be specified for a NOT NULL constraint.
//
25128, 00000, "No insert/update/delete on table with constraint (%s.%s) disabled and validated"
// *Cause: Try to insert/update/delete on table with DISABLE VALIDATE constraint.
// *Action: Change the constraint's states.
//
25129, 00000, "cannot modify constraint (%s) - no such constraint"
// *Cause: the named constraint does not exist for this table.
// *Action: Obvious
25130, 00000, "cannot modify primary key - primary key not defined for table"
// *Cause: Attempted to modify a primary key that is not defined for the
//      table.
// *Action: None
25131, 00000, "cannot modify unique(%s) - unique key not defined for table"
// *Cause: attempted to modify a unique key that is not deined for the table.
// *Action: None
25132, 00000, "UNIQUE constraint (%s.%s) disabled and validated in ALTER TABLE EXCHANGE PARTITION"
// *Cause: cannot ALTER TABLE EXCHANGE PARTITION when the partition and the
// table have a disabled and validated unique constraints AND the unique keys
// in the partion is not mutually exclusive from the rest of the table.
// *Action: Change the constraint's status.
25133, 00000, "duplicate SINGLE TABLE option specified"
// *Cause:  The SINGLE TABLE option was specified more than once.
// *Action: Specify the SINGLE TABLE option only once.
25134, 00000, "keyword TABLE expected"
// *Cause:  The keyword TABLE is missing from the SINGLE TABLE option.
// *Action: Place the keyword TABLE after the keyword SINGLE in the command.
25135, 00000, "cannot use the SINGLE TABLE option"
// *Cause:  The SINGLE TABLE option is only valid for hash clusters.
// *Action: Do not specify the SINGLE TABLE option.
25136, 00000, "this cluster can contain only one table"
// *Cause:  An attempt was made to store more than one table in a cluster
// that was created with the SINGLE TABLE option.
// *Action: Do not attempt to store more than one table in the cluster.
25137, 00000, "Data value out of range"
// *Cause:  Value from cast operand is larger than cast target size.
// *Action: Increase size of cast target.
25138, 00000, "%s initialization parameter has been made obsolete"
// *Cause:  An obsolete initialization parameter has been specified
// *Action: The system will come up, but parameters must be examined
25139, 00000, "invalid option for CREATE TEMPORARY TABLESPACE"
// *Cause: An invalid option appears.
// *Action:  Specify one of the valid options: TEMPFILE,
//           EXTENT MANAGEMENT LOCAL, UNIFORM
/
25140, 00000, "%s space policy cannot be specified for the %s extent management"
// *Cause: An invalid option appears.
// *Action:  Make sure that for LOCAL extent management UNIFORM or AUTOALLOCATE
//           is specified, and for DICTIONARY extent management UNIFORM or
//           AUTOALLOCATE are not specified
/
25141, 00000, "invalid EXTENT MANAGEMENT clause"
// *Cause: An invalid option appears for EXTENT MANAGEMENT clause
// *Action:  Specify one of the valid options: UNIFORM SIZE, AUTOALLOCATE
/
25142, 00000, "default storage clause specified twice"
// *Cause: default storage clause was specified twice for create tablespace
// *Action:  Specify it once.
/
25143, 00000, "default storage clause is not compatible with allocation policy"
// *Cause: default storage clause was specified for a tablespace with
//         AUTOALLOCATE or UNIFORM policy
// *Action:  Omit the storage clause
/
25144, 00000, "invalid option for CREATE TABLESPACE with TEMPORARY contents"
// *Cause: An invalid option appears.
// *Action:  Specify one of the valid options: EXTENT MANAGEMENT DICTIONARY,
//           USER
/
25145, 00000, "allocation policy already specified"
// *Cause: In CREATE TABLESPACE, the allocation policy was specified more
//         than once, for example, AUTOALLOCATE and UNIFORM.
// *Action: Remove all but one of the allocation policy  specifications.
/
25146, 00000, "EXTENT MANAGEMENT option already specified"
// *Cause: In CREATE TABLESPACE, the EXTENT MANAGEMENT option was
//         specified more than once.
// *Action: Remove all but one of the EXTENT MANAGEMENT  specifications.
/
25147, 00000, "UNIFORM SIZE value greater than maximum extent size"
// *Cause: In CREATE/ALTER TABLESPACE, the value specified for the UNIFORM SIZE         option was greater than the maximum extent size.
// *Action: Choose a lower value for the UNIFORM SIZE option.
/
25148, 00000, "ONLINE option not permitted"
// *Cause:  An attempt was made to specify ONLINE for ALTER TABLE MOVE
//          on a table that is not index-organized. The ONLINE option is
//          currently supported only for index-organized tables.
// *Action: Remove the ONLINE option from the command.
/
25149, 00000, "Columns of UROWID type may not be indexed"
// *Cause:  An attempt was made to create an index on a column of UROWID type
// *Action: Remove the column from the list of indexed columns
/
25150, 00000, "ALTERING of extent parameters not permitted"
// *Cause: An attempt was made to alter the extent parameters for a segment
//         in a tablespace with autoallocate or uniform extent allocation
//         policy.
// *Action: Remove the appropriate extent parameters from the command.
/
25151, 00000, "Rollback Segment cannot be created in this tablespace"
// *Cause: An attempt was made to create a rollback segment in a tablespace
//         with autoallocate extent allocation policy.
// *Action: Specify a different tablespace for the rollback segment
/
25152, 00000, "TEMPFILE cannot be dropped at this time"
// *Cause: An attempt was made to drop a TEMPFILE being used by online users
// *Action: The TEMPFILE has been taken offline. Try again, later.
/
25153, 00000, "Temporary Tablespace is Empty"
// *Cause: An attempt was made to use space in a temporary tablespace with
//         no files.
// *Action: Add files to the tablespace using ADD TEMPFILE command.
/
25154, 00000, "column part of USING clause cannot have qualifier"
// *Cause: Columns that are used for a named-join (either a NATURAL join
//         or a join with a USING clause) cannot have an explicit qualifier.
// *Action: Remove the qualifier.
/
25155, 00000, "column used in NATURAL join cannot have qualifier"
// *Cause: Columns that are used for a named-join (either a NATURAL join
//         or a join with a USING clause) cannot have an explicit qualifier.
// *Action: Remove the qualifier.
/
25156, 00000, "old style outer join (+) cannot be used with ANSI joins"
// *Cause: When a query block uses ANSI style joins, the old notation
//         for specifying outer joins (+) cannot be used.
// *Action: Use ANSI style for specifying outer joins also.
/
25157, 00000, "Specified block size %s is not valid"
// *Cause: An attempt was made to create a tablespace with a block
//         size which is not supported.
// *Action: Specify one of the valid blocksizes i.e the standard
//          blocksize or one of (2k, 4k, 8k, 16k, 32k) subject
//          to the maximum and minimum blocksizes supported by
//          the platform.
/
25158, 00000, "Cannot specify RELY for foreign key if the associated primary key is NORELY"
// *Cause: RELY is specified for the foreign key contraint, when the
//         associated primary key constraint is NORELY.
// *Action: Change the option of the primary key also to RELY.
/
25159, 00000, "Must specify a valid tablespace number"
// *Cause: A valid tablespace number was missing.
// *Action: Specify a valid tablespace number.
/
25160, 00000, "Must specify a valid relative data block address"
// *Cause: A valid relative data block address was missing.
// *Action: Specify a valid relative data block address.
/
25161, 00000, "Cannot have both DBA and RDBA options"
// *Cause: Both the DBA and RDBA options were passed to ALTER SYSTEM DUMP REDO.
// *Action: Use either the DBA option or the RDBA option but not both.
/
25162, 00000, "Must specify both RDBA MIN and RDBA MAX options"
// *Cause: Only one RDBA option was passed to ALTER SYSTEM DUMP REDO.
// *Action:  Specify both RDBA MIN and RDBA MAX.
/
25163, 00000, "Invalid tablespace number or relative data block address"
// *Cause: The relative data block adress is invalid for the given tablespace
//         number or the table space number is invalid.
// *Action: Specify a valid tablespace number or relative data block
//          address.
/
25164, 00000, "The tag expression is too complex."
// *Cause: The statement tag value was not specified using a simple
//         expression.
// *Action: Reduce the complexity of the statement tag expression. For
//          example, assign the tag expression to a variable and reference the
//          variable in the error logging clause.
/
25165, 00000, "number of passwords in statement exceeds maximum limit of %s"
// *Cause: The SQL statement had more passwords than the maximum limit allowed. 
// *Action: Reconstruct the SQL statement to have a number of passwords less 
//          than or equal to the maximum allowed.
25175, 00000, "no PRIMARY KEY constraint found"
// *Cause: A PRIMARY KEY constraint must be defined for a table
//         with this organization
// *Action: Define a PRIMARY KEY
25176, 00000, "storage specification not permitted for primary key"
// *Cause: Storage parameters cannot be defined for a PRIMARY KEY constraint
//         for a table with this organization
// *Action: Remove storage specification for primary key
25177, 00000, "UNRECOVERABLE option not permitted"
// *Cause: The UNRECOVERABLE option may not be specified for a primary
//         key for a table with this organization
// *Action: Remove UNRECOVERABLE option for primary key
25178, 00000, "duplicate PCTTHRESHOLD storage option specification"
// *Cause: The storage option PCTTHRESHOLD is specified more than once.
// *Action:  Specify storage options at most once.
25179, 00000, "invalid PCTTHRESHOLD storage option value"
// *Cause:  The specified value must be a positive integer.
// *Action:  Specify an appropriate value.
25180, 00000, "PCTTHRESHOLD only valid for certain table organizations"
// *Cause:  PCTTHRESHOLD can only be specified for tables with certain
//          organizations.
// *Action:  Remove the PCTTHRESHOLD option.
25181, 00000, "missing ON keyword for NESTED INDEX"
// *Cause:  ON keyword required to specify nested index column nest
// *Action:  Add ON keyword
25182, 00000, "feature not currently available for index-organized tables"
// *Cause:  An attempt was made to use one or more of the following feature(s) not
//          currently supported for index-organized tables:
//          CREATE TABLE with LOB/BFILE/VARRAY columns,
//          partitioning/PARALLEL/CREATE TABLE AS SELECT options,
//          ALTER TABLE with ADD/MODIFY column options, CREATE INDEX
// *Action:  Do not use the disallowed feature(s) in this release.
25183, 00000, "index-organized table top index segment is in a different tablespace"
// *Cause: An attempt was made to drop a tablespace which contains an index
//         only table's overflow segment but not the top index segment"
// *Action: find index-organized tables which span the tablespace being
//          dropped and some other tablespace(s). Drop these tables.
25184, 00000, "column name expected"
// *Cause:  A column name is not present where required by the
//          CREATE TABLE for specifying last column to be included in
//          the index segment of the index-organized table
// *Action:  Specify a column name where required by the syntax.
25185, 00000, "index column other than last can not be specified for INCLUDE clause"
// *Cause:  An index column name other than the last is specified as
//          including column
// *Action: Specify either a column name which is not part of index-organized
//          table primary key index , or the last key column of the primary
//          key for the INCLUDING clause.
25186, 00000, "INCLUDING clause specified for index-organized table without OVERFLOW"
// *Cause:  INCLUDING clause of a CREATE TABLE is an valid option only for
//          index-organized tables with OVERFLOW clause (at creation time)
//          or if an OVERFLOW segment already exists (at ALTER time).
// *Action:  Specify OVERFLOW clause for the index-organized table
//        :  For ALTER, perform ADD OVERFLOW first.
25187, 00000, "specified exceptions table form incorrect"
// *Cause:  The specified table does not have the proper field definitions.
// *Action: Specify the correct table to use.
25188, 00000, "cannot drop/disable/defer the primary key constraint for index-organized tables or sorted hash cluster"
// *Cause:
// *Action:
25189, 00000, "illegal ALTER TABLE option for an index-organized table"
// *Cause: While altering an index-organized table, an attempt was made
//        to enter either the PCTFREE or PCTUSED value for IOT top index segment.
// *Action: Remove the illegal option(s).
25190, 00000, "an index-organized table maintenance operation may not be combined with other operations"
// *Cause:  ALTER TABLE statement attempted to combine an index-organized table
//          maintenance operation (e.g. changing physical attributes) with
//          some other operation (e.g. ADD constraint) which is illegal
// *Action: Ensure that a index-organized table maintenance operation is the sole
//          operation specified in ALTER TABLE statement;
25191, 00000, "cannot reference overflow table of an index-organized table"
// *Cause:  An attempt to directly access the overflow table of an
//          index-organized table
// *Action: Issue the statement against the parent index-organized table
//          containing the specified overflow table.
25192, 00000, "invalid option for an index-organized table"
// *Cause:  An attempt to specify one or more of the following options for
//          an index-organized table:
//          [NO]CACHE, NO LOGGING, CLUSTER
// *Action: Remove the illegal option(s)
25193, 00000, "cannot use COMPRESS option for a single column key"
// *Cause:  An attempt to use COMPRESS option on single column key
// *Action: Remove the COMPRESS option.
25194, 00000, "invalid COMPRESS prefix length value"
// *Cause:  The specified value must be a positive integer less than the number
//          of key columns
// *Action:  Specify an appropriate value.
25195, 00000, "invalid option for index on an index-organized table"
// *Cause:  An attempt to specify one or more of the following options for
//          index on an IOT:
//          BITMAP, REVERSE, PCTUSED
25196, 00000, "keyword MOVE in ALTER TABLE MOVE must immediately follow <table name>"
// *Cause:  MOVE specified after one/more other ALTER options
// *Action: Change order of options, MOVE should be first
// *Action: Remove the illegal option(s)
25197, 00000, "an overflow segment already exists for the indexed-organized table"
// *Cause:  An attempt was made to ADD OVERFLOW segment on an index-organized
//          table that already has an overflow segment
// *Action:
25198, 00000, "partitioning method is not supported for index-organized table"
// *Cause:  An unsupported partitioning method was specified.
// *Action: Select a different partitioning scheme. Consult the documentation
//          for supported partitioning methods.
25199, 00000, "partitioning key of a index-organized table must be a subset of the primary key"
// *Cause:  An attempt to specify a partitioning key which is not a prefix
//          of the primary key of the index-organized table
// *Action: Select a different partitioning key
/
/       25200-25699 Reserved for OLTP
/       25200-25325 Reserved for AQ
/       25350-25375 Reserved for V8 Transaction OCI
/       25400-25425 Reserved for Application Failover
/       25426-25435 Reserved for Dblink Concentration
/       25436-25476 Reserved for Rules Engine
/
/     25200 - 25224 Reserved for DBMS_AQ.ENQUEUE
/
25200, 00000, "invalid value %s, QUEUE_NAME should be [SCHEMA.]NAME"
// *Cause: A NULL parameter was specified for QUEUE_NAME.
// *Action: Specify a non-NULL queue name.
//
25201, 00000, "invalid value, VISIBILITY should be ON_COMMIT or IMMEDIATE"
// *Cause: An invalid value specified for parameter VISIBILITY.
// *Action: Specify either ON_COMMIT or IMMEDIATE.
//
25202, 00000, "invalid value NULL, %s should be non-NULL"
// *Cause: A NULL value was specified for the parameter.
// *Action: Specify a non-NULL value.
//
25203, 00000, "invalid value %s, DELAY should be non-negative"
// *Cause: A negative value or NULL was specified for DELAY.
// *Action: Specify a non negative integer for DELAY.
//
25204, 00000, "invalid value, SEQUENCE_DEVIATION should be BEFORE or TOP"
// *Cause: An invalid SEQUENCE_DEVIATION was specified.
// *Action: Specify either the option 'BEFORE' or 'TOP'.
//
25205, 00000, "the QUEUE %s.%s does not exist"
// *Cause: The specified queue does not exist.
// *Action: Create the queue first before specifying it for enqueue or dequeue.
//
25206, 00000, "enqueue failed, enqueue to exception queue %s.%s not permitted"
// *Cause: An attempt was made to enqueue to an exception queue.
// *Action: Try enqueueing to another queue.
//
25207, 00000, "enqueue failed, queue %s.%s is disabled from enqueueing"
// *Cause: The queue has been stopped to prevent any further enqueueing.
// *Action: Enable the queue first by using an administrative operation.
//
25208, 00000, "RELATIVE_MSGID must be specified if SEQUENCE_DEVIATION is BEFORE"
// *Cause: A relative message identifier should be specified if sequence
//         deviation is specified as BEFORE.
// *Action: Either specify an existing relative message identifier or
//          don't specify sequence deviation as BEFORE.
//
25209, 00000, "invalid value %s, EXPIRATION should be non-negative or NEVER"
// *Cause: The expiration is less than zero or NULL.
// *Action: Specify a valid value for expire_after which should be greater
//          than or equal to zero or NEVER.
//
25210, 00000, "invalid value for RELATIVE_MSGID, no message in queue with that msgid"
// *Cause: No message inm the queue with the msgid equal to the specified
//         RELATIVE_MSGID.
// *Action: Try again with a valid RELATIVE_MSGID.
//
25211, 00000, "invalid DELAY specified when using sequence deviation"
// *Cause:  The DELAY specified in the enqueue is greater than the delay
//          of the message with the given relative message id.
// *Action: Set the DELAY to be less than or equal to the delay of the
//          message with the given relative message id. If the TOP option
//          is used the delay must be less than or equal to the delay of
//          all the messages in the queue.
//
25212, 00000, "invalid PRIORITY specified when using sequence deviation"
// *Cause:  The PRIORITY specified in the enqueue is less than the priority
//          of the message with the given relative message id.
// *Action: Set the PRIORITY to be less than the delay of the message with
//          the given relative message id. If the TOP option is used the
//          prioirty must be greater than or equal to the priority of
//          all the messages in the queue.
25213, 00000, "message with specified RELATIVE_MSGID has been dequeued"
// *Cause: The message specified by the RELATIVE_MSGID field in the
//         sequence deviation BEFORE option has been dequeued.
// *Action:
25214, 00000, "cannot specify delay or expiration for enqueue to exception queue"
// *Cause: A message was enqueued to the exception queue with either delay
//         or expiration specified.
// *Action: Enqueue a message without delay or expiration.
25215, 00000, "user_data type and queue type do not match"
// *Cause: A user tries to enqueue an object to a queue that was
//         created for objects of different type.
// *Action: Try enqueue again with an object of the right type.
25216, 00000, "invalid recipient, either NAME or ADDRESS must be specified"
// *Cause: Both attributes, NAME and ADDRESS, were specified null for one of
//         the recipients in the recipient list.
// *Action: Specify a non-null NAME or ADDRESS for the recipient.
25217, 00000, "enqueue failed, visibility must be IMMEDIATE for queue %s.%s"
// *Cause: An attempt was made to enqueue to a non-persistent queue without
//         setting visibility to IMMEDIATE.
// *Action: Set visibility to IMMEDIATE.
25218, 00000, "enqueue failed, delay must be zero for queue %s.%s"
// *Cause: An attempt was made to enqueue to a non-persistent queue with
//         delay greater than zero seconds.
// *Action: Set delay to zero.
25219, 00000, "enqueue failed, sequence deviation not allowed for queue %s.%s"
// *Cause: An attempt was made to enqueue to a non-persistent queue with
//         sequence deviation specified.
// *Action: Do not specify sequence deviation.
25220, 00000, "enqueue failed, signature not specified for a non-repudiable queue"
// *Cause: An attempt was made to enqueue to a non-repudiable queue without
//         specifying the signature
// *Action: Give the signature
25221, 00000, "enqueue failed, signature specified queue not supporting non-repudiation"
// *Cause: An attempt was made to enqueue to a queue specifying the signature
//         for a queue not supporting non-repudiation
// *Action: Remove the signature
25222, 00000, "enqueue failed, complete sender info. not provided for a queue supporting non-repudiation"
// *Cause: An attempt was made to enqueue to a queue without giving the
//         complete sender information (name) for a queue supporting
//         non-repudiation
// *Action: Provide the sender information
//
25223, 00000, "user_data type used is not supported"
// *Cause: An attempt was made to enqueue data into a non persistent queue
//         that is of a type other than the supported raw or object type.
// *Action: Enqueue the message again with data of raw or object type.
//
25224, 00000, "sender name must be specified for enqueue into secure queues"
// *Cause: An attempt was made to enqueue into a secure queue without
//         specifying a sender name.
// *Action: Enqueue the message with sender name specified.
//
/
/    25225-25249 Reserved for DBMS_AQ.DEQUEUE
/
25225, 00000, "invalid value %s, DEQUEUE_MODE should be REMOVE or BROWSE or LOCKED"
// *Cause: An invalid parameter has been specified for DEQUEUE_MODE.
//
// *Action: Specify either REMOVE, BROWSE or LOCKED.
//
25226, 00000, "dequeue failed, queue %s.%s is not enabled for dequeue"
// *Cause: The queue has not been enabled for dequeue.
//
// *Action: Enable the queue using START_QUEUE.
//
25227, 00000, "Propagation job %s doesn't exist"
// *Cause: The job doesn't exist in AQ$_SCHEDULES or cache.
//
// *Action: 
//
25228, 00000, "timeout or end-of-fetch during message dequeue from %s.%s"
// *Cause: User-specified dequeue wait time has passed or the end of the
//         queue has been reached but no message has been retrieved.
// *Action: Try dequeue again with the appropriate WAIT_TIME or the
//          FIRST_MESSAGE option.
//
25229, 00000, "error on transformation of message %s %s"
// *Cause: There was an error when transforming a message at enqueue,
//         dequeue or propagation time.
// *Action: Correct the transformation function.
//
25230, 00000, "invalid value %s, WAIT should be non-negative"
// *Cause: A negative value has been specified for WAIT.
// *Action: specify a non negative value or FOREVER.
//
25231, 00000, "cannot dequeue because CONSUMER_NAME not specified"
// *Cause: A user tried to dequeue from a queue that has been created for
//         multiple consumers but a CONSUMER_NAME was not been specified in
//         the dequeue options.
// *Action: Specify the CONSUMER_NAME in the dequeue options.
//
25232, 00000, "duplicate recipients specified for message"
// *Cause: An enqueue was performed with duplicate queue agents in the
//         recipients parameter.
// *Action: Remove the duplicate queue agent and retry the call.
//
25233, 00000, "invalid parameter specified for NAVIGATION"
// *Cause: An invalid parameter has been specified for NAVIGATION.
// *Action: Choose one of FIRST_MESSAGE, NEXT_MESSAGE or NEXT_TRANSACTION.
//          Use FIRST_MESSAGE for dequeuing the first message that satisifies
//          the criterion, NEXT_MESSAGE for dequeuing the next message
//          that satisifies the criterion and NEXT_TRANSACTION for moving to a
//          set of messages enqueued by another transaction.
//
25234, 00000, "NEXT_TRANSACTION navigation option invalid for queue table %s.%s"
// *Cause: The NEXT_TRANSACTION navigation option was used in a dequeue from
//         a queue in a queue table that was not created for transactional
//         grouping.
// *Action: Specify either FIRST_MESSAGE or NEXT_MESSAGE as the navigation
//          option. If you want to dequeue messages using transactional grouping
//          create the queue in a queue table that has transactional grouping
//          enabled.
//
25235, 00000, "fetched all messages in current transaction from %s.%s"
// *Cause: The NEXT_TRANSACTION navigation option was used in a dequeue when
//         there were no more messages that belong to the same transaction.
// *Action: Use the NEXT_TRANSACTION navigation option to move to the next
//          also use the FIRST_MESSAGE option to start from the head of the
//          queue again.
//
25236, 00000, "buffer too small for user data"
// *Cause: The variable or buffer used for the out parameter payload is
//         too small for the user data dequeued.
// *Action: Increase the size of the buffer or the size of the variable.
//          Maximum size allowed is 32K.
//
25237, 00000, "navigation option used out of sequence"
// *Cause: The NEXT_MESSAGE or NEXT_TRANSACTION option was specified after
//         dequeuing all the messages.
// *Action: Reset the dequeuing position using the FIRST_MESSAGE naviagtion
//          option and then specify the NEXT_MESSAGE or NEXT_TRANSACTION
//          option.
//
25238, 00000, "too many recipients specified for message destination %s"
// *Cause: An ENQUEUE was performed with more than 32 recipients for
//         the given destination (address).
// *Action: Reduce the number of recipients to 32 or less, and retry the call.
//
25239, 00000, "message ID not supplied when dequeuing from exception queue %s.%s"
// *Cause: An attempt was made to dequeue from a release 8.0-compatible
//         exception queue without including a message ID in the dequeue
//         options.
// *Action: Check the application to ensure that the queue name has been
//          specified correctly. If the queue name is correct supply a message
//          ID when dequeuing from a release 8.0-compatible exception queue.
//          Otherwise, upgrade the queue_table containing the queue to
//          release 8.1-compatible using the DBMS_AQADM.MIGRATE_QUEUE_TABLE
//          procedure.
//
25240, 00000, "message ID and dequeue condition/correlation ID specified in dequeue options"
// *Cause: An attempt was made to dequeue by including both a message ID and
//         a dequeue condition/correlation ID in the dequeue options.
//         In the dequeue options, you are permitted to specify either
//         message ID or dequeue condition/correlation ID, or neither.
// *Action: To dequeue a message, specify a message ID or a dequeue
//          condition/correlation ID in the dequeue options, but do not
//          specify both. If you want to dequeue in the queue's sort order,
//          then do not specify either the message ID or dequeue
//          condition/correlation ID in the dequeue options.
25241, 00000, "cannot change correlation ID from %s to %s without FIRST_MESSAGE option"
// *Cause: An attempt was made to change the correlation ID while using the
//         NEXT_MESSAGE or NEXT_TRANSACTION option for dequeuing.
// *Action: To use a correlation ID that is different from the previous
//          dequeue call, reset the dequeuing position by using the
//          FIRST_MESSAGE navigation option.
//
25242, 00000, "cannot change subscriber name from %s to %s without FIRST_MESSAGE option"
// *Cause: An attempt was made to change the subscriber name while using the
//         NEXT_MESSAGE or NEXT_TRANSACTION option for dequeuing.
// *Action: To use a subscriber name that is different from the previous
//          dequeue call, reset the dequeuing position by using the
//          FIRST_MESSAGE navigation option.
//
25243, 00000, "CONSUMER_NAME cannot be specified when dequeuing from exception queue %s.%s"
// *Cause: An attempt was made to dequeue from an exception queue by specifying
//         the CONSUMER_NAME in the dequeue options. CONSUMER_NAME can only
//         be specified when dequeuing from a normal queue created for multiple
//         consumers.
// *Action: Specify only the message id in the dequeue options to dequeue a
//          message from an exception queue.
//
25244, 00000, "dequeue index key not found, QUEUE %s, rowid %s"
// *Cause: An internal error was encountered. There may be an inconsistency in
//         the queue table index.
// *Action: Contact your Oracle customer support representative. You may need
//          to provide the trace file and information about reproducing the
//          error.
//
//
25245, 00000, "agent name cannot be specified if address is a single-consumer queue or an exception queue"
// *Cause: The agent name for the agent in the LISTEN call was specified
//         when the agent address was a single-consumer queue or an exception
//         queue.
// *Action: Do not specify the agent name.
25246, 00000, "listen failed, the address %s is an 8.0 style  exception queue"
// *Cause:  An 8.0 style exception queue was specified in the agent-list for
//          the LISTEN call.
// *Action: Specify a normal 8.0 style queue or an 8.1 style queue in the
//          agent-list.
//
25247, 00000, "%s is not a recipient of specified message"
// *Cause: The consumer name specified in the dequeue options is not a
//         recipient of the message specified by the message id.
// *Action: Ensure that the agent specified by the consumer name is a
//          recipient of the message specified by the message id.
//
25248, 00000, "duplicate agent specified in the agent list"
// *Cause: An agent was specified more than once in the agent list of the
//         LISTEN call.
// *Action: Remove the duplicate agent specification(s), and retry the call.
25249, 00000, "dequeue failed, dequeue not allowed for queue %s.%s"
// *Cause: An attempt was made to dequeue from a non-persistent queue.
// *Action: Dequeue from a different queue.
25250, 00000, "Cannot specify a remote recipient for the message"
// *Cause: A recipient for the message enqueued to a non-persistent queue
//         had a non-local address.
// *Action: Do not specify the address field or specify the queue which
//          is the target of the enqueue
25251, 00000, "exceeded maximum number of recipients for message"
// *Cause: An attempt was made to issue an ENQUEUE call that exceeded the
//         the maximum number (1024) of recipients per message.
// *Action: Reduce the number of recipients to 1024 or less, and retry
//          the call.
25252, 00000, "listen failed, the address %s is a non-persistent queue"
// *Cause:  A non-persistent queue was specified as an address for an agent in
//          the LISTEN call.
// *Action: Specify a normal queue as address for the agent, and retry the
//          the LISTEN call.
25253, 00000, "listen failed, queue %s.%s is not enabled for dequeue"
// *Cause:  An attempt was made to specify a queue that is not enabled for
//          dequeue in a LISTEN call.
// *Action: Enable the queue for dequeue using START_QUEUE, and retry
//          the LISTEN call.
25254, 00000, "time-out in LISTEN while waiting for a message"
// *Cause: The specified wait time has elapsed and there were no messages for
//         any of the agents in the agent-list.
// *Action: Try the LISTEN call with an appropriate time-out.
25255, 00000, "incorrect subscription string %s"
// *Cause:  An incorrect subscription string was specified with OCIRegister.
// *Action: Specify a subscription string using the [CONSUMER:]SCHEMA.QUEUE
//          form.
25256, 00000, "consumer cannot be specified with a single-consumer queue or an exception queue "
// *Cause:  An attempt was made to specify a consumer in the subscription
//          string when registering for notification on a single-consumer
//          queue or an exception queue.
// *Action: Do not specify the consumer in the subscription string.
25257, 00000, "consumer must be specified with a multi-consumer queue"
// *Cause:  An attempt was made to register on a multi-consumer queue without
//          specifying a consumer in the subscription string.
// *Action: Specify a consumer in the subscription string.
25258, 00000, "cannot register for notifications on an 8.0 style exception queue"
// *Cause:  An attempt was made to specify an 8.0 style exception queue in the
//          subscription string of OCIRegister.
// *Action: Specify a normal queue or a non-persistent queue.
25259, 00000, "cannot specify protocol for agent"
// *Cause:  The user specified the protocol attribute for an agent in the
//          agent list.
// *Action: Do not specify the protocol attribute of the agent object type.
/
25260, 00000, "AQ latch cleanup testing event"
// *Cause: N/A.
// *Action: event used for AQ statistics latch cleanup testing.
25261, 00000, "JOB_QUEUE_PROCESSES must be at least 2 for AQ propagation"
// *Cause:  AQ Propagator encountered a setting for JOB_QUEUE_PROCESSES that
//          is insufficient for AQ propagation.
// *Action: Set the number of JOB_QUEUE_PROCESSES to at least 2 for AQ
//          propagation.
25262, 00000, "agent name cannot be NULL if address is a multi-consumer queue"
// *Cause: The name for the agent in the LISTEN call was not specified
//         when the agent address was a multi-consumer queue.
// *Action: Specify a non-NULL name for the agent.
/
25263, 00000, "no message in queue %s.%s with message ID %s"
// *Cause:  An attempt was made to dequeue a message with a specific
//          message ID, but no such message exists in the queue.
// *Action: Try dequeue again with a valid message ID.
25264, 00000, "cant get signature for this queue"
// *Cause:  An attempt was made to dequeue the signature from this queue, which
//          is not reciever non-repidiable.
// *Action: Try dequeue again without the get signature option
25265, 00000, "specified signature for a queue which does not support reciever non-repudiation"
// *Cause:  An attempt was made to dequeue the message from a queue which
//          does not support reciever non-repudiation, but the signature was
//          specified for verification
// *Action: Try dequeue again without the signature
25266, 00000, "didnt try to dequeue by message id. with the signature"
// *Cause:  The signature was specified for a queue, but the dequeue was not
//          done by message id.
// *Action: Try dequeue again by message id.
25267, 00000, "didnt specify the signature for a reciever non-repudiable queue"
// *Cause:  The signature was not specified for a reciever non-repudiable queue
// *Action: Try dequeue again along with the signature
25268, 00000, "didnt dequeue in browse mode with get signature option"
// *Cause:  The dequeue was not performed in browse mode with get signature option
// *Action: Try dequeue again in browse mode
25269, 00000, "cant specify sognature with get signature option"
// *Cause:  The signature is not required for the dequeue with get signature
//          option
// *Action: Try dequeue again without the signature in dequeue options
25270, 00000, "sender info does not match with the actual sender of the message"
// *Cause:  The sender info. and the message id. do not match
// *Action: Provide the right sender info.
// *Action: Try dequeue again without the signature in dequeue options
25271, 00000, "queue table not found for the given queue"
// *Cause:  The queue table does not exist for the given queue
// *Action: Provide the right queue name
25272, 00000, "Signature does not exist for the given reciever and message id."
// *Cause:  Signature does not exist for the given reciever and message id.
// *Action: Check the message id. and the reciever's information
25273, 00000, "AQ QMN process alternate cleanup event"
// *Cause: N/A.
// *Action: event used for AQ QMN alternate cleanup mode.
25274, 00000, "AQ Buffered Queue event"
// *Cause: N/A.
// *Action: event used for AQ Buffered Queue mode.
25275, 00000, "Test support for buffered queues"
// *Cause: internal use only
// *Action: none.


/
/    25276-25320 Reserved for AQ administration callouts
/
25276, 00000, "table specified is not a queue table"
// *Cause: An invalid queue table name is specified.
// *Action: Check the dictionary views to see if the table is a queue table.
//
25277, 00000, "cannot grant or revoke object privilege on release 8.0 compatible queues"
// *Cause:  An attempt was made to grant or revoke object privilege on
//          release 8.0 style queues.
// *Action: Convert the release 8.0 compatible queue table to release 8.1
//          compatible using DBMS_AQADM.MIGRATE_QUEUE_TABLE before granting
//          or revoking object privilege.
//
25278, 00000, "grantee name cannot be NULL"
// *Cause:  An attempt was made to specify NULL for the grantee parameter.
// *Action: Specify a valid grantee parameter.
//
25279, 00000, "dequeue as select not supported before 8.2"
// *Cause:  Dequeue as select not supported before 8.2.
// *Action: Dont use select condition while dequeuing
25280, 00000, "complete sender information not provided to non-repudiate sender"
// *Cause:  complete sender information not provided to non-repudiate sender
// *Action: Provide the complete sender information
25281, 00000, "complete reciever information not provided to non-repudiate reciever"
// *Cause:  complete reciever information not provided to non-repudiate reciever
// *Action: Provide the complete reciever information
25282, 00000, "message id. not provided for non-repudiation"
// *Cause:  message id. was not provided
// *Action: Provide the message id.
25283, 00000, "either agent's name or address needed for non-repudiation"
// *Cause:  neither agent's name nor address provided for non-repudiation"
// *Action: Provide the agent info.
25284, 00000, "Invalid value %s for %s"
// *Cause: An Invalid value or NULL was specified for the parameter.
// *Action: Check the documentation for valid values.
25285, 00000, "Invalid value %s for array_mode"
// *Cause: An Invalid value or NULL was specified for the array_mode.
// *Action: Check the documentation for valid values.
25286, 00000, "Invalid number of elements in the message properties array"
// *Cause: Number of elements in the message properties array do not match the
// number of elements in the payload array.
// *Action: Create a message property array with one element (that
// applies for all the elements in the payload array) or
// create a message property array with the same number of elements as
// there are in the payload array.
25287, 00000, "Invalid value %s, %s should be non-negative"
// *Cause: An Invalid value or NULL was specified for the parameter.
// *Action: Specify a non negative integer.
25288, 00000, "AQ  HTTP propagation encountered error, status-code %d, %s"
// *Cause:  AQ propagation's HTTP request to the propagation servlet at the
//          specified address encountered an error
// *Action: Specify a valid address in the connect string of the propagation
//            destination dblink, the dblink user has the correct permissions,
//            check if the AQ propagation servlet was properly installed.
25289, 00000, "Buffer Already Exists"
// *Cause: Buffer already exists for the specified queue.
// *Action: None
25290, 00000, "Cannot complete operation on queue %s with existing messages"
// *Cause: Queue already has messages. Cannot complete operation
// *Action: Truncate the queue before adding/dropping a buffer
25291, 00000, "Buffer does not exist for the specified queue"
// *Cause: Buffer does not exist for the specified queue
// *Action: Operation on the buffer cannot be performed. create the buffer
25292, 00000, "Buffer operations are not supported on the queue"
// *Cause: Buffer operations are not supported on the specified queue type
// *Action: Buffered operations are only supported on  to 8.1 style 
//          queues, which do not have transaction grouping.
25293, 00000, "Lob attributes must be null for buffered operations"
// *Cause: Enqueue of a buffered  message with a non-null lob attribute was attempted
// *Action: Set the lob attributes to null before enqueuing the buffered message
25294, 00000, "Cannot propagate user buffered messages to a database with version lower than 10.2"
// *Cause: Propagation of user buffered messages was attempted to a database with version lower than 10.2.
// *Action: Do not propagate buffered messages to the database.
25295, 00000, "Subscriber is not allowed to dequeue buffered messages"
// *Cause: Subscriber is only allowed to dequeue persistent messages
// *Action: Drop the subscriber and re-create it, or dequeue only persistent messages for the subscriber
25296, 00000, "Queue Table %s has a buffered queue %s"
// *Cause: Cannot downgrade the queue table because it has a buffered queue
// *Action: Drop the buffer or the buffered queue
//25297, 00000, "Enqueue of buffered message failed, attempted to enqueue buffered message with %s"
// *Cause: Buffered message was enqueued by specifying delay or sequence deviation.
// *Action: Do not specify delay of sequence deviation when enqueuing buffered messages.
25298, 00000, "Only immediate visibility mode supported for buffered message enqueue or dequeue"
// *Cause: A visibility of dbms_aq.ON_COMMIT was supplied with the buffered message enqueue or dequeue
// *Action: Supply a visibility of dbms_aq.IMMEDIATE
25299, 00000, "Invalid message delivery_mode "
// *Cause: Invalid value was specified for delivery mode
// *Action: Specify  dbms_aq.BUFFERED or dbms_aq.PERSISTENT during Enqueue or dbms_aq.BUFFERED, dbms_aq.PERSISTENT or dbms_aq.PERSISTENT_OR_BUFFERED during Dequeue and Listen.
25300, 00000, "Cannot drop buffer for queue with buffered subscribers"
// *Cause: Cannot drop buffer for queue with buffered subscribers
// *Action: Either drop buffered subscribers or forcibly drop the buffer
25301, 00000, "Cannot enqueue or dequeue user buffered messages to a database with version lower than 10.2"
// *Cause: Enqueue or dequeue of user buffered messages was attempted to queues in a database with version lower than 10.2.
// *Action: Do not attempt to enqueue or dequeue user buffered messages.
25302, 00000, "Operation not possible for non-buffered queue %s"
// *Cause: Last enqd/ackd message is only supported for buffered queues
// *Action: The operation is not supported.
25303, 00000, "Buffered operation allowed only on the owner instance"
// *Cause: Operation was not performed on the owner instance.
// *Action: Perform operation on the owner instance.
25304, 00000, "Cannot use priority order queues for capture LCRs"
// *Cause: Capture LCRs can only use commit time or enqueue time ordered queues.
// *Action: Use the appropriate type of queue for captured LCRs.
25305, 00000, "enqueue failed, expiration must be zero for queue %s.%s"
// *Cause: An attempt was made to enqueue to a buffered
//         queue with expiration greater than zero seconds.
// *Action: Set expiration to zero.
/
25306, 00000, "Cannot connect to buffered queue's owner instance"
// *Cause: cannot connect to the owner instance of the buffered queue
// *Action: set listener information in REMOTE_LISTENERS or LOCAL_LISTENERS initialization parameter.
/
25307, 00000, "Enqueue rate too high, flow control enabled"
// *Cause: Subscribers could not keep pace with the enqueue rate.
// *Action: Try enqueue after waiting for some time.
25308, 00000, "AQ canonicalization event"
// *Document: NO
// *Cause:
// *Action:
/
25309, 00000, "Unable to lock deq IOT, skip retry count increment"
//*Document: NO
// *Cause:
// *Action:
/
25310, 00000, "Subscriber is Notification only; dequeue not supported"
// *Cause: Notification only subscribers are not allowed to dequeue.
// *Action: Recreate subscriber if necessary.
/
25311, 00000, "%s not supported for non-persistent queue"
// *Cause:  Specified QOS is not supported for non-persistent queues.
// *Action: Specify the right QOS.
/
25312, 00000, "Cannot specify nonzero sender protocol"
//*Document: Yes
// *Cause: Sender protocol was specified during an enqueue operation.
// *Action: Specify the enqueue sender protocol as null or zero.
/
25313, 00000, "a queue may not subscribe to itself for propagation"
// *Cause: The specified subscriber had a NULL name and an address equal to
//         the queue name.
// *Action: Provide a valid subscriber and retry the operation.
/
25314, 00000, "a commit-time queue table cannot be migrated to 8.0"
// *Cause: An attempt was made to migrate a commit-time queue table to an
//         unsupported compatibility level.
// *Action: Provide an appropriate compatibility level, and retry the
//          operation.
/
25315, 00000, "unsupported configuration for propagation of buffered messages"
// *Cause: An attempt was made to propagate buffered messages with the 
//         database link pointing to an instance in the destination database 
//         which is not the owner instance of the destination queue.
// *Action: Use queue to queue propagation for buffered messages.
/
25316, 00000, "Late in the current transaction to begin an Enqueue/Dequeue operation"
// *Cause:  Check if the Enqueue/Dequeue operation is performed via triggers
//          on Materialized Views which isn't supported.
// *Action: Triggers on materialized views aren't supported. Workarounds are 
//          on-demand materialized views or execution of trigger code 
//          within an autonomous txn.
/
25317, 00000, "Propagation stopped because of instance shutdown"
// *Cause:  A propagation job has stopped because the instance is
//          shutting down.
// *Action: No user action is required.
/
25318, 00000, "Propagation stopped because of instance affinity change"
// *Cause:  A propagation job has stopped because its instance affinity
//          has changed.
// *Action: No user action is required.  The job will restart on the
//          appropriate instance.
/
25319, 00000, "Queue table repartitioning aborted"
// *Cause:  During instance restart in an Oracle RAC environment, queue table 
//          repartitioning aborted due to errors.
// *Action: Look at the incident generated for this error and report the 
//          problem to Oracle Support Services.
/
25320, 00000, "Failed to create, alter, or remove Subscriber"
// *Cause:  There is a pending enqueue or dequeue operation on
//          this queue from the same session.
// *Action: Either COMMIT or ROLLBACK pending enqueue or dequeue operation
//          before attempting to create, alter, or remove the subscriber.
/
/    25321-25325 Reserved for enq/deq user properties
/
25321, 00000, "enqueue failed, user property specified but queue %s.%s is not an 8.1 style queue"
// *Cause:  user properties can only be specified when enqueueing into 8.1 
//          style queues.
// *Action: Specify an 8.1 style queue or pass user property as NULL.
/
25322, 00000, "message priority is out of range"
// *Cause: The message priority range of 0 to 9 was exceeded.
// *Action: Set the message priority in the range of 0 to 9.
/
/       25326-25350 Reserved for AQ Array/Miscellaneous Errors
/
25326, 00000, "Array %s operation failed for message at index %s"
// *Cause: Array operation fails for the message at specified index. Look
//         at the remainder of the error stack to see what the problem was.
// *Action: Fix cause of error and retry array operation.
25327, 00000, "Array size is invalid"
// *Cause: Array size must be a positive, non-zero integer. 
// *Action: Use corrected array size and retry array operation.
25328, 00000, "%s argument size %s is smaller than array size"
// *Cause: The size of the argument is smaller than the given array size. 
// *Action: Lower array size or use a larger sized input argument.
25329, 00000, "AQ array operations not allowed on 8.0 queues"
// *Cause: An array enqueue/dequeue was attempted on an 8.0 queue. 
// *Action: Use single enqueue/dequeue with this queue. 
25330, 00000, "PL/SQL associative arrays may not be used with AQ array operations"
// *Cause: A PL/SQL associative array was provided for the payload parameter
//         in an enqueue/dequeue array operation.
// *Action: Use VARRAY or NESTED TABLE types with AQ array operations. 
25331, 00000, "cannot downgrade because there are commit-time queue tables"
// *Cause: An attempt was made to downgrade a database that has commit-time
//         queue tables.
// *Action: Drop all commit-time queue tables before attempting the downgrade.
25332, 00000, "Invalid release value %s for queue table compatible parameter"
// *Cause: The release level given for the queue table compatible parameter
//         is invalid
// *Action: Specify a valid release value for the queue table compatible
//          parameter
25333, 00000, "Buffered Queue to Queue propagation did not connect to the correct instance"
// *Cause: Queue to Queue propagation for buffered messages didn't 
//         connect to the correct instance, most likely because service was
//         not started for the destination queue.
// *Action: No user action is required. Propagation will start the service for 
//          the destination queue and retry.
25334, 00000, "Buffered propagation must restart as the destination queue was recreated/moved"
// *Cause: Buffered propagation destination queue was recreated or its 
//         ownership was moved to another instance during propagation.
// *Action: No user action is required. Propagation will reinitialize its 
//          metadata and retry.
25335, 00000, "AQ array operations not allowed for buffered messages"
// *Cause: An array enqueue/dequeue was attempted for buffered messages
// *Action: Use single enqueue/dequeue for buffered messages or an array 
//          size of one.
25336, 00000, "Cannot contact instance %s during Streams AQ operation"
// *Cause: The specified instance was not responding to AQ requests.
// *Action: Set parameter aq_tm_processes to a non-zero value. If the problem
//          persists, contact Oracle Support Services.
25337, 00000, "Cannot propagate in queue-to-queue mode to a database with version lower than 10.2"
// *Cause: Remote subscriber with queue_to_queue mode set to TRUE was added.
//         The remote subscriber is on a database version lower than 10.2.
//         Propagation was scheduled to a destination database with version
//         lower than 10.2.
// *Action: Remove the remote subscriber with queue_to_queue mode and add the
//          subscriber back with queue_to_queue set to FALSE. Unschedule the
//          queue-to-queue propagation and schedule propagation in 
//          queue-to-dblink mode.
25338, 00000, "operation '%s' is not allowed for sync_capture '%s'"
// *Cause: An attempt was made to execute the specified operation for a 
//         sync_capture process.
// *Action: Remove the offending call.
25339, 00000, "STREAMS '%s' must be sync_capture"
// *Cause: The specified capture STREAMS did not exist or was not a
//         sync_capture process.
// *Action: Remove the offending call.
25340, 00000, "must use commit-time queue for sync_capture"
// *Cause: An attempt was made to create a sync_capture without using
//         a commit-time queue.
// *Action: Rerun statement with a commit-time queue.
25341, 00000, "sync_capture does not support \"%s\".\"%s\" because of the following reason:"
// *Cause: sync_capture encountered a table with an unsupported
//         property.  The most common reason is an unsupported column
//         data type.  
// *Action:  Revise the Capture rules to skip over the table in
//           question. One option is to remove the rule that captures changes
//           from the unsupported table.  Check DBA_STREAMS_TABLE_RULES to 
//           determine the rule on the table specified in the error. 
//           
//           Also query the DBA_STREAMS_UNSUPPORTED view to determine
//           which tables are not supported by STREAMS and for what
//           reason. 
//        
//           For potential workarounds to certain unsupported properties, see
//           Metalink.
25342, 00000, "cannot downgrade because there are apply processes for user buffered messages"
// *Cause: An attempt was made to downgrade a database that has apply process
//         for user-buffered messages.
// *Action: Drop all the apply processes for user-buffered messages before 
//          attempting the downgrade.
25343, 00000, "Streams error queue cannot be exported"
// *Cause: An attempt was made to export a database that has apply errors.
// *Action: Delete or reexecute errors before attempting the export.
25344, 00000, "statement has bind variables"
// *Cause: Current API could not handle a statement with bind variables.
// *Action: Use alternative API which handles bind variables.
25345, 00000, "requested AQ minimum Oracle Streams Pool size %s greater than Oracle Streams Pool size %s"
// *Cause: The minimum value requested for the Oracle Streams Advanced 
//         Queuing (AQ) pool size was greater than the Oracle Streams pool 
//         size. 
// *Action: Set the minimum value for the Oracle Streams AQ pool size to 
//          less than or equal to the Oracle Streams pool size. 
25346, 00000, "requested AQ maximum Oracle Streams Pool size %s less than AQ minimum Oracle Streams Pool size %s"
// *Cause: The maximum value requested for the Oracle Streams Advanced 
//         Queuing (AQ) pool size was less than the minimum value of the 
//         Oracle Streams (AQ) pool size.
// *Action: Set the maximum value for the Oracle Streams AQ pool size to 
//          greater than or equal to the minimum value of the Oracle 
//          Streams AQ pool size. 
/
/       25350-25375 Reserved for V8 Transaction OCI
/
25350, 00000, "maximum number of concurrent transaction branches exceeded"
// *Cause: the limit on the number of concurrent transaction branches has
//         been reached
// *Action: Increase the INIT.ORA parameter 'transactions' and restart the
//          system.
25351, 00000, "transaction is currently in use"
// *Cause:  The transaction is currently used by a different session.
// *Action: Do not switch to a transaction attached to some other session.
25352, 00000, "no current transaction"
// *Cause:  The user session is not attached to any transaction.
// *Action: Do not attempt to detach when there is no current transaction.
25353, 00000, "branch marked for deletion"
// *Cause:  The branch specified cannot be killed immediately because another
//          session is using the branch, but it has been marked for kill. This
//          means it will be deleted as soon as possible after the current
//          uninterruptable operation is completed.
// *Action: No action is required for the branch to be deleted.
/
/       25400-25425 Reserved for Application Failover
/
25400, 00000, "must replay fetch"
// *Cause:  A failure occured since the last fetch on this statement. Failover
//          was able to bring the statement to its original state to allow
//          continued fetches.
// *Action: This is an internally used error message and should not be seen
//          by the user.
25401, 00000, "can not continue fetches"
// *Cause:  A failure occured since the last fetch on this statement. Failover
//          was unable to bring the statement to its original state to allow
//          continued fetches.
// *Action: Reexecute the statement and start fetching from the beginning
25402, 00000, "transaction must roll back"
// *Cause:  A failure occured while a transaction was active on this
//          connection.
// *Action: The client must roll back.
//
25403, 00000, "could not reconnect"
// *Cause:  The connection to the database has been lost, and attempts to
//          reconnect have failed.
// *Action: Manually reconnect.
//
25404, 00000, "lost instance"
// *Cause:  The primary instance has died.
// *Action: This is an internally used error message and should not be seen
//          by the user.
//
25405, 00000, "transaction status unknown"
// *Cause:  A failure occured while a transaction was attempting to commit.
//          Failover could not automatically determine instance status.
// *Action: The user must determine the transaction's status manually.
25406, 00000, "could not generate a connect address"
// *Cause:  Failover was unable to generate an address for a backup instance.
// *Action: Contact Oracle customer support.
//
25407, 00000, "connection terminated"
// *Cause:  The connection was lost while doing a fetch.
// *Action: This is an internally used error message and should not be seen
//          by the user.
//
25408, 00000, "can not safely replay call"
// *Cause:  The connection was lost while doing this call. It may not be
//          safe to replay it after failover.
// *Action: Check to see if the results of the call have taken place, and then
//          replay it if desired.
//
25409, 00000, "failover happened during the network operation,cannot continue"
// *Cause:  The connection was lost when fetching a LOB column.
// *Action: Failover happened when fetching LOB data directly or indirectly.
//          Please replay the top level statement.
/ do NOT translate or document message 25410 - it is never displayed
// NLS_DO_NOT_TRANSLATE [25410,25410]
25410,00000, "Application requested failover retry"
// *Cause:  The application failover callback requested failover retry.
// *Action: None.  Informational only.
25411,00000, "transaction replay was not successful"
// *Cause:  Replay was not able to restore the transaction state to match
//          the pre-failover state.
// *Action: Manually determine if it is safe to resubmit the transaction.
25412,00000, "transaction replay disabled by call to %s"
// *Cause:  The application called an Oracle Call Interface (OCI) function 
//          that is not supported with transactional failover.
// *Action: Manually recover the pending transaction.
25413,00000, "transaction replay disabled by user request" 
// *Cause:  The application explicitly disabled transaction replay by
//          setting attribute OCI_ATTR_TRANSACTIONAL_TAF=FALSE.
// *Action: This message is informational only.
25414,00000, "Uncommitted transaction detected after TAF callback."
// *Cause:  The Transparent Application Failover (TAF) callback started a 
//          transaction and did not commit or rollback prior to exiting.
// *Action: End the transaction with a COMMIT or a ROLLBACK prior to
//          exiting the TAF callback.
25415,00000, "OCI Transaction TAF replay initiation timeout exceeded."
// *Cause:  Oracle Call Interface (OCI) Transaction TAF replay was attempted 
//          after REPLAY_INITIATION_TIMEOUT expired.  The value for
//          REPLAY_INITIATION_TIMEOUT is configured for the service to which 
//          the application is connected.
// *Action: Manually recover the pending transaction.
/ do NOT translate or document message 25416 - it is never displayed
// NLS_DO_NOT_TRANSLATE [25416,25416]
25416,00000, "Retry current call"
// *Cause:  Failover sucessfully recovered an in-flight transaction
// *Action: Re-execute the current call
25417,00000, "replay disabled; call (%s) too large to record"
// *Cause:  Oracle Call Interface (OCI) Application Continuity replay was 
//          attempted after a large call that could not be recorded due
//          to excessive memory requirements.
// *Action: Break up the call into smaller pieces and retry failover, or
//          manually retry the user operation.
25418,00000, "transaction replay disabled by the use of object type in function %s"
// *Cause:  The application used an Oracle Call Interface (OCI) object
//          type that is not supported with transactional failover.
// *Action: Manually recover the pending transaction.
25419,00000, "transaction replay disabled in function %s by the use of unsupported type %s"
// *Cause:  The application used an Oracle Call Interface (OCI)
//          type that is not supported with transactional failover.
// *Action: Manually recover the pending transaction.
25420, 0000, "too many calls in request; replay disabled"
// *Cause:    Application Continuity failover was attempted after executing
//            a request with a large number of Oracle Call Interface (OCI)
//            calls, so replay of the request was not possible.
// *Action:   Resubmit and consider partitioning application work into
//            more requests with fewer OCI calls in each request.
//
25425, 00000, "connection lost during rollback"
// *Cause:  The connection was lost while issuing a rollback and the
//          application failed over.
// *Action: The connection was lost and failover happened during rollback.
//          If the transaction is not externally coordinated, then Oracle
//          implicitly rolled back, so no action is required. Otherwise
//          examine pending_trans$ to determine if "rollback force" is
//          required.
/
/       25426-25435 Reserved for Dblink Concentration
/
25426, 00000, "remote instance does not support shared dblinks"
// *Cause:   A shared dblink is being used to connect to a remote instance
//           that does not support this feature because it is an older version.
// *Action:  Use a normal dblink if you need to connect to this instance.
/
25427, 00000, "cannot downgrade database links after database link data dictionary has been upgraded "
// *Cause:   An attempt was made to downgrade  after the upgrade of the 
//           database link data dictionary.
// *Action:  Drop the database links before attempting the downgrade.
/
25428, 00000, "authentication failure while connecting through database link"
// *Cause:   An attempt to connect using the database link failed.
// *Action:  Ensure connection details for the database link are correct.
/
25429,00000, "Break request cannot be propagated over shared database link."
// *Cause:  No call in progress over shared database link.
// *Action: No action required. This is an informational message only.
/
25430,00000, "connected user database links are not supported in proxy session"
// *Cause:  A connected user database link is being used to connect to a
//          remote database from a proxy user session.
// *Action: No action required. This was an informational message only.
/
25431,00000, "Connection with protocol %s is disallowed by the outbound_dblink_protocols parameter."
// *Cause:  An attempt to connect using the database link failed 
//          because the network protocol used for the database link 
//          is disallowed.
// *Action: Either set the value of the outbound_dblink_protocols 
//          initialization parameter appropriately to include the required
//          protocol or change the protocol used by the database link to 
//          conform to the protocols allowed by the outbound_dblink_protocols
//          parameter.
/
25432,00000, "database link log on info tracing"
// *Document: NO
// *Cause:
// *Action: 
/
25433,00000, "User %s does not have INHERIT REMOTE PRIVILEGES privilege on connected user %s."
// *Cause:  An attempt was made to use a connected user database link inside
//          a definer's rights function, procedure or view, and the owner
//          of the function, procedure or view lacked INHERIT REMOTE PRIVILEGES 
//          privilege on the connected user.
// *Action: Either do not start the function, procedure or view,
//          or grant the owner of the function, procedure or view 
//          INHERIT REMOTE PRIVILEGES privilege on the connected user.
/
25434,00000, "Connected user database link usage by the common user %s is not allowed."
// *Cause: The COMMON_SCHEMA_ACCESS lockdown profile feature was disabled.
// *Action: Either do not use the database link as a common user 
//          or have the administrator enable COMMON_SCHEMA_ACCESS lockdown
//          profile feature.
/  
/       25436-25476 Reserved for Rules Engine
/
25436, 00000, "invalid table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the table values specified had an invalid alias.
// *Action:  Check the valid table aliases in the evaluation context,
//           and try again with a valid alias.
25437, 00000, "duplicate table value for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           some of the table values specified had the same table alias.
// *Action:  Check the table values specified, and try again with only
//           one value per table.
25438, 00000, "invalid variable name: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the variable values specified had an invalid name.
// *Action:  Check the valid variable names in the evaluation context,
//           and try again with a valid name.
25439, 00000, "duplicate variable value for variable: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           some of the variable values specified had the same variable name.
// *Action:  Check the variable names specified, and try again with only
//           one value per variable.
25440, 00000, "invalid table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the column values specified had an invalid table alias.
// *Action:  Check the valid table aliases in the evaluation context,
//           and try again with a valid name.
25441, 00000, "duplicate column value for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the column values supplied a value for a
//           table alias, which already had a table value supplied.
// *Action:  Check the table and column values specified, and try again with
//           either a table value or column values for each table alias.
25442, 00000, "too many column values for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           too many column values were supplied for the specified
//           table alias.
// *Action:  Check the column values specified, and try again with
//           the right number of column values.
25443, 00000, "duplicate column value for table alias: %s, column number: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           duplicate column values were supplied for the specified
//           table alias and column number.
// *Action:  Check the column values specified, and try again with
//           only one column value for each table alias, and column number.
25444, 00000, "invalid ROWID: %s for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           an invalid ROWID was supplied for the specified
//           table alias.
// *Action:  Check the column values specified, and try again with
//           only one column value for each table alias, and column number.
25445, 00000, "invalid column number: %s for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           an invalid column number was supplied for the specified
//           table alias as a part of a column value.
// *Action:  Check the column values specified, and try again with
//           a valid column number.
25446, 00000, "duplicate column value for table alias: %s, column: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           duplicate column values were supplied for the specified
//           table alias and column name.
// *Action:  Check the column values specified, and try again with
//           only one column value for each table alias, and column name.
25447, 00000, "encountered errors during evaluation of rule %s.%s"
// *Cause:   An attempt to evaluate was made, which failed during the
//           evaluation of the specified rule.
// *Action:  Check the rule and the values passed to evaluate, and try
//           again with valid values.
25448, 00000, "The %s %s.%s has errors."
// *Cause:   An attempt to load the specified rule or expression failed due
//           to errors in the rule or expression.
// *Action:  Check the rule or expression and retry the operation.
25449, 00000, "invalid variable name: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the attribute values specified had an invalid
//           variable name.
// *Action:  Check the valid variable names in the evaluation context,
//           and try again with a valid name.
25450, 00000, "error %s during evaluation of rule set %s.%s"
// *Cause:   The specified error occurred during evaluation of the
//           rule set.
// *Action:  Check the error and take appropriate action.
25451, 00000, "too many attribute values for variable: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           too many attribute values were supplied for the specified
//           variable.
// *Action:  Check the attribute values specified, and try again with
//           the right number of attribute values.
25452, 00000, "duplicate attribute value for variable: %s, attribute: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           duplicate attribute values were supplied for the specified
//           variable and attribute name.
// *Action:  Check the attribute values specified, and try again with
//           only one attribute value for each variable, and attribute name.
25453, 00000, "invalid iterator: %s"
// *Cause:   An attempt to get rule hits or to close an iterator was made,
//           which failed because an invalid iterator was passed in.
// *Action:  Check the iterator, and try again with a valid iterator.
25454, 00000, "error during evaluation of rule set: %s.%s for iterator: %s"
// *Cause:   An attempt to get rule hits for an iterator was made,
//           which failed because of an error in evaluation of the specified
//           rule set.
// *Action:  Check the validity of the rule set and try again.
25455, 00000, "evaluation error for rule set: %s.%s, evaluation context: %s.%s"
// *Cause:   An attempt to evaluate the specified rule set using the
//           evaluation context specified failed due to some errors.
// *Action:  Check additional errors signalled to determine the problem.
25456, 00000, "rule set was modified or evaluation terminated for iterator: %s"
// *Cause:   An attempt to get rule hits was made, which failed because
//           the underlying rule set was modified after the iterator was
//           returned.
// *Action:  Try again after re-evaluating the rule set.
25457, 00000, "evaluation function %s returns failure"
// *Cause:   The specified evaluation function returned a failure during
//           evaluation, causing evaluation to terminate.
// *Action:  Check arguments to evaluate and retry.
25458, 00000, "Value not supplied for %s %s"
// *Cause:   Variable or table column values were not supplied for evaluation.
// *Action:  Supply all the required variable and column data points for 
//           Independent Expression Evaluation.
25459, 00000, "Data conversion for %s %s failed"
// *Cause:   The attempt to convert data to the data type of the variable or
//           column failed.
// *Action:  Supply the correct data for variable or column.
25461, 00000, "rule set not specified"
// *Cause:   An attempt to evaluate was made, which failed because
//           the ruleset name specified was null.
// *Action:  Check the rule set name, and try again with a valid name.
25462, 00000, "evaluation context not specified"
// *Cause:   An attempt to evaluate was made, which failed because
//           the evaluation context specified was null.
// *Action:  Check the evaluation context name, and try again with a
//           valid name.
25463, 00000, "table alias not specified"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the table values specified had a NULL alias name.
// *Action:  Check the list of table values, and try again with a
//           valid alias name.
25464, 00000, "ROWID not specified for table alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           the table value for the specified table alias had a NULL ROWID.
// *Action:  Check the list of table values, and try again with a
//           valid ROWID.
25465, 00000, "variable name not specified"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the variable values specified had a NULL variable name.
// *Action:  Check the list of variable values, and try again with a
//           valid variable name.
25466, 00000, "data not specified for variable name: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           the variable value for the specified variable name had NULL
//           data.
// *Action:  Check the list of variable values, and try again with
//           valid data.
25467, 00000, "table alias not specified"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the column values specified had a NULL alias name.
// *Action:  Check the list of column values, and try again with a
//           valid alias name.
25468, 00000, "column name not specified for alias: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the column values for the specified alias name
//           had a NULL column name.
// *Action:  Check the list of column values, and try again with a
//           valid column name.
25469, 00000, "data not specified for alias: %s column name: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           the column value for the specified alias and column name
//           had NULL data.
// *Action:  Check the list of column values, and try again with
//           valid data.
25470, 00000, "duplicate attribute value for variable: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the attribute values supplied a value for a
//           variable, which already had a variable value supplied.
// *Action:  Check the variable and attribute values specified,
//           and try again with either a variable value or
//           attribute values for each variable.
25471, 00000, "attribute name not specified for variable: %s"
// *Cause:   An attempt to evaluate was made, which failed because
//           one of the attribute values for the specified variable
//           had a NULL attribute name.
// *Action:  Check the list of attribute values, and try again with a
//           valid attribute name.
25472, 00000, "maximum open iterators exceeded"
// *Cause:   The open rule hit iterators in the session exceeded 
//           2 * OPEN_CURSORS.
// *Action:  Close some rule hit iterators.
//
25473, 00000, "cannot store %s in rule action context"
// *Cause:   The user attempted to put unsupported data types, such as LOBs 
//           and evolved ADTs, into the rule action context.
// *Action:  Use only supported data types in rule action context.
/ 25474 is reserved for dumping info
/ 25475 is reserved for debug mode
25476, 00000, "use pre-5523578 behaviour when looking up enabled roles"
// *Cause:  N/A
// *Action: Derive the enabled roles under the rules engine using the old
//          method that existed before the fix to bug 5523578.
/
/
/       25500-25525 Reserved for Quiesce Database Feature Errors
/
25500, 00000, "database is not open"
// *Cause:   Database must be open to perform ALTER SYSTEM QUIESCE RESTRICTED
//           command.
// *Action:  Open the database and retry this command.
25501, 00000, "ALTER SYSTEM QUIESCE RESTRICTED command failed"
// *Cause:   Database resource manager failed to change plan.
// *Action:  Look at the alert logs to see detailed description of the error.
25502, 00000, "concurrent ALTER SYSTEM QUIESCE/UNQUIESCE command is running"
// *Cause:   There is a concurrent ALTER SYSTEM QUIESCE RESTRICTED or ALTER
//           SYSTEM UNQUIESCE command running in the system.
// *Action:  Contact the database administrator who is responsible for the
//           concurrent command.
25503, 00000, "cannot open database because the database is being quiesced"
// *Cause:   Database cannot be opened because the system is being or has
//           been quiesced.
// *Action:  Open the database after the system has been quiesced.
25504, 00000, "the system is already in quiesced state"
// *Cause:   Cannot quiesce the system because the system is already quiesced.
// *Action:
25505, 00000, "the system is not in quiesced state"
// *Cause:   Cannot unquiesce the system because the system is not in quiesced
//           state.
// *Action:
25506, 00000, "resource manager has not been continuously on in some instances"
// *Cause:   Cannot quiesce the system because resource manager has not been
//           continuously on since startup in this or some other instances.
// *Action:
25507, 00000, "resource manager has not been continuously on"
// *Cause:   Cannot quiesce the system because resource manager has not been
//           continuously on since startup.
// *Action:
25508, 00000, "database is not mounted"
// *Cause:   Database must be mounted to perform ALTER SYSTEM UNQUIESCE
//           command.
// *Action:  Mount the database and retry this command.
25509, 00000, "operation on \"%s\".\"%s\".%s not allowed"
// *Cause:   A column has been added to a replicated table, but replication
//           support processing has not completed.
// *Action:  Wait until replication support processing has completed
//           before updating the column
25510, 00000, "quiesce not supported for the root container"
// *Cause:   Could not quiesce the root container.
// *Action:  This operation is not supported for the root container.
25511, 00000, "quiesce not supported for pluggable databases"
// *Cause:   Could not quiesce the pluggable database.
// *Action:  This operation is not supported for pluggable databases.
/
/       25526-25550 Reserved for MTTR advisory
/
25526, 00000, "bad format of _DB_MTTR_SIM_TARGET: %s"
// *Cause:   One value in _DB_MTTR_SIM_TARGET is not a valid MTTR.
// *Action:  Alter the value of _DB_MTTR_SIM_TARGET.
25527, 00000, "bad format of _DB_MTTR_SIM_TARGET"
// *Cause:   One value in _DB_MTTR_SIM_TARGET is empty.
// *Action:  Set the value of _DB_MTTR_SIM_TARGET properly.
25528, 00000, "too many candidate MTTRs are specified in _DB_MTTR_SIM_TARGET"
// *Cause:   Too many candidate MTTRs are specified in _DB_MTTR_SIM_TARGET.
// *Action:  Alter the value of _DB_MTTR_SIM_TARGET.
25530, 00000, "FAST_START_MTTR_TARGET is not specified"
// *Cause:   An attempt to start MTTR advisory was made, which failed because
//           FAST_START_MTTR_TARGET was not specified.
// *Action:  Set FAST_START_MTTR_TARGET.
25531, 00000, "MTTR specified is too small: %s"
// *Cause:   The current FAST_START_MTTR_TARGET setting or a candidate MTTR
//           setting is too small for MTTR advisory.
// *Action:  Set a larger FAST_START_MTTR_TARGET or candidate MTTR.
25532, 00000, "MTTR specified is too large: %s"
// *Cause:   The current FAST_START_MTTR_TARGET setting or a candidate MTTR
//           setting is too large for MTTR advisory.
// *Action:  Set a smaller FAST_START_MTTR_TARGET or candidate MTTR.
25533, 00000, "FAST_START_IO_TARGET or LOG_CHECKPOINT_INTERVAL is specified" 
// *Cause:   An attempt to start MTTR advisory was made, which failed because
//           either FAST_START_IO_TARGET or LOG_CHECKPOINT_INTERVAL was
//           specified.
// *Action:  Set FAST_START_IO_TARGET and LOG_CHECKPOINT_INTERVAL to 0.
/
/       25950-25999 Reserved for Join Index Errors
/
25950, 00000, "missing where clause in join index specification\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because no valid where clause was found.
// *Action:  Ensure that a where clause with valid join conditions is
//           specified in the create index statement.
25951, 00000, "join index where clause cannot contain OR condition\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because there was an OR branch in the where clause.
// *Action:  Reformulate the where clause without using ORs.
25952, 00000, "join index must only contain inner equi-joins\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because it included a predicate which wasn't an equi-inner join.
// *Action:  Remove the inappropriate predicate.
25953, 00000, "join index cannot be a functional index\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because a functional index was requested or necessary (such as
//           is the case for indexing columns using timezone).
// *Action:  Remove any functional indexing columns.
25954, 00000, "missing primary key or unique constraint on dimension\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because one or more dimensions did not have an appropriate
//           constraint matching the join conditions.
// *Action:  Ensure that the where clause is correct (contains all of the
//           constraint columns) and that an enforced constraint is on
//           each dimension table.
25955, 00000, "all tables must be joined in the where clause\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because one of the tables in the from clause did not appear
//           in the where clause.
// *Action:  Ensure that the where clause contains all from clause tables.
25956, 00000, "join index cannot be created on tables owned by SYS\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because one of the tables was owned by SYS.
// *Action:  Ensure that no join index related table is owned by SYS.
25957, 00000, "join index where clause cannot contain cycles\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because the where clause contains a cycle.
// *Action:  Ensure that the where clause is in the form of a star
//           or snowflake schema.
25958, 00000, "join index where clause predicate may only contain column references\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because a predicate in the where clause contained something
//           other than a simple column.
// *Action:  Ensure that the where clause only contains columns.
25959, 00000, "join index must be of the bitmap type\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because no bitmap keyword was used.
// *Action:  Make the index a bitmap index.
25960, 00000, "join index cannot be based on a temporary table\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because one of the tables was temporary.
// *Action:  Ensure no underlying tables are temporary.
25961, 00000, "join index prevents dml cascade constraint operation\n"
// *Cause:   An attempt to execute dml resulted in the need to perform
//           dml on another table because of a cascade constraint.
//           The join index only allows one of its underlying tables
//           to me modified at a time.
// *Action:  Drop the join index or remove the constraint.
25962, 00000, "join index prevents multitable insert or merge\n"
// *Cause:   An attempt to execute an merge or multitable insert on
//           a table that was used to create a bitmap join index was made.
//           Merge and multitable inserts are not supported on tables
//           that were used to create a bitmap join index.
// *Action:  Drop the join index.
25963, 00000, "join index must be created on tables\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because the from clause contains non table object.
// *Action:  Ensure that the from clause only contains tables.
25964, 00000, "column type incompatible with join column type\n"
// *Cause:   The datatype of the join column is incompatible with the
//           datatype of the joined column.
// *Action:  Select a compatible datatype for the join column.
25965, 00000, "fact table must be included in the from clause\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because the from clause does not contain the fact table.
// *Action:  Ensure that the from clause contains the fact table.
25966, 00000, "join index cannot be based on an index organized table\n"
// *Cause:   An attempt to create a join index was made, which failed
//           because one of the tables was an index organized table.
// *Action:  Ensure no underlying tables are index organized.
/
/       26000-26099 Reserved for Direct Path Load Errors
/
26000, 00000, "partition load specified but table %s is not partitioned\n"
// *Cause:   The Loader control file contains a PARTITION clause but the
//           table being loaded is not partitioned.
// *Action:  Remove the partition specification from the SQL*Loader control
//           file and retry the load.
26001, 00000, "Index %s specified in SORTED INDEXES does not exist on table %s\n"
// *Cause:   A nonexistent index was specified in the SORTED INDEXES clause.
// *Action:  Do not specify as a SORTED INDEX.
26002, 00000, "Table %s has index defined upon it.\n"
// *Cause:   Parallel load was specified into a table which has index
//           defined upon it.
// *Action:  Drop index(es) defined upon table, or don't use parallel load,
//           or use SKIP_INDEX_MAINTENANCE option.
26003, 00000, "parallel load not supported for index-organized table %s.\n"
// *Cause:   Parallel load is not supported for index-organized tables.
// *Action:  load the index-organized table without the PARALLEL option.
26004, 00000, "Tables loaded through the direct path may not be clustered\n"
// *Cause:   User attempted to load a clustered table via the direct path.
// *Action:  Use the conventional path.
26005, 00000, "Invalid handle for direct path load\n"
// *Cause:   In direct path load, the handle passed in does not match the type
//           listed.
// *Action:  Verify the handle and type are correct.
26006, 00000, "Incorrect bind variable in column %s's sql expression - %s\n"
// *Cause:   In direct path load, the bind variables listed in the
//           sql expression do not match the input argument column names.
// *Action:  Verify all the input arguments are listed in the expression as
//           bind variables, and all the bind variables are listed as
//           input arguments to the expression.  Or verify that there were
//           no errors in executing the OCI statements when getting the bind
//           variable list.
26007, 00000, "invalid value for SETID or OID column\n"
// *Cause:   The value passed in a Direct Path API stream for a column
//           containing a SETID or OID has an invalid value.  SETIDs and
//           Object IDs must be either 16 bytes of RAW data or 32 bytes of
//           hexidecimal characters. 
// *Action:  Regenerate the Direct Path API stream with a valid value for the
//           SETID column.
26008, 0, "Invalid syntax or bind variable in SQL string for column %s.\n%s\n"
// Cause:  See following error message for more information.
//         A SQL string cannot have quoted strings improperly terminated.
//         A bind variable in a SQL string cannot have a length of 0, cannot
//         exceed maximum length of 30 characters, and cannot be missing a
//         double quote.
// Action: Fix the SQL string.  See following error for more information.
26009, 00000, "stream verification error: %s\n"
// *Cause:   An error has occurred in a Data Pump stream verification 
//           operation.
// *Action:  Contact Oracle Support Services.
26010, 00000, "Column %s in table %s is NOT NULL and is not being loaded\n"
// *Cause:   A column which is NOT NULL in the database is not being loaded
//           and will cause every row to be rejected.
// *Action:  Load the column by specifying the NOT NULL column in the
//           INTO TABLE clause in the SQL*Loader control file.
26011, 00000, "Cannot load type %s into column %s in table %s\n"
// *Cause:   A column can only store data of type declared for that column.
//           And a substitutable column can only store data of valid subtypes
//           of the supertype declared for that column.
// *Action:  Check that the type or subtype specified is valid for that column.
26012, 0, "header in file %s has an incompatible version number\n"
// *Cause:  A dump file was specified for a load operation whose version
//          number is incompatible with the dump file version currently 
//          produced by the Oracle server on the system. Usually this
//          message indicates that the dump file was produced by a newer
//          version of the Oracle server.
// *Action: Load this dump file using the same version of the Oracle
//          server that created the file.
26013, 00000, "List allocated may not be big enough\n"
// *Cause:   There seems to be a discrepancy between the size for a list or
//           buffer allocated by direct path api and the size needed.
// *Action:  Contact Oracle Customer Support.
26014, 00000, "unexpected error on %s %s while retrieving %s\n%s"
// *Cause:  The SQL error was returned from an OCIStmtExecute call.
// *Action: Correct the SQL error that was returned.
26015, 00000, "Array column %s in table %s is not supported by direct path\n"
// *Cause:   User attempted to load an array column via the direct path.
// *Action:  Use the conventional path.
26016, 00000, "Virtual column %s in table %s.%s cannot be loaded by direct path\n"
// *Cause:   You attempted to load an virtual column using the direct path.
// *Action:  Virtual columns cannot be loaded using the direct path.
26017, 00000, "global indexes not allowed for direct path load of table partition %s"
// *Cause: Global indexes are defined on a table when direct path loading a
//         single partition of the table.
26018, 00000, "Column %s in table %s does not exist\n"
// *Cause:  Column specified in the loader control file does not exist.
// *Action: Make sure the column exists and that you have privileges on it.
//          Correct the loader control file if it is wrong.
26019, 00000, "Column %s in table %s of type %s not supported by direct path\n"
// *Cause:  The Specified column of SQL column type %s is not supported by
//          the direct path loader.
// *Action: If the column is NULLable, remove it from the control file
//          description.  Then it will be loaded as a NULL.
26020, 00000, "index %s.%s loaded successfully with %s keys"
// *Cause: Non-partitioned index information put to loader log file.
// *Action: None.  Informational only.
26021, 00000, "index %s.%s partition %s loaded successfully with %s keys"
// *Cause: Partitioned index information put to loader log file.
// *Action: None.  Informational only.
26022, 00000, "index %s.%s was made unusable due to:"
// *Cause: A Non-partitioned index was made index unusable due to the
//         error displayed below this error.
// *Action: Depending on the error, either rebuild the index, or drop and
//          re-create it.
26023, 00000, "index %s.%s partition %s was made unusable due to:"
// *Cause: A partition of a partitioned index was made index unusable due to
//         error displayed below this error.
// *Action: Depending on the error, either rebuild the index partition,
//          or drop and re-create the entire index.
26024, 00000, "SKIP_UNUSABLE_INDEXES requested and index segment was initially unusable"
//* Cause:  User requested SKIP_UNUSABLE_INDEXES option, and the index segment
//*         was in unusable state prior to the beginning of the load.
//* Action: Informational only.  User will need to either rebuild the index
//*         or index partition, or re-create the index.
26025, 00000, "SKIP_INDEX_MAINTENANCE option requested"
//* Cause:  User requested that index maintenance be skipped on a direct
//          path load.
//* Action: The listed index was put into Index Unusable state due to the user
//          requesting that index maintenance be skipped.  Either rebuild the
//          index or index partitions, or drop and re-create the index.
26026, 0000, "unique index %s.%s initially in unusable state"
//* Cause:  A unique index is in IU state (a unique index cannot have
//*         index maintenance skipped via SKIP_UNUSABLE_INDEXES).
//* Action: Either rebuild the index or index partition, or use
//*         SKIP_INDEX_MAINTENANCE if the client is SQL*Loader.
26027, 0000, "unique index %s.%s partition %s initially in unusable state"
//* Cause:  A partition of a unique index is in IU state (a unique index
//*         cannot have index maintenance skipped via SKIP_UNUSABLE_INDEXES).
//* Action: Either rebuild the index or index partition, or use
//*         SKIP_INDEX_MAINTENANCE if the client is SQL*Loader.
26028, 0000, "index %s.%s initially in unusable state"
//* Cause:  An index is in IU state prior to the beginning of a direct
//*         path load, it cannot be maintained by the loader.
//* Action: Either rebuild the index, re-create the index, or use either
//*         SKIP_UNUSABLE_INDEXES or SKIP_INDEX_MAINTENANCE (Sql*Loader only).
26029, 0000, "index %s.%s partition %s initially in unusable state"
//* Cause:  A partition of an index is in IU state prior to the beginning
//*         of a direct path load, it cannot be maintained by the loader.
//* Action: Either rebuild index partition, re-create the index, or use either
//*         SKIP_UNUSABLE_INDEXES or SKIP_INDEX_MAINTENANCE (Sql*Loader only).
26030, 0000, "index %s.%s had %s partitions made unusable due to:"
//* Cause: A logical index error occurred on a partitioned index which
//*        affected one or more index partitions, which are listed below
//*        this message.
//* Action: The affected index partitions will have to be re-built, or, the
//*         entire index dropped and re-created.
26031, 0000, "index maintenance error, the load cannot continue"
//* Cause: A index errror occurred during the index maintenance phase of
//*        a direct path load.  The load cannot continue.  See error message
//*        below this message.
//* Action: See action for the error message which follows this one.
26032, 0000, "index %s.%s loading aborted after %s keys"
//* Cause:  An index error occurred during direct-load of an index-organized table.
//*         Loading had to be aborted. No rows were loaded.
//* Action: Check the key just following the number of keys mentioned above.
//*         This key caused the index problem mentioned in an earlier message.
//*
26033, 0000, "column %s.%s encryption properties differ for source or target table"
//* Cause:  The source and destination columns did not have the same
//*         encryption properties.
//* Action: For security reasons, check that the source and target table have
//*         the same encryption properties.
//*
26034, 00000, "Column %s does not exist in stream\n"
// *Cause:  Column specified in the column list does not exist in the stream.
// *Action: Make sure the column exists or remove it from the list.
26035, 0000, "Error attempting to encrypt or decrypt column"
//* Cause:  An error occurred while attemping to encrypt or decrypt
//*         a database column. 
// *Action: Verify correct encryption key was specified.
//*
26036, 00000, "subpartition load specified but table %s is not subpartitioned\n"
// *Cause:   The Loader control file contains a PARTITION clause but the
//           table being loaded is not subpartitioned.
// *Action:  Remove the subpartition specification from the SQL*Loader control
//           file and retry the load.
26037, 00000, "must specify partition name(s) for system partitioned table %s\n"
// *Cause: An attempt was made to load a system partitioned table with no
//          partition name(s) specified.
// *Action: Specify the partition name(s) explicitly.
26038, 00000, "attempt to write audit record for SQL*Loader direct path load of %s.%s failed with error code: %d\n"
// *Cause: An attempt to write an audit record during a SQL*Loader direct path load failed.
//*Action: Contact Oracle Support Services.
26040, 00000, "Data block was loaded using the NOLOGGING option\n"
//* Cause: Trying to access data in block that was loaded without
//*        redo generation using the NOLOGGING/UNRECOVERABLE option
//* Action: Drop the object containing the block.
/
//  26041 - 26044 DATETIME/INTERVAL datatypes
26041, 00000, "DATETIME/INTERVAL datatype conversion error\n"
//* Cause: The column could not be converted from DATETIME
//*        datatype to internal DATETIME/CHARACTER datatype.
//*Action: Contact Oracle Customer Support.
26045, 00000, "REF column %s expects %s arguments; found %s.\n"
// *Cause:  The number of arguments for the REF column is incorrect.
// *Action: Specify the correct number of input arguments for REFs.
//          1. Unscoped system-generated REFs can have exactly 1 or 2 input
//          arguments.  a) It has exactly 1 input argument (one for the OID
//          value) if a fixed table name was specified through
//          OCI_DIRPATH_EXPR_REF_TBLNAME.  b) It has exactly 2 input arguments
//          (one for the table name and one for the OID value) if a fixed
//          table name was not specified through OCI_DIRPATH_EXPR_REF_TBLNAME.
//          2. Scoped system-generated REFs can have 1 or 2 input arguments.
//          Because a table name argument is not needed for a scoped ref,
//          only 1 argument (OID value) is expected.  But if the table name
//          argument is given, it's still accepted.
//          3. Scoped primary-key REFs with N columns in its primary-key OID
//          can have N or N+1 input arguments.  Because a table name argument
//          is not needed for a scoped ref, only N arguments (making up the
//          OID value) is expected.  But if the table name argument is given,
//          it's still accepted.
26046, 00000, "REF column %s expects scoped table name %s; user passed in %s.\n"
// *Cause:  The scoped table name passed in by the user does not match the name
//          in the schema.
// *Action: Specify the correct table name for the scoped REF column.
/
26048, 00000, "Scoped REF column has wrong table name.\n"
// *Cause:  The scoped table name passed in by the user does not match the name
//          in the schema.
// *Action: Specify the correct table name for the scoped REF column.
/
26049, 00000, "Unscoped REF column has non-existent table name.\n"
// *Cause:  The table name passed in by the user does not exist
//          in the schema.
// *Action: Specify a valid table name for the unscoped REF column.
/
26050, 00000, "Direct path load of domain index is not supported for this column type.\n"
// *Cause:  Direct path can not load a domain index of that column type.
// *Action: Drop the index and try again or load using conventional path.
/
26051, 00000, "internal error parsing packed decimal format string"
// *Cause:  A packed decimal field with a non-zero scale factor is mapped to
//          a character column. In order to perform the datatype conversion,
//          a numeric format string must be created based on the input field's
//          precision and scale specifications.  Direct path loader
//          encountered an error in creating this format string.
// *Action: Examine the packed decimal field's precision and scale
//          specifications and make sure that they contain valid values.
/
26052, 0000, "Unsupported type %d for SQL expression on column %s.\n"
//* Cause:  The direct path api does not support a SQL expression on a
//          column of that type.
//* Action: Make sure the types are correct.
/
/ do NOT translate or document message 26053 - it is never displayed
// NLS_DO_NOT_TRANSLATE [26053,26053]
26053, 0000, "Row was not loaded due to conversion error.\n"
/
//* Cause:  The current row was not loaded due to a conversion error.
//* Action: Continue with the load anyways.
//  260xx - 260xx Direct Path API
26054, 0000, "Direct Path Context prepared for a different mode than operation requested.\n"
//* Cause:  The user prepared the direct path context for one operation
//          (Load, Unload, Convert), but then tried to perform a different
//          operation.
//* Action: Make sure the direct path context mode and operation matches.
/
26055, 0000, "Invalid buffer specified for direct path unload\n"
//* Cause:  The user specified a zero length or null buffer to be used for
//          the Direct Path Unload operation.
//* Action: Specify a valid buffer and length.
/
26056, 00000, "Requested direct path operation on a view is not supported.\n"
// *Cause:   An attempt was made to load into a view using direct path that has
//           user-defined types, XML data, object type table or SQL expressions.
// *Action:  Do not attempt to use direct path when loading a view that has
//           nonscalar columns or when using SQL expressions on input columns.
/
/ do NOT translate or document message 26057 - it is for internal use only
// NLS_DO_NOT_TRANSLATE [26057,26057]
26057, 00000, "Conversion is not necessary for this direct path stream.\n"
// *Cause:   User attempted to convert a direct path stream that does not 
//           require conversion.
// *Action:  Load the stream without conversion it.
/
26058, 0000, "unexpected error fetching metadata for column %*s in table %*s\n"
//* Cause: The direct path API encountered an unexpected error while
//         retrieving metadata for a column.
//* Action: Contact Oracle support.
/
26059, 0000, "Data is too large for column %s\n"
//* Cause: The direct path API encountered a column that can not be loaded 
//         because the input data is too large for a column.
//* Action: Make the target column larger.
/
26060, 0000, "Can not convert type identifier for column %s\n"
//* Cause: The direct path API encountered a type identifier for a column that
//         can not be loaded because a mapping can not be found for the input
//         value.
//* Action: Verify the input data.
/
26061, 0000, "Concurrent direct unloads is not allowed.\n"
//* Cause:  User attempted a direct unload when another is still in progress.
//* Action: Complete the current direct unload before starting another.

26062, 0000, "Can not continue from previous errors.\n"
//* Cause:  User attempted to continue a direct path load after receiving an 
//          error which indicates the load can not continue.
//* Action: Address the original error that was returned.

26063, 0000, "Can not flashback to specified SCN value - Wrap: %s Base: %s.\n"
//* Cause:  User specified an SCN which occurs before the last time the 
//          table definition was modified.
//* Action: Specify a more recent SCN.

26064, 0000, "Invalid SCN specified - Wrap: %s Base: %s.\n"
//* Cause:  User specified an invalid SCN.
//* Action: Specify a valid SCN.

26065, 0000, "check constraint cannot reference column, %s, in direct path load\n"
//* Cause: An enabled check constraint was found on a column stored as a lob.
//* Action: Either disable the check constraint before loading the table data
//*         using the direct path mode, or use the conventional path mode 
//*         instead.
/
26076, 0000, "cannot set or reset value after direct path structure is allocated"
//* Cause: Client attempted to set or reset the number of rows in a direct path
//*        structure after it has already been allocated and initialized.
//*        Attributes used is one of the following:
//*        - OCI_ATTR_NUM_ROWS: to set # of rows in a direct path column array
//*        - OCI_ATTR_DIRPATH_DCACHE_SIZE: to set size of a date cache
//*          (default is 0)
//*        - OCI_ATTR_DIRPATH_DCACHE_DISABLE: to set whether date cache will be
//*          disabled on overflow (default is FALSE)
//* Action: Set the following attributes before:
//*        - OCI_ATTR_NUM_ROWS: before calling OCIHandleAlloc for column array
//*        - OCI_ATTR_DIRPATH_DCACHE_SIZE: before calling OCIDirPathPrepare
//*        - OCI_ATTR_DIRPATH_DCACHE_DISABLE: before calling OCIDirPathPrepare
26077, 0000, "direct path column array is not initialized"
//* Cause: Client attempted to allocate a column array for a direct path
//*        function context before allocating a column array for the
//*        table-level direct path context.
//* Action: Allocate the table-level direct path context's column array
//*         via OCIHandleAlloc before allocating column arrays for
//*         direct path function contexts.
26078, 0000, "file \"%s\" is not part of database being loaded\n"
//* Cause:  A parallel load file was specified which is not part
//*         of the database.
//* Action: Check filename and pathname for correctness.
26079, 0000, "file \"%s\" is not part of table %s.%s\n"
//* Cause:  A parallel load file was specified which is not in the
//*         tablespace of the table being loaded.
//* Action: Check to make sure that the specified parallel load file
//*         is in the tablespace of the table being loaded.
26080, 0000, "file \"%s\" is not part of table %s.%s partition %s\n"
//* Cause:  A parallel load file was specified which is not in the
//*         tablespace of the table (partition, subpartition) being loaded.
//*         When a partitioned table is being loaded, the file must be
//*         in the tablespace of every partition or subpartition
//*         (i.e. each (sub)partition must be in the same tablespace).
//* Action: Specify a different parallel load file, or no file at all.
26082, 0000, "load of overlapping segments on table %s.%s is not allowed"
//* Cause:  Client application is attempting to do multiple direct path load
//*         operations on the same table, but the segments overlap.
//* Action: Check the partition names (subname attribute of the direct path
//*         context) being loaded.  Make sure you are not loading a table,
//*         and a partition of the same table.  Make sure you are not
//*         loading a partition, and a sub-partition within the same
//*         partition.
26083, 0000, "unsupported direct path stream version %s"
//* Cause:  The stream version requested is not supported by the server.
//* Action: Check to make sure that the VERSION attribute of the direct
//*         stream is not being set to an invalid value.
26084, 0000, "direct path context already finished"
//* Cause:  An OCIDirPathLoadStream operation was attempted after
//*         OCIDirPathFinish was called.  Once a direct path operaton
//*         has been finished, no more data can be loaded.
//* Action: Check program logic to make sure OCIDirPathLoadStream is
//*         not called after OCIDirPathFinish.
26085, 0000, "direct path operation must start its own transaction"
//* Cause:  A direct path operation is being attempted within a transaction
//*         that has already been started.
//* Action: Commit the transaction and Prepare the direct path operation again.
26086, 0000, "direct path does not support triggers"
//* Cause:  A direct path operation is being attempted on a table which
//*         has enabled triggers.
//* Action: Disable the triggers on the table and try again.
26088, 0000, "scalar column \"%s\" must be specified prior to LOB columns"
//* Cause:  All scalar columns (i.e. non-LOB and non-LONG columns) must be
//*         specified by the client of the direct path API prior to
//*         specifying any LOB columns.
//* Action: Specify all scalar columns prior to specifying any LOB columns.
26089, 0000, "LONG column \"%s\" must be specified last"
//* Cause:  A client of the direct path API specified a LONG column to be
//*         loaded, but the LONG column was not the last column to be
//*         specified.
//* Action: Specify the LONG column last.
26090, 0000, "row is in partial state"
//* Cause:  A direct path operation is being finished or a data save request
//*         has been made, but the table for which the request is being made
//*         on has a row in partial state.  The row must be completed before
//*         the segment high water marks can be moved.
//* Action: Either complete the row, or abort the direct path operation.
26091, 0000, "requested direct path operation not supported"
//* Cause:  A direct path operation was requested that is not supported
//* Action: Do not use that operation.  Currently, UNLOAD is not supported.
26092, 0000, "only LONG or LOB types can be partial"
//* Cause:  A column which is not a LONG or LOB had the
//*         OCI_DIRPATH_COL_PARTIAL flag associated with it.
//*         Only LONG or LOB type columns can be loaded in pieces.
//* Action: Do not use the OCI_DIRPATH_COL_PARTIAL flag for the column.
26093, 0000, "input data column size (%d) exceeds the maximum input size (%d)"
//* Cause:  The user attempted to specify a column size (%d) that exceeded 
//*         the maximum allowable input size (%d)."
//* Action: Make sure the input column metadata matches the column definition.
26094, 0000, "stream format error: input column overflow"
//* Cause:  An input stream contained data for more input columns
//*         than specified by the client of the direct path API.
//* Action: Make sure that the stream being loaded is for the
//*         correct table.  Check initialization sequence.
26095, 0000, "unprocessed stream data exists"
//* Cause:  Either a OCIDirPathLoadStream call was made which provided
//*         more stream data prior to the server being able to fully
//*         process the stream data that it already has, or a
//*         OCIDirPathFinish call was made when the server had
//*         unprocessed stream data.
//* Action: Most likely an application mis-use of the direct path API.
//*         Make sure that the stream is not being reset inadvertently
//*         prior to any previous stream data being processed, or, that
//*         OCIDirPathFinish is not being called prematurely (i.e. stream
//*         pushed, error encountered and LoadStream not called to process
//*         the remainder of the stream before Finish is called.)
26096, 0000, "transfer size too small for row data (%lu bytes required)"
//* Cause:  Either the transfer buffer size specified, or the default
//*         transfer buffer size (if you did not specify a size), is
//*         too small to contain a single row of the converted row data.
//* Action: Set the transfer buffer size attribute of the direct path
//*         context to be larger.
26097, 0000, "unsupported conversion for column %s (from type %d to type %d)"
//* Cause:  The direct path api does not support the required conversion.
//* Action: Make sure the types are correct.
//*
26098, 0000, "direct path context is not prepared"
//* Cause: A direct path api function was called with a direct path
//*        context which has not been prepared.
//* Action: Make sure all necessary attributes in the direct path
//*         context have been set, and the context is prepared via
//*         OCIDirPathPrepare.
26099, 0000, "direct path context is already prepared"
//* Cause: OCIDirPathPrepare was called with a context that has already
//*        been prepared.
//* Action: Free the direct path context, set necessary attributes, and
//*         call OCIDirPathPrepare.
/
//      26100 - 26110 reserved for tablespace-relative DBA Errors
//
26100, 00000, "unused error"
// *Cause:
// *Action:
26101, 00000, "tablespace # in file header is %s rather than %s for file %s"
// *Cause:  The tablespace number in the file header is inconsistent
//          with that in the control file.
// *Action: Check if the control file has been migrated correctly.  Retry
//          with the correct control file and data file.
26102, 00000, "relative file # in file header is %s rather than %s for file %s"
// *Cause:  The relative file number in the file header is inconsistent
//          with that in the control file.
// *Action: Check if the control file has been migrated correctly.  Retry
//          with the correct control file and data file.
26103, 00000, "V6 or V7 data file used to create control file"
// *Cause:  The file header of the referenced file is in V6 or V7 format.
// *Action: Either remove the file from the create control file command, or
//          somehow migrate the file header to V8 format.
/
/
/ 26500 - 26649 Reserved for Replication (KN)
/
/
26500, 00000, "error on caching \"%s\".\"%s\""
// *Cause: Attempt to cache the replication information which is unavailable
//         in the catalog for the object.
// *Action: Use dbms_reputil.sync_up_rep to validate the replication catalog,
//          or use dbms_reputil.make_internal_pkg to validate internal
//          package.
26501, 00000, "RepAPI operation failure"
// *Cause:  An external RepAPI operation failed.
// *Action: consult detail error message.
26502, 00000, "error resignal"
// *Cause:  An internal service failed and signalled an error"
// *Action: consult detail error message.
26503, 00000, "internal RepAPI operation failure on object %s.%s"
// *Cause:  An unexpected internal RepAPI failure was detected
// *Action: Contact Oracle support.
26504, 00000, "operation not implemented"
// *Cause:  The caller requested a RepAPI operation that was not implemented
// *Action: Do not issue this call.
26505, 00000, "unexpected internal null"
// *Cause:  An internal buffer control structure was NULL
// *Action: Verify that sufficient memory resources are available to RepAPI.
26506, 00000, "null global context"
// *Cause:  An internal buffer control structure was NULL
// *Action: Verify that sufficient memory resources are available to RepAPI.
26507, 00000, "null master connection"
// *Cause:  The master connection handle was or became invalid.
// *Action: Verify that the master connection is valid.
26508, 00000, "null materialized view connection"
// *Cause:  The client connection handle was or became invalid.
// *Action: Verify that the client connection is valid.
26509, 00000, "null materialized view control structure"
// *Cause:  An internal materialized view control structure could not be
//          obtained.
// *Action: Check that the owner and users provided are correct.
26510, 00000, "materialized view name: '%s' is greater than max. allowed length of %s bytes"
// *Cause:  The specified materialized view name was too long.
// *Action: Shorten the materialized view name.
26511, 00000, "master table '%s.%s' not found"
// *Cause:  A RepAPI operation was attempted against a non-existent or
//          invalid master table
// *Action: Verify that the master table object exists.
26512, 00000, "error pushing transaction to def$error"
// *Cause:  An unexpected error occurred while sending an def$error rpc to
//          the master site
// *Action: Verify that the DBMS_DEFER package is valid and executable
//          by the RepAPI client.  Contact the local or master site
//          administrator, if necessary.
26513, 00000, "push error: master proc. %s$RP.%s failed for trans:%s seq:%s"
// *Cause:  A conflict/error occurred at the master site while executing
//          a $RP.rep_insert(), rep_update(), or rep_delete() function which
//          was not handled by conflict resolution logic at the master.
// *Action: Notify master site system adminstrator or DBA.
26514, 00000, "object '%s.%s' not found"
// *Cause:  The specified object was expected but not found.
// *Action: Verify that the specified object exists and is valid.
26515, 00000, "no master log available for '%s.%s'"
// *Cause:  The specified master log was not found or available for the
//          named table.
// *Action: Create the master log at the master site or correct any problems
//          that may exist with the log.
26516, 00000, "no push transaction acknowledgement"
// *Cause:  RepAPI was unable to confirm that the last pushed transaction
//          was successfully commited by the master site.
// *Action: Verify that the communications link between the local site and
//          the master site is still valid.  If the transaction has not been
//          committed at the master, repush the transaction.
26517, 00000, "materialized view control entry for '%s.%s' was not found"
// *Cause:  The specified materialized view catalog control reocrd was not
//          found.
// *Action: Verify that the local materialized view catalog is valid and that
//          the local materialized view is properly defined.
26518, 00000, "push queue synchronization error detected"
// *Cause:  Client tried to repush a transaction has already been committed at
//          the master site.  A common cause of this problem is an error at the
//          local site in initializing or updating the local site transaction
//          sequence mechanism.
// *Action: Verify that transaction data that RepAPI was attempting to
//          repushed to the master site exists at the master table and is
//          valid and consistent with the local site.  If this error occurs,
//          redundantly identified transactions are ignored and then purged
//          from the local updatable materialized view logs.  Check that the
//          local site is correctly assigning new transactionIDs and is not
//          accidently generating non-unique values.
//
26519, 00000, "no memory available to allocate"
// *Cause:  There was no memory left for the RepAPI process.  This error
//          may occur when RepAPI is trying to allocate a new table buffer
//          area.
// *Action: Shutdown one or more local applications to attempt to free
//          heap memory and retry the RepAPI operation.
26520, 00000, "internal memory failure"
// *Cause:  An internal memory error was detected.
// *Action: Check if other errors have occurred or determine if any local
//          application may have corrupted the memory subsystem.
26521, 00000, "rpc initialization error"
// *Cause:  An error occurred during the initialization of a PL/SQL rpc.
// *Action: Verify that the procudure to be invoked exists and is valid
//          at the master site and is executable by the RepAPI user.
26522, 00000, "rpc execution error"
// *Cause: An error occurred during the execution of a PL/SQL rpc.
// *Action: Check the error messages from the remote procedure and fix any
//          remote site problems that may be preventing the execution of the
//          invoked rpc.
26523, 00000, "rpc termination error"
// *Cause:  An error occurred during the termination of a PL/SQL rpc.  This
//          is usually caused by master site being unable to close an
//          opened cursor or if RepAPI cannot deallocate internal memory.
// *Action: Fix any server side problems first, determine if the RepAPI
//          memory subsystem has been corrupted.
26524, 00000, "nls subsystem initialization failure for product=%s, facility=%s"
// *Cause:  The NLS product/facility error message file could not be located or
//          properly initialized.
// *Action: Check that the error message directory and file(s) have been
//          properly installed.
26525, 00000, "session connection attempt failed for %s (@%s)"
// *Cause:  A connection could not be established to the specified database
//          using the provided connection string.
// *Action: Check that the user, password, connect string, names services,
//          network, and any remote site listener process are properly
//          installed and working.
26526, 00000, "materialized view sql ddl parse/expansion failed for %s.%s"
// *Cause:  The client sql materialized view definition query could not be
//          properly parsed by the master Oracle site.
// *Action: Check that materialized view ddl sql is compatible with the
//          currently connected version of Oracle and does not violate any of
//          the RepAPI sql limitations or restrictions.
26527, 00000, "local store callback init phase failed for '%s.%s'"
// *Cause:  The client callback failed during its INIT phase for the
//          named object.
// *Action: Verify that the objects referenced by the client callback exist
//          and are valid.  Refer to the vendor-specific callback error code
//          reference to diagnose the local problem.  Record all error state
//          and notify Oracle support.
26528, 00000, "local store callback proc phase failed for '%s.%s'"
// *Cause:  The client callback failed during its PROC phase for the
//          named object.
// *Action: Refer to the vendor-specific callback error code
//          reference to diagnose the local problem.  Record all error state
//          and notify Oracle support.
26529, 00000, "local store callback term phase failed for '%s.%s'"
// *Cause:  The client callback failed during its TERM phase for the
//          named object.
// *Action: Refer to the vendor-specific callback error code
//          reference to diagnose the local problem.  Record all error state
//          and notify Oracle support.
26530, 00000, "unable to build materialized view refresh control list"
// *Cause:  The materialized view control list could not be constructed. This
//          is generally the result of an error while accessing the local
//          materialized view catalog.
// *Action: Verify that the named materialized view(s) are properly defined
//          and valid.
26531, 00000, "replication parallel push failure recovery test event"
// *Document: NO 
// *Cause: N/A.
// *Action: event used to simulate site failure for parallel push testing.
26532, 00000, "replication parallel push simulated site failure"
// *Cause: A parallel push executed with event 26531 enabled raises this
//         error to simulation failure of network or destination site.
// *Action: Do not enable the event for normal operation.
26534, 00000, "collision: tranID %ld ignored and purged"
// *Cause:  A transaction that was pushed had a transaction ID that collided
//          with a transaction that was previously pushed and committed
//          at the master site.
// *Action: See the action section for E_QUEUESYNC (26518).
26535, 00000, "%ud byte row cache insufficient for table with rowsize=%ud"
// *Cause:  A transaction that was pushed had a transaction ID that collided
//          with a transaction that was previously pushed and committed
//          at the master site.
// *Action: Increase the RepAPI row buffer size or reduce the width of the
//          replicated tables.
26536, 00000, "refresh was aborted because of conflicts caused by deferred transactions"
// *Cause:  There are outstanding conflicts logged in the DEFERROR table at
//          the materialized view's master site.
// *Action: Resolve the conflicts in the master DEFERROR table and refresh
//          again after the table is empty.  Alternatively, refresh with
//          REFRESH_AFTER_ERRORS, even if there are conflicts in the master's
//          DEFERROR table.  Proceeding despite conflicts can result in an
//          updatable materialized view's changes appearing to be temporarily
//          lost, until a refresh succeeds after the conflicts are resolved.
26562, 00000, "last RepAPI error"
26563, 00000, "renaming this table is not allowed"
// *Cause: Attempt to rename a replicated table, an updatable materialized view
//         table or the master table of a materialized view for which a
//         materialized view log has beencreated.
// *Action: If desired, unregister the replicated table with
//          dbms_repcat.drop_master_repobject, or use the recommended
//          procedure to rename the master table of a materialized view.
26564, 00000, "%s argument is not of specified type"
// *Cause: User passed type of the given argument number doesn't match
//         with the type of the argument in the stored arguments.
// *Action: Invoke correct type procedure (i.e. get_XXX_arg)
26565, 00000, "Call to <type>_arg made before calling dbms_defer.call"
// *Cause: User invoked <type>_arg procedure before starting a deferred call
// *Action: Invoke various procedures in the correct order.
26566, 00000, "Couldn't open connect to %s"
// *Cause: Failed to open connection using given dblink
// *Action: Make sure that the dblink is valid and remote m/c is up.
26571, 00000, "%s.%s.%s: number of arguments (%s) does not match replication catalog"
// *Cause: number of arguments does not match replication catalog
// *Action: examine total number of arguments for the rpc call
26572, 00000, "%s.%s.%s: argument %s does not match replication catalog"
// *Cause: the (rpc) call is corrupted
// *Action: examine total number of arguments and each argument for
//          the rpc call
26575, 00000, "remote database does not support replication parallel propagation"
// *Cause: The remote database has a version lower than Oracle 8.0 and hence
//         does not understand replication parallel propagation.
// *Action: Use serial propagation or upgrade the remote database to
//          Oracle 8.0 or above.
26576, 00000, "cannot acquire SR enqueue"
// *Cause:  An attempt to acquire the SR enqueue in exclusive mode failed.
// *Action:
26577, 00000, "PRESERVE TABLE can not be used when dropping old style materialized view %s.%s\n"
// *Cause: The materialized view consists of a view and a container table.
// *Action: Drop the materialized view without PRESERVE TABLE option.
26578, 00000, "No capture in this multitenant container database associated with queue \"%s\"."
// *Cause: An outbound server's queue was not associated with a capture from the same multitenant container database (CDB) before adding or starting an outbound server.
// *Action: Execute the DBMS_STREAMS_ADM.CREATE_CAPTURE procedure to create a capture before adding or starting an outbound server.
/
/
/ 26650 - 26999 Reserved for Log Based Replication Replication (KN)
/
26650, 00000, "%s %s background process %s might not be started successfully"
// *Cause:  An error occurred during creation of a capture or apply
//          background process.
// *Action: Review V$STREAMS_CAPTURE and V$STREAMS_APPLY_COORDINATOR views for
//          the status of these processes. Also check the trace file for more
//          information.
26651, 00000, "Unable to start or stop capture process %s"
// *Cause:  An attempt was made to start or stop a capture process while
//          another capture process was concurrently starting or stopping.
// *Action: You cannot concurrently start or stop capture processes. Wait 
//          before attempting to start or stop additional capture processes.
26652, 00000, "Capture %s did not start properly and is currently in state %s"
// *Cause:  An attempt to restart a capture process failed.
// *Action: Review V$STREAMS_CAPTURE view for the state of the capture
//          process. Also check the trace files for more information. 
26653, 00000, "Apply %s did not start properly and is currently in state %s"
// *Cause:  An attempt to restart an apply process failed.
// *Action: Streams: Review V$STREAMS_APPLY% views for the state of the apply
//          process. Also check the trace files for more information. 
//          XStream: Review V$XSTREAM_APPLY% views for the state of the apply
//          process. Also check the trace files for more information. 
//          GoldenGate: Review V$GG_APPLY% views for the state of the apply
//          process. Also check the trace files for more information. 
26654, 00000, "Capture %s attempted to connect to apply %s already configured for %s"
// *Cause:  An attempt was made by a GoldenGate, XStream or Streams Capture or XStream In to connect to an
//          Apply that is already connected in the other mode.
// *Action: You cannot connect a capture to an apply already configured for  
//          another apply mode. Create or connect to another apply.
26655, 00000, "Invalid %s specified for %s procedure"
// *Cause:  An attempt was made to execute the specified procedure with an 
//          invalid SCN value.
// *Action: Resubmit procedure with a valid SCN value. 
26656, 00000, "supplemental logging version error: %s"
// *Cause:  The supplemental logging versions of capture side and apply side
//          are incompatible.
// *Action: For incompatibility caused by a newer apply side, please bypass or
//          migrate the incompatible logs manually and consider upgrading or
//          patching the capture side. For incompatibility caused by an
//          unrecognizable version group or an older apply side, please
//          upgrade or patch the apply side. For invalid versions, the
//          logs might have been corrupted; please verify the integrity of
//          the supplemental logging data on the capture side.
26660, 00000, "Invalid action context value for %s"
// *Cause:  The value specified in the action context is invalid for
//          use in GoldenGate, XStream or Streams.
// *Action: Check that the type and value are correct.
26661, 00000, "STREAMS tracing event"
// *Document: NO
// *Cause:
// *Action: Check that the type and value are correct.
26662, 00000, "unable to process %s Data Dictonary information for object"
// *Cause:  The database is unable to process GoldenGate, XStream or Streams Data
//          Dictionary for this object. 
// *Action: Check that the compatibility for the database supports the object,
//          and check the trace file for information about the object.
26663, 00000, "error queue for apply process %s must be empty"
// *Cause:  The error queue for this apply process contains error entries.
// *Action: Execute or delete errors in the error queue.
26664, 00000, "cannot create %s process %s"
// *Cause:  An attempt was made to create a GoldenGate, XStream or Streams process
//          when another was being created concurrently.
// *Action: Wait for the creation of the other GoldenGate, XStream or Streams
//          process to finish before attempting to create the process.
26665, 00000, "%s process %s already exists"
// *Cause:  An attempt was made to create a GoldenGate, XStream or Streams process
//          that already exists.
// *Action: Either specify another process or remove the existing
//          GoldenGate, XStream or Streams process.
26666, 00000, "cannot alter %s process %s"
// *Cause:  An attempt was made to alter a GoldenGate, XStream or Streams process
//          that is currently running.
// *Action: Stop the GoldenGate, XStream or Streams process with FORCE parameter
//          set to TRUE and reissue the command.
26667, 00000, "invalid %s parameter %s"
// *Cause:  An attempt was made to specify an invalid parameter.
// *Action: Check the documentation for valid parameters.
26668, 00000, "%s process %s exists"
// *Cause:  An attempt to remove the component failed because it 
//          is associated with the GoldenGate, XStream or Streams process.
// *Action: Either remove the process manually or specify the "cascade" 
//          option in dbms_streams_adm.remove_queue.
26669, 00000, "parameter %s inconsistent with parameter %s"
// *Cause:  An attempt was made to specify a subprogram parameter value
//          that is inconsistent with another parameter value.
// *Action: Check the documentation for valid parameter values.
26670, 00000, "No capture is found for queue '%s'"
// *Cause: An attempt was made to add an XStream outbound server to a 
//         queue using uncommitted data mode when no co-located XStream capture
//         was configured for that queue.
// *Action: Change to committed data mode or configure a local XStream capture 
//         for the specified queue then retry the operation. 
26671, 00000, "maximum number of %s processes exceeded"
// *Cause:  Cannot create additional GoldenGate, XStream or Streams processes since
//          the maximum number of processes has been reached.
// *Action: Remove existing GoldenGate, XStream or Streams processes and retry the operation.
26672, 00000, "timeout occurred while stopping %s process %s"
// *Cause:  Timeout occurred while waiting for a GoldenGate, XStream or Streams
//          process to shut down.
// *Action: Retry the operation. If the error persists, try stopping the
//          process with the FORCE option, or contact Oracle Support Services.
26673, 00000, "duplicate column name %s"
// *Cause:  An attempt was made to specify a duplicate column name in an LCR. 
// *Action: Remove the duplicate column and retry the operation.
26674, 00000, "Column mismatch in '%s.%s' (LCR: %s type=%s; DB: %s type=%s)"
// *Cause:  The columns in the LCR were not the same or not found in the
//          database table.
// *Action: Alter the database table.
26675, 00000, "cannot create %s capture process %s"
// *Cause:  GoldenGate, XStream or Streams capture process could not be created
//          because one or more parameters contain invalid value. 
// *Action: Refer to trace file for more details. 
26676, 00000, "Table '%s.%s' has %s columns in the LCR and %s columns in the replicated site"
// *Cause:  The number of columns in the LCR was not the same as the
//          the replicated site.
// *Action: Alter the table structure
26677, 00000, "%s downstream capture process %s cannot proceed"
// *Cause:  Database global name has been set to a value which is same as the 
//          source database name of the downstream capture process. 
// *Action: Change database  global name to a value other than 
//          the source database name for the downstream capture. 
26678, 00000, "%s downstream capture process for source database %s must be created at database %s first"
// *Cause:  A GoldenGate, XStream or Streams downstream capture process was 
//          nonexistent when this operation was attempted.
// *Action: Create a GoldenGate, XStream or Streams downstream capture process, 
//          then retry the operation.
26679, 00000, "operation not allowed on LOB or LONG columns in LCR"
// *Cause:  Certain operations on LOB/LONG columns of the LCR
//          through rule-based transformations, DML handlers, or error
//          handlers were not allowed.
// *Action: Do not perform restricted operations on LOB or LONG columns in 
//          LCRs. See the documentation for operations that are restricted 
//          on LOB/LONG columns in LCRs.
26680, 00000, "object type not supported"
// *Cause:  The specified object type is not supported.
// *Action: Retry with a supported object type.
26681, 00000, "command type not supported"
// *Cause:  The specified command type is not supported.
// *Action: Retry with a supported command type.
26682, 00000, "invalid value for publication_on"
// *Cause:  The publication_on parameter should be either 'Y' or 'N'
// *Action: Retry with a proper value for publication_on.
26683, 00000, "invalid value for value_type"
// *Cause:  The value_type parameter should be either 'OLD' or 'NEW'
// *Action: Retry with proper value_type.
26684, 00000, "invalid value for value_type"
// *Cause:  The value_type parameter should be one of 'OLD', 'NEW' or '*'
// *Action: Retry with proper value_type.
26685, 00000, "cannot apply transactions from multiple sources"
// *Cause:  Transactions from multiple sources were sent to the same apply
//          process.
// *Action: Create multiple apply processes and create appropriate rules
//          so that transactions from only one source reach an apply
//          process.
26686, 00000, "cannot capture from specified SCN"
// *Cause:  An attempt was made to specify an invalid SCN.
// *Action: Retry with a valid SCN.
26687, 00000, "no instantiation SCN provided for \"%s\".\"%s\" in source database \"%s\""
// *Cause:  Object SCN was not set.  If the object is a table,
//          then both fields will be filled, for example "SCOTT"."EMP".  
//          If the object is a schema, only one field will be set, for
//          example "SCOTT"."".  And if the object is the entire
//          database, no fields will be set, for example ""."".
// *Action: Set the SCN by calling DBMS_APPLY_ADM.SET_%_INSTANTIATION_SCN
26688, 00000, "missing key in LCR"
// *Cause:  Metadata mismatch, or not enough information in the user
//          generated LCR.
// *Action: Alter the database object, or provide all defined keys
//          in the LCR.
26689, 00000, "column datatype mismatch in LCR"
// *Cause:  The datatypes of columns in the LCR are not the same as
//          the datatypes in the database object.
// *Action: Alter the database object.
26690, 00000, "datatype not supported at non-Oracle system"
// *Cause:  One of the columns of the LCR being applied was of a datatype
//          not supported by either the target non-Oracle system or by the
//          Oracle transparent gateway through which the apply is being done.
// *Action: Do not apply data of this type. If possible, filter out
//          columns containing such datatypes before applying.
26691, 00000, "operation not supported at non-Oracle system"
// *Cause:  The apply process attempted an operation that is either
//          not supported by the non-Oracle system or by the Oracle
//          transparent gateway through which the apply is being done. Some
//          kinds of DML (like procedure and function calls) and all DDL
//          will cause this error to be raised.
// *Action: Do not attempt to apply such LCRs to non-Oracle systems. If
//          possible, filter out such LCRs before applying.
26692, 00000, "invalid value %s, %s should be in %s format"
// *Cause:  The parameter specified was not in the correct format.
// *Action: Specify the parameter value in the correct format.
26693, 00000, "%s %s process dropped successfully, but error occurred while dropping rule set %s"
// *Cause:  An attempt to drop an unused rule set failed after dropping the
//          GoldenGate, XStream or Streams proccess successfully.
// *Action: Check existence of rule set and manually drop if necessary.
26694, 00000, "error while enqueueing into queue %s.%s"
// *Cause:  An error occurred while enqueueing a message.
// *Action: If the situation described in the next error on the stack
//    can be corrected, do so.
26695, 00000, "error on call to %s: return code %s"
// *Cause:  A locking related call failed.
// *Action: Try the call again after fixing the condition indicated by
//          the return code.
26696, 00000, "no %s data dictionary for object with number %s and version number %s from source database %s"
// *Cause:  An attempt to access the database object failed because the
//          data dictionary for the object was either never populated
//          or it was purged.
// *Action: Make sure the GoldenGate, XStream or Streams data dictionary is created by calling 
//          DBMS_CAPTURE_ADM.PREPARE_%_INSTANTIATION.
26697, 00000, "LCR contains extra column '%s'"
// *Cause:  The LCR contained more columns than the replicated table.
// *Action: Alter the database object.
26698, 00000, "%s did not have a %s rule set"
// *Cause:  The GoldenGate, XStream or Streams client does not have a rule set of the indicated type.
// *Action: Verify that the GoldenGate, XStream or Streams client has a rule set of the specified
//          type, and retry the operation.
26699, 00000, "%s message consumer %s already exists"
// *Cause:  An attempt was made to create a GoldenGate, XStream or Streams
//          message consumer that already exists.
// *Action: Either specify another message consumer or remove the
//          existing GoldenGate, XStream or Streams message consumer.
26700, 00000, "STREAMS tracing event"
// *Document: NO
// *Cause:
// *Action:
26701, 00000, "%s process %s does not exist"
// *Cause:  An attempt was made to access a GoldenGate, XStream or Streams process
//          which does not exist.
// *Action: Check with the relevant security views for the correct name of
//          the object.
26702, 00000, "shut the STREAMS/CDC apply engine down"
// *Document: NO
// *Cause:
// *Action:
26703, 00000, "event for configuring STREAMS rules cache"
// *Document: NO
// *Cause: Not Applicable
// *Action: Set this event only under the supervision of Oracle support.
26704, 00000, "The Owner instance %s of the queue table is not up or the QMN0 process is down."
// *Cause: 
// *Action: Try again once the owner instance is up, and the QMN0 process on 
//          that instance is up.
26705, 00000, "cannot downgrade capture process after Streams data dictionary has been upgraded"
// *Cause: An attempt was made to downgrade a capture process after it has
//         upgraded the GoldenGate, XStream or Streams data dictionary.
// *Action: Drop the capture process before attempting the downgrade.
26706, 00000, "cannot downgrade capture process"
// *Cause: An attempt was made to downgrade a capture process that has a 
//         higher version than the downgrade release version.
// *Action: Drop the capture process after capture has finished consuming all 
//          the redo logs before attempting the downgrade.
26707, 00000, "STREAMS or_expand complexity"
// *Document: NO
// *Cause: Not Applicable.
// *Action: Set this event only under the supervision of Oracle Support.
26708, 00000, "remote DDL not supported by STREAMS : dblink %s"
// *Cause:  The apply process attempted to apply a DDL LCR via a dblink.
//          This is not supported.
// *Action: Do not attempt to apply DDL LCRs via a dblink. If
//          possible, filter out DDL LCRs before applying.
26709, 00000, "Downstream Capture RFS restart"
// *Cause: Remote file server (RFS) process was restarted to reflect a change
//         in DOWNSTREAM_REAL_TIME_MINE option of the GoldenGate, XStream or Streams capture process.
// *Action: No action required. This is an informational message only.
26710, 00000, "incompatible version marker encountered during Capture"
// *Cause:  Capture process cannot mine redo from a version higher than the 
//          current software release version.
// *Action: Drop and recreate the capture process.
26711, 00000, "remote table does not contain a primary key constraint"
// *Cause:  The master table for remote apply does not constain a primary key
//          constraint or the primary key constraint has been disabled.
// *Action: Create a primary key constraint on the master table or enable the
//          existing constraint.
26712, 00000, "remote object is \"%s\".\"%s\"\@\"%s\""
// *Cause:  See the preceding error message to identify the cause.
//          This message names the remote object, usually a table or view,
//          for which an error occurred when GoldenGate, XStream or Streams tried to access it
//          for remote apply.
// *Action: See the preceding error message.
26713, 00000, "remote object does not exist or is inaccessible"
// *Cause: GoldenGate, XStream or Streams replication could not access the named table
//         or view at a remote database to apply changes.
// *Action: Confirm that the given remote table or view exists and is
//          accessible through the given database link. When using a
//          Heterogeneous Services database link to access a non-Oracle system,
//          it may be necessary to check administration details for
//          network connections at the non-Oracle system.
26714, 00000, "User Error %s encountered during apply process"
// *Cause:  An error was encountered during an apply process.
// *Action:  Query the DBA_APPLY_ERROR view to determine the error and
//           take the appropriate action.
26715, 00000, "time limit reached"
// *Cause:  The specified time limit was reached for the GoldenGate, XStream or Streams process.
// *Action:  Restart the GoldenGate, XStream or Streams process, increasing the TIME_LIMIT
//           parameter if necessary.
26716, 00000, "message limit reached"
// *Cause:  The specified message limit was reached for the Capture process.
// *Action:  Restart the Capture process, increasing the MESSAGE_LIMIT
//           parameter if necessary.
26717, 00000, "SCN limit reached"
// *Cause:  The specified SCN limit was reached for the GoldenGate, XStream or Streams process.
// *Action:  Change the MAXIMUM_SCN parameter, then restart the
//           GoldenGate, XStream or Streams process. 
26718, 00000, "transaction limit reached"
// *Cause:  The specified transaction limit was reached for the Apply process.
// *Action:  Restart the Apply process, increasing the
//           TRANSACTION_LIMIT parameter if necessary.
26719, 00000, "STREAMS tracing event"
// *Document: NO
// *Cause:
// *Action:
26720, 00000, "STREAMS assemble lobs event"
// *Document: NO
// *Cause:
// *Action: 
26721, 00000, "enqueue of the LCR not allowed"
// *Cause:  An apply process attempted to enqueue an LCR with a LONG column.
//          This is not supported.
// *Action: Modify rules or unset the enqueue destination to prevent
//          LCRs with LONG columns from being enqueued by the apply process.
26722, 00000, "STREAMS canonicalization event"
// *Document: NO
// *Cause:
// *Action:
26723, 00000, "user \"%s\" requires the role \"%s\""
// *Cause:  The caller did not have the specified role or called the procedure 
//          from a definer's rights package or procedure. 
// *Action: Grant the specified role to the caller. If the procedure is called 
//          from a definer's rights package or procedure, change the definer's 
//          rights package or procedure to an invoker's rights package or 
//          procedure. 
//          Or grant all the privileges for the specified role explicitly.
26724, 00000, "only SYS is allowed to set the Capture or Apply user to SYS."
// *Cause:  The Capture or Apply user was specified as SYS by a user other
//          than SYS.
// *Action:  Set SYS as the Capture or Apply user while logged in as SYS.
26725, 00000, "cannot downgrade apply handlers"
// *Cause: An attempt was made to downgrade apply handlers that are not
//         associated with a local database object, or the apply handlers
//         are associated with a specific apply process.
// *Action: Drop the associated apply handlers before attempting the downgrade.
26726, 00000, "standby and DOWNSTREAM_REAL_TIME_MINE are incompatible"
// *Cause:  An attempt was made to set the standby database and
//          DOWNSTREAM_REAL_TIME_MINE option of the Oracle GoldenGate, XStream
//          or Oracle Streams capture process on the same database.
// *Action: Do not attempt to set the DOWNSTREAM_REAL_TIME_MINE option for a
//          Oracle GoldenGate, XStream or Oracle Streams capture process on a
//          standby database. Do not attempt to change a database role to
//          standby if there exists a capture process with the
//          DOWNSTREAM_REAL_TIME_MINE parameter set to Y.
26727, 00000, "Cannot alter queue_to_queue property of existing propagation."
// *Cause:  The queue_to_queue property was specified for an existing 
//          propagation.
// *Action: Pass NULL for the queue_to_queue argument.
26728, 00000, "event for configuring STREAMS apply segcol mapping cache"
// *Document: NO
// *Cause: Not Applicable
// *Action: Set this event only under the supervision of Oracle support.
26729, 00000, "event for configuring STREAMS apply destination object cache"
// *Document: NO
// *Cause: Not Applicable
// *Action: Set this event only under the supervision of Oracle support.
26730, 00000, "%s '%s' already exists"
// *Cause: An attempt to use FILE GROUP, FILE GROUP VERSION, or FILE GROUP 
//         FILE failed because the item in question already exists.
// *Action: Remove the object if appropriate and re-attempt the operation.
26731, 00000, "%s '%s' does not exist"
// *Cause: A FILE GROUP, FILE GROUP VERSION, or FILE GROUP FILE was
//         specified that does not exist.
// *Action: Make sure the object exists and re-attempt the operation.
26732, 00000, "invalid file group %s privilege"
// *Cause: The specified privilege number that was specified is invalid.
// *Action: Check specification of dbms_file_group for valid privileges.
26733, 00000, "timed-out waiting for file group lock"
// *Cause: The procedure waited too long while getting a lock to perform a 
//          file group repository operation.
// *Action: Retry the operation.
26734, 00000, "different datafiles_directory_object parameter must be specified"
// *Cause: The attempted operation involved datafiles platform conversion
//         which required the datafiles_directory_object parameter to be
//         specified for placing the converted data files.
// *Action: Retry the operation after specifying a valid
//          datafiles_directory_object parameter. This directory must be 
//          different from the directory objects for any of the datafiles for 
//          the specified file group version.
26735, 00000, "operation not allowed on the specified file group version"
// *Cause: One or more datafiles or export dump file(s) were missing from
//         the specified file group version.
// *Action: Retry the operation after adding all the data files and Data Pump
//          dump file(s) to the specified version.
26736, 00000, "Data Pump error"
// *Cause: A Data Pump error occurred when the procedure performed a 
//         File Group Repository operation.
// *Action: Check the error stack and trace file for error details.
26737, 00000, "version %s already has an export dump file"
// *Cause: A Data Pump dump file was added to a file group version that already
//         has a dump file. 
// *Action: Remove the existing dump file if appropriate, and retry the
//          operation.
26738, 00000, "%s '%s' is not empty"
// *Cause: The FILE GROUP or FILE GROUP VERSION being dropped contained 
//         objects.
// *Action: Remove the child objects, then retry the operation.
26739, 00000, "FILE GROUP tracing event"
// *Document: NO
// *Cause:
// *Action:
26740, 00000, "cannot downgrade because there are file groups"
// *Cause: An attempt was made to downgrade a database that has file groups.
// *Action: Drop all file groups before attempting the downgrade.
26741, 00000, "cannot assemble lobs"
// *Cause: An attempt was made to assemble lobs, but the compatibility
//         of the source database for the LOB information is lower than 10.2.0.
// *Action: Set ASSEMBLE_LOBS to FALSE in the DML or error handler while
//          this handler is processing LOB information from a source
//          database with a compatibility level lower than 10.2.0.
26742, 00000, "Maximum number of ignored transactions exceeded"
// *Cause:  An attempt was made to add more than the allowed number of ignored 
//          transactions.
// *Action:  Please clear the current list of ignored transactions.
26743, 00000, "Streams tracing event"
// *Document: NO
// *Cause:
// *Action:
26744, 00000, "%s capture process \"%s\" does not support \"%s\".\"%s\" because of the following reason:  %s"
// *Cause: GoldenGate, XStream or Streams capture encountered a table with an unsupported
//         property.  The most common reason is an unsupported column
//         data type.  
// *Action:  Revise the Capture rules to skip over the table in
//           question.  One way might be to add a negative rule 
//           excluding changes from the unsupported table from being
//           captured.
//           
//           Streams: Also query the DBA_STREAMS_UNSUPPORTED view to determine
//           which tables are not supported by Streams and for what
//           reason.  Consider adding negative rules for any tables
//           that may be captured, but are present in this view.
//           XStream: Also query the DBA_XSTREAM_OUT_SUPPORT_MODE view to determine
//           which tables are not supported by XStream and for what
//           reason.  Consider adding negative rules for any tables
//           that may be captured, but are present in this view.
//           GoldenGate: Also query the DBA_GOLDENGATE_SUPPORT_MODE view to determine
//           which tables are not supported by GoldenGate and for what
//           reason.  Consider adding EXCLUDETABLE statements for any tables
//           that may be captured, but are present in this view.
//        
//           For potential workarounds to certain unsupported properties, see
//           Metalink.
26745, 00000, "cursors (%s) are not sufficient"
// *Cause: The maximum number of open cursors was too small for GoldenGate, XStream or Streams Apply.
// *Action: Increase the value of open_cursors.
26746, 00000, "DDL rule \"%s\".\"%s\" not allowed for this operation"
// *Cause: A DDL rule was specified for this operation.
// *Action: Specify a non-DDL rule for this operation.
26747, 00000, "The one-to-many transformation function %s encountered the following error:  %s"
// *Cause: The specified transformation function encountered an error.
// *Action: Ensure that the function does not process or return DDL LCRs.  
//          Also ensure that the function does not return NULL.  
26748, 00000, "The one-to-one transformation function %s encountered the following error:  %s"
// *Cause: The specified transformation function encountered an error.
// *Action: Ensure that the function does not return an LCR that has a 
//          different type from the LCR which was passed to the function.  
//          Also ensure that the function does not return NULL.  
//          For DDL transformation functions, creating and returning a
//          new DDL LCR is not allowed. 
26749, 00000, "STREAMS propagation batch size"
// *Document: NO
// *Cause:
// *Action:
26750, 00000, "STREAMS internal transformation"
// *Document: NO
// *Cause:
// *Action:
26751, 00000, "STREAMS testing event"
// *Document: NO
// *Cause:
// *Action: Check that the type and value are correct.
26752, 00000, "Unsupported LCR received for \"%s\".\"%s\""
// *Cause:  GoldenGate, XStream or Streams capture process received an LCR with unsupported
//          operation from LogMiner.
// *Action: Stream:If this object is listed in DBA_STREAMS_UNSUPPORTED view,
//          modify rules to prevent changes made to this object from
//          getting captured.
//          XStream: If this object is listed in DBA_XSTREAM_OUT_SUPPORT_MODE view,
//          modify rules to prevent changes made to this object from
//          getting captured.
//          GoldenGate: If this object is listed in DBA_GOLDENGATE_SUPPORT_MODE view,
//          modify rules to prevent changes made to this object from
//          getting captured.
26753, 00000, "Mismatched columns found in '%s.%s'"
// *Cause:  The columns in the LCR were not the same as the table in the
//          database.
// *Action: Alter the database table.
26754, 00000, "cannot specify both one-to-one transformation function %s and one-to-many transformation function %s"
// *Cause:  Both a one-to-one transformation function and a one-to-many
//          transformation function were specified for a rule.
// *Action: Remove either the one-to-one transformation function, or the
//          one-to-many transformation function.
26755, 00000, "STREAMS apply spill table partitioning event"
// *Document: NO
// *Cause:
// *Action:
26756, 00000, "STREAMS apply spill table partition ceiling event"
// *Document: NO
// *Cause:
// *Action:
26757, 00000, "Timed out waiting for remote operation on instance %s to finish"
// *Cause: 
// *Action: Retry the operation at a later time.
26758, 00000, "%s skip LCR requested"
// *Document: NO
// *Cause: Internal error to handle skip LCR event.
// *Action:
26759, 00000, "Maximum number of skip LCR requests exceeded"
// *Document: NO
// *Cause:
// *Action:
26760, 00000, "Could not find message number %s for transaction with id %s"
// *Cause: Error
// *Action: Contact Oracle support"
26761, 00000, "Standby Redo Logs not available for real time mining"
// *Cause: Standby Redo Logs required for real time mining by downstream 
//         capture process were not available.
// *Action: Check the configuration of Standby Redo Logs and retry the 
//          operation at a later time. To start the capture process without
//          real time mining property, reset DOWNSTREAM_REAL_TIME_MINE
//          parameter of the capture process and retry the operation. 
26762, 00000, "Cannot autogenerate name for parameter %s because of the following reason:  %s"
// *Cause:  An error was encountered while attempting to generate a name for
//          a parameter which was passed a NULL value.
// *Action: If possible, fix the error, otherwise specify the
//          parameter name explicitly.
26763, 00000, "invalid file type \"%s\""
// *Cause: An invalid file type was specified for the ASM file.
// *Action: Check documentation for valid ASM file types.
26764, 00000, "invalid parameter \"%s\" for local capture \"%s\""
// *Cause: An invalid parameter was specified for the local capture process.
// *Action: Check documentation for valid parameters.
26765, 00000, "invalid parameter \"%s\" for downstream capture \"%s\""
// *Cause: An invalid parameter was specified for the downstream capture 
//         process.
// *Action: Check documentation for valid parameters.
26766, 00000, "Unexpected redo pattern encountered by LogMiner"
// *Cause: LogMiner encountered an unexpected redo pattern. This is usually 
//         caused by tables with unsupported data types or newer table features.
// *Action: Remove the capture rule for the table and restart capture. 
26767, 00000, "Not enough redo log information for LogMiner"
// *Cause: Direct-path SQL with NOLOGGING option or a SQL*Loader operation with 
//         UNRECOVERABLE clause was specified for the table.
// *Action: Remove the capture rule for the table and restart capture. 
26768, 00000, "Maximum number of unsupported tables exceeded"
// *Cause: An attempt was made to add more than the allowed number of
//         unsupported tables.
// *Action: Clear the current list of unsupported tables.
26769, 00000, "STREAMS force lob assembly event"
// *Document: NO
// *Cause:
// *Action: 
26770, 00000, "Index-organized table not supported"
// *Cause: 
// *Action: 
26771, 00000, "User-defined column type not supported"
// *Cause: 
// *Action: 
26772, 00000, "Encrypted column not supported"
// *Cause: 
// *Action: 
26773, 00000, "Invalid data type for column \"%s\""
// *Cause: 
// *Action: 
26774, 00000, "Queue table not supported"
// *Cause: 
// *Action: 
26775, 00000, "Temporary table not supported"
// *Cause: 
// *Action: 
26776, 00000, "Subordinate object not supported"
// *Cause: 
// *Action: 
26777, 00000, "External table not supported"
// *Cause: 
// *Action: 
26778, 00000, "File column not supported"
// *Cause: 
// *Action: 
26779, 00000, "Materialized view not supported"
// *Cause: 
// *Action: 
26780, 00000, "Object table not supported"
// *Cause: 
// *Action: 
26781, 00000, "Nested table not supported"
// *Cause: 
// *Action: 
26782, 00000, "Function-based index not supported"
// *Cause: 
// *Action: 
26783, 00000, "Column data type not supported"
// *Cause: 
// *Action: 
26784, 00000, "STREAMS internal event"
// *Document: NO
// *Cause:
// *Action: Check that the type and value are correct.
26785, 00000, "Object has a NULL value"
// *Cause: A method was invoked on a NULL object.
// *Action: Initialize the object with a non-NULL value.
26786, 00000, "A row with key %s exists but has conflicting column(s) %s in table %s"
// *Cause: The row to update or delete exists in the table but had 
//         conflicting value for some columns.
// *Action: For Streams and XStream, please define a conflict resolution, or resolve the
//          conflict and execute the error transaction using
//          DBMS_APPLY_ADM.EXECUTE_ERROR.
//          For logical standby, please verify the status of the database guard 
//          to ensure local modifications are not allowed, then re-instantiate
//          the table and contact support if the problem persists.
//          For GoldenGate, configure Conflict Resolution (CDR) or REPERROR handler
//          for the table and restart replicat.
26787, 00000, "The row with key %s does not exist in table %s"
// *Cause: The row to update or delete does not exist in the table.
// *Action: For Streams and XStream, please define a conflict resolution, or resolve the 
//          conflict and execute the error transaction using
//          DBMS_APPLY_ADM.EXECUTE_ERROR.
//          For logical standby, please verify the status of the database guard 
//          to ensure local modifications are not allowed, then re-instantiate
//          the table and contact support if the problem persists.
//          For GoldenGate, configure Conflict Resolution (CDR) or REPERROR handler
//          for the table and restart replicat.
26788, 00000, "The column %s is not encrypted in the local database."
// *Cause: The column in the destination database is NOT encrypted while
//         it is encrypted in the source database.
// *Action: Set the corresponding column property in the destination database to
//          'encrypted' or change the apply parameter, PRESERVE_ENCRYPTED_COLS, 
//          to 'N' to supress the error.
26789, 00000, "Cannot split propagation %s because only one propagation originates from its source queue \"%s\".\"%s\""
// *Cause: Only one propagation originated from the propagation source queue.
// *Action: Please do not split this propagation.
26790, 00000, "Requesting a lock on %s \"%s\" timed out"
// *Cause: Could not get a lock on the object because another process was
//         holding the lock.
// *Action: Please try later.
26791, 00000, "Cannot split or merge propagation \"%s\""
// *Cause:  A process tried to split or merge this propagation, but failed and
//          left STREAMS in an inconsistent state.
// *Action: Query DBA_RECOVERABLE_SCRIPT_BLOCKS view, and roll back the script 
//          which tried to split or merge this propagation.
26792, 00000, "Invalid source database name %s"
// *Cause: The value for the source database global name was not valid.
// *Action: Specify a valid database global name. If the source database 
//         is not the local database, check the listener is up and running.
26793, 00000, "Number of capture processes that enqueued message to queue \"%s\".\"%s\" not equal to one"
// *Cause: Split-merge API requires only one capture process enqueued message
//         to the queue where the propagation originated
// *Action: Please drop one capture, or split or merge another propagation.
26794, 00000, "Hierarchically enabled tables not supported"
// *Cause: Hierarchically enabled tables are not supported.
// *Action: Disable hierarchy for the table.
26795, 00000, "Cannot modify an LCR received from an XStream outbound server"
// *Cause: An attempt was made to modify an LCR generated by an XStream outbound
//         server.
// *Action: Clone the LCR generated by the XStream outbound server by 
//          using the provided OCILCR* functions, such as OCILCRNew,
//          OCILCRHeaderSet, and OCILCRRowColumnInfoSet. Then modify the 
//          cloned LCR.
26796, 00000, "STREAMS excessive IO event"
// *Document: NO
// *Cause:
// *Action:
26798, 00000, "LOB logical change record (LCR) missing LOB column in table \"%s\".\"%s\""
// *Cause: The apply slave could not fill update LOB because of missing LOB column.
// *Action: Check that all LOB columns have been sent correctly.
26799, 00000, "unique constraint %s.%s violated for table %s.%s with column values %s"
// *Cause: The row to update or insert violated the unique constraint.
// *Action: For XStreams, define a conflict resolution, or resolve the 
//          conflict and execute the error transaction using
//          DBMS_APPLY_ADM.EXECUTE_ERROR.
26800, 00000, "Apply not the only subscriber for \"%s\".\"%s\"."
// *Cause: The combined capture and apply optimization could not be used
//         since Apply was not the lone subscriber to the queue.
// *Action: Apply has to be the only subscriber to the queue.
26801, 00000, "More than one subscriber for \"%s\".\"%s\"."
// *Cause: Multiple subscribers were found when the combined capture and apply 
//         optimization was configured to only work for one subscriber.
// *Action: Configure a single subscriber, apply or propagation for the queue,
//          or enable the optimization for multiple subscribers.
26802, 00000, "Queue \"%s\".\"%s\" has messages."
// *Cause: The combined capture and apply optimization could not be used
//         since the queue had messages.
// *Action: Make sure queue is empty before starting apply and capture.
26803, 00000, "Subscribers have changed for queue \"%s\".\"%s\"."
// *Cause: The combined capture and apply optimization could not be used
//         since the subscribers had changed.
// *Action: Optimization can be used only if the queue has a single subscriber. 
26804, 00000, "Apply \"%s\" is disabled."
// *Cause: The apply process was disabled or aborted.
// *Action: Start the apply process.
26805, 00000, "Queue \"%s\".\"%s\" has rule based subscribers."
// *Cause: The combined capture and apply optimization could not be used
//         since the queue had rule based subscribers.
// *Action: Make sure queue has no rule based subscribers before starting 
//          apply and capture.
26806, 00000, "Remote database could not support combined capture and apply optimization."
// *Cause: The remote database has a version lower than Oracle 11.0 and hence
//         does not understand combined capture and apply optimization.
// *Action: Upgrade the remote database to Oracle 11.0 or above in order to
//          use the combined capture and apply optimization.
26807, 00000, "Database link is not NULL for Apply with the name \"%s\" ."
// *Cause: The combined capture and apply optimization could not be used
//         since apply_database_link was not NULL.
// *Action: Drop and recreate the apply with NULL value for apply_database_link.
26808, 00000, "Apply process %s died unexpectedly."
// *Cause: Apply process died unexpectedly.
// *Action: Check your system for anomalies and restart apply.
//          If this error persists, contact Oracle Support Services.
//          See trace file for more details.
26809, 00000, "Capture aborted: checkpoint-free mode requires combined capture and apply mode."
// *Cause: The requirements for combined capture and apply mode were broken.
// *Action: Restore the combined capture and apply mode and then
//          restart the capture. If combined capture and apply mode is no 
//          longer desired, drop the existing checkpoint-free capture and 
//          create another one that will take checkpoints.
26810, 00000, "Apply \"%s\" on database \"%s\" is in the mode of combined capture and apply."
// *Cause: The combined capture and apply optimization could not be used
//         because Apply was already in the mode of combined capture and
//         apply.
// *Action: Do not configure two captures for one apply.
26811, 00000, "Client has already attached to %s apply \"%s\"."
// *Cause: The client has already attached to the specified apply process. 
// *Action: Detach apply process before reattach.
26812, 00000, "An active session currently attached to XStream server \"%s\"."
// *Cause: An attempt was made to attach to the specified XStream server while
//         another session was attached to it.
// *Action: Retry when there is no session attaching to the specified XStream 
//          server.
26813, 00000, "The value for argument \"ARRAY_SIZE\" is too small"
// *Cause: The value for argument "ARRAY_SIZE" was less than the number of 
//         columns in the requested column list.
// *Action: Check the return value for "NUM_COLUMNS" parameter then allocate
//          all input arrays to at least that size and invoke the same
//          OCI function again.
26814, 00000, "The value for argument %s exceeds maximum %s"
// *Cause: The value for specified value exceeded the maximum allowed.
// *Action: Correct the value of specified argument.
26815, 00000, "Error from Apply Network Receiver for Apply \"%s\" and Capture \"%s\"."
// *Cause: The Apply Network Receiver aborted due to an unexpected error.
// *Action: Query DBA_APPLY_ERROR to determine the error and then restart
//          the Capture and Apply.
/
26816, 00000, "%s apply process \"%s\" (OS id %s) is exiting due to ORA-%s."
// *Cause: An apply process encountered an unexpected error.
// *Action: Query DBA_APPLY to examine the status of Apply and
//          restart Apply if needed.
/
26817, 00000, "%s capture process \"%s\" is unable to communicate with capture server %s during initialization."
// *Cause: Capture server might not be started properly
// *Action: Fix any errors during capture server creation and re-start capture process
/
26818, 00000, "%s capture process %s receives an error from capture server."
// *Cause: Capture server received an error.
// *Action: Check log for error details.
/
26819, 00000, "%s capture server for apply \"%s\" and capture \"%s\"encounters disabled or aborted propagation \"%s\"."
// *Cause: Propagation was disabled or aborted.
// *Action: Start propagation.
/
26820, 00000, "%s capture server for apply \"%s\" and propagation \"%s\" becomes active and needs join capture process \"%s\"."
// *Cause: Capture server was waiting for propagation or apply to start
// *Action: Capture process needs restart (done automatically).
/
26821, 00000, "No propagation process found between source queue \"%s\".\"%s\" and destination queue \"%s\".\"%s\"."
// *Cause: Propagation has not been configured.
// *Action:  Configure a propagation between specified queues and restart capture.
/
26822, 00000, "Failure in creating capture servers (ksv error code %s)."
// *Cause: Failure in ksv slave creation.
// *Action: Identify the actual ksv error and act accordingly.
/
26823, 00000, "%s capture server %s is unable to communicate with capture process \"%s\"."
// *Cause: Capture process was not started properly or was aborted.
// *Action: If Oracle GoldenGate, XStream or Streams capture process was stopped, then restart the 
//          capture process. Otherwise, fix any errors during the capture 
//          process creation and restart the capture process.
/
26824, 00000, "user-defined XStream callback error"
// *Cause:  A value other than OCI_CONTINUE or OCI_SUCCESS was returned for 
//          the user-defined XStream callback function. Any returned value 
//          other than OCI_CONTINUE or OCI_SUCCESS is invalid.
// *Action: Verify that either OCI_CONTINUE or OCI_SUCCESS is returned from 
//          the user-defined XStream callback function.
/
26825, 00000, "STREAMS process \"%s\" is not configured as an XStream outbound server."
// *Cause: An attempt was made to attach to a STREAMS apply process, which was 
//         not configured as an XStream outbound server.
// *Action: Check the apply name or re-create the apply process as an XStream 
//         outbound server.
/
26826, 00000, "%s apply coordinator and apply slave are unable to communicate."
// *Cause: GoldenGate, XStream or Streams Apply process may have died unexpectedly.
// *Action: Check your system for anomalies and restart apply.
//          If this error persists, contact Oracle Support Services.
//          See trace file for more details.
/
26827, 00000, "Insufficient privileges to attach to XStream outbound server \"%s\"."
// *Cause: Sufficient privileges were not granted to attach to the specified
//         XStream outbound server.
// *Action: Query DBA_XSTREAM_OUTBOUND view to get the connect_user value for 
//         the specified outbound server. Then modify the application to 
//         connect to the outbound server's database using this value.
/
26828, 00000, "XStream outbound server \"%s\" requires combined capture and apply mode."
// *Cause: The specified XStream outbound server was not in combined capture 
//         and apply mode.
// *Action: Restore the combined capture and apply mode and then
//          restart the capture. 
/
26829, 00000, "Cannot set \"DISABLE_ON_ERROR\" parameter to 'N'." 
// *Cause: An attempt was made to change the "DISABLE_ON_ERROR" parameter for 
//         an XStream outbound server to 'N'.
// *Action: Remove invalid statement.
/
26830, 00000, "Cannot define handler for an XStream outbound server."
// *Cause: An attempt was made to define a handler for an XStream outbound 
//         server.
// *Action: Remove invalid statement.
/
26831, 00000, "Cannot delete or execute error transaction from XStream outbound server \"%s\"."
// *Cause: An attempt was made to delete or execute an error transaction
//         from the specified XStream outbound server.
// *Action: Remove invalid statement.
/
26832, 00000, "Unable to create XStream outbound server \"%s\" due to existing handler."
// *Cause: An attempt was made to create the specified XStream outbound server
//         while there was a handler defined for the specified server.
// *Action: Use DBMS_APPLY_ADM.SET_DML_HANDLER procedure to remove all
//          handlers defined on the specified server then retry statement.
/
26833, 00000, "%s failed to update acknowledgment SCN for propagation \"%s\" from capture \"%s\" to apply \"%s\"."
// *Cause: propagation might have been modified after GoldenGate, XStream or Streams was started.
// *Action: Ensure propagation is configured properly and restart GoldenGate, XStream or Streams.
/
26834, 00000, "Unable to alter parameter '%s' because %s capture process is not configured to run locally" 
// *Cause: An attempt was made to alter the specified capture parameter when 
//         the GoldenGate, XStream or Streams capture process was not configured to run on the local 
//         database.
// *Action: Remove the invalid parameter or use DBMS_CAPTURE_ADM.ALTER_CAPTURE
//          procedure to alter the parameter.
/
26835, 00000, "The source database for XStream outbound server \"%s\" is invalid"
// *Cause: An attempt was made to add an XStream outbound server with a
//         source database that was different from the associated capture's 
//         source database. 
// *Action: Correct the value for the 'source_database' parameter in the call.
/
26836, 00000, "The specified rules must be created from the same subsetting condition"
// *Cause: An attempt was made to remove an outbound server's subset rules
//         when the specified INSERT, UPDATE, and DELETE rules were not
//         created from the same subsetting condition.
// *Action: Correct the rules in the statement.
/
26837, 00000, "Server \"%s\" is not an XStream inbound server"
// *Cause: An attempt was made to execute a procedure not appropriate on
//         an XStream inbound server.
// *Action: Replace with a procedure appropriate for an XStream inbound server
//          and resubmit.
/
26838, 00000, "Setting apply parameter \"%s\" is not permitted for XStream Outbound Server"
// *Cause: An attempt was made to set an apply parameter that was not applicable 
//         for XStream Outbound Server.
// *Action: Configure XStream Outbound Server using valid parameters. Check the
//          documentation for valid parameter values.
/
26839, 00000, "Apply tag for apply \"%s\" is not permitted for XStream Outbound Server"
// *Cause: An attempt was made to set an apply tag that was not applicable 
//         for XStream Outbound Server.
// *Action: Do not set the apply tag when using XStream Outbound Server.
/
26840, 00000, "Combined capture and apply optimization is disabled because %s is unable to identify an apply for the source database \"%s\"."
// *Cause: There were multiple Streams apply processes using the same queue 
//         which made combined capture and apply (CCA) optimization not 
//         possible.  
// *Action: If Streams performance is an issue, check the 
//         "Combined Capture and Apply Optimization" chapter in the 
//         "Oracle Streams Concepts and Administration" book. Then reconfigure
//         the Streams processes to meet this optimization's requirements.
/
26841, 00000, "No subscribers are found for queue \"%s\".\"%s\"." 
// *Cause: No propagation or apply was configured for the specified queue.
// *Action: Configure propagation or apply for the specified queue.
/
26842, 00000, "Setting apply directive \"%s\" is not permitted for XStream Outbound Server"
// *Cause: An attempt was made to set an apply directive that was not applicable 
//         for XStream Outbound Server.
// *Action: Configure XStream Outbound Server using valid directives. Check the
//          documentation for valid directives.
/
26843, 00000, "Local propagation \"%s\" found for capture queue \"%s\".\"%s\"."
// *Cause: The combined capture and apply optimization could not be used
//         because a local propagation was attached to the capture queue.
// *Action: Remove the local propagation and restart capture.
/
26844, 00000, "Found \"%s\" active automatic split jobs for %s Capture \"%s\" in DBA_STREAMS_SPLIT_MERGE"
// *Cause: Only one active split job is allowed for each GoldenGate, XStream or Streams Capture, but
//         multiple active automatic split jobs were found in
//         DBA_STREAMS_SPLIT_MERGE.
// *Action: Check trace to see how the jobs were submitted and drop them.
/
26845, 00000, "Found \"%s\" active split rows with the same cloned %s Capture \"%s\" in DBA_STREAMS_SPLIT_MERGE"
// *Cause: In DBA_STREAMS_SPLIT_MERGE, for active split rows, the column
//         CLONED_CAPTURE_NAME should be unique.  However, multiple rows were
//         found whose ACTION_TYPE column is 'SPLIT', ACTIVE column is 'ACTIVE'
//         and have the same CLONED_CAPTURE_NAME.
// *Action: Check trace to see how the rows were inserted and call
//          DBMS_STREAMS_ADM.RECOVER_OPERATION() for error recovery.
/
26846, 00000, "Found \"%s\" active automatic merge jobs for cloned %s Capture \"%s\" in DBA_STREAMS_SPLIT_MERGE"
// *Cause: Only one active merge job is allowed for each cloned GoldenGate, XStream or Streams Capture
//         , but multiple active automatic merge jobs were found in
//         DBA_STREAMS_SPLIT_MERGE.
// *Action: Check trace to see how the jobs were submitted and drop them.
/
26847, 00000, "Found invalid %s type: \"%s\""
// *Cause: Invalid GoldenGate, XStream or Streams type to split off was found.  Type should
//         only be 'PROPAGATION'(1) or 'APPLY'(2).
// *Action: Check trace to see how the invalid GoldenGate, XStream or Streams type was created and
//          correct it.
/
26848, 00000, "Split a nonexistent Streams Capture process \"%s\" in job \"%s\""
// *Cause: The job attempted to split a non-existent original Streams Capture.
// *Action: Drop the split job, or wait until the Streams Capture comes to
//          existence.
/
26849, 00000, "Split a nonsplittable %s Capture process \"%s\" in job \"%s\""
// *Cause: The job tried to split a GoldenGate, XStream or Streams Capture that was not splittable.
//         That is, the Capture either had less than two subscribers,
//         or it was not the only Capture of its queue.
// *Action: Drop the split job, or wait untill the GoldenGate, XStream or Streams Capture becomes
//          splittable.
/
26850, 00000, "Changes to queue subscribers were detected by %s capture process."
// *Cause: The subscribers for capture queue might have changed.
// *Action:  Capture process will restart automatically.
/
26851, 00000, "Unable to connect to apply \"%s\" because it has connected to another capture."
// *Cause: Another capture process is already connected to apply.
// *Action: Wait for the connected capture process to terminate or
//          abort the connected capture process.
/
26852, 00000, "Invalid NULL value for column_value parameter."
// *Cause:  NULL is not allowed to be passed as the column value.
// *Action: Replace NULL with a proper AnyData instance containing NULL,
//          e.g., sys.AnyData.ConvertVarchar2(NULL), as the column 
//          value if the column value is NULL.
//
/
26853, 00000, "invalid cca maximum percentage %s"
// *Cause: Specified percentage value was not in range 0 - 100.
// *Action: Specify a percentage value in the range 0 - 100.
/
26854, 00000, "%s %s has no enqueue or dequeue privileges to the queue."
// *Cause:  The GoldenGate, XStream or Streams user did not have enqueue or dequeue
//          privilege to the queue.
// *Action: Grant GoldenGate, XStream or Streams user enqueue or dequeue privileges to the queue.
/
26855, 00000, "%s %s has insufficient database privilege to access the queue."
// *Cause:  The GoldenGate, XStream or Streams user did not have sufficient database privilege to 
//          access the queue.
// *Action: Grant GoldenGate, XStream or Streams user database privileges to access the queue.
/
26856, 00000, "STREAMS %s has insufficient database privilege to access the queue."
// *Cause:  The GoldenGate, XStream or Streams user did not have sufficient database privilege to 
//          access the queue.
// *Action: Grant GoldenGate, XStream or Streams user database privileges to access the queue.
/
26857, 00000, "LCR position cannot be null (XID=%s)."
// *Cause:  The position of an LCR in the specified transaction was null.
// *Action: Use OCILCRHeaderSet to define the LCR position. 
/
26858, 00000, "LCR position must be strictly increasing (XID='%s', LCR position='%s', previous position='%s')."
// *Cause:  The position of an LCR in the specified transaction was less than or
//          equal to the previous LCR in transaction.
// *Action: Use OCILCRHeaderSet to correct the LCR position. 
/
26859, 00000, "Server \"%s\" is not an XStream outbound server"
// *Cause: An attempt was made to execute a procedure not appropriate on
//         an XStream outbound server.
// *Action: Replace with a procedure appropriate for an XStream outbound server
//          and resubmit.
/
26860, 00000, "Different transactions must have different transaction IDs (XID='%s', LCR position='%s', previous commit position='%s')."
// *Cause:  The position of an LCR in the specified transaction was greater than the position
//          of the previous commit LCR in transaction with same transaction ID.
// *Action: Use different transaction IDs for different transactions. 
/
26861, 00000, "XStream testing"
// *Document: NO
// *Cause:
// *Action:
26862, 00000, "LCR position must be greater than the processed low position of the XStream inbound server (XID='%s', LCR position='%s')."
// *Cause:  The position of an LCR in the specified transaction 
//          was less than or equal to the processed low postion of the 
//          XStream inbound server.
// *Action: Use OCILCRHeaderSet to correct the LCR position. 
/
26863, 00000, "Job \"%s\" showing as an active job in DBA_STREAMS_SPLIT_MERGE does not exist in DBA_SCHEDULER_JOBS."
// *Cause: An active job showing in DBA_STREAMS_SPLIT_MERGE did not exist.
//         It may have been dropped accidently or something was wrong with it.
// *Action: Check trace to identify the problem and call
//          DBMS_STREAMS_ADM.RECOVER_OPERATION() for error recovery.
/
26864, 00000, "Error occurred in %s automatic job: \"%s\""
// *Cause: An error has happened inside GoldenGate, XStream or Streams automatic job.
// *Action: Check trace for more detail.
/
26865, 00000, "must send a COMMIT LCR to end transaction '%s' before sending another transaction"
// *Cause: An attempt was made by a client application to send LCRs for a 
//         new transaction before sending a COMMIT LCR for the specified 
//         transaction.
// *Action: Modify the client application to send a COMMIT LCR at the end 
//          of the specified transaction.
/
26866, 00000, "The Queue of %s Apply process \"%s\" is not changeable."
// *Cause: Not all of the conditions for the Queue of a GoldenGate, XStream or Streams Apply process
//         to be changeable were met. Conditions are: -The Apply process is not
//         running. -The Apply process has no error. -The Apply process has no
//         spilling. -The Apply process is not used for XStream Outbound or
//         Inbound Servers.  -The Apply process is a local Apply process. -The
//         corresponding GoldenGate, XStream or Streams Capture process should be stopped.
// *Action: Make sure all of the conditions are met.
/
26867, 00000, "%s must be called during OCIXStreamOutLCRReceive execution"
// *Cause:  An attempt was made to execute the specified function while
//          OCIXStreamOutLCRReceive call was not in progress.
// *Action: Check your program and make sure the specified call is invoked
//          during OCIXStreamOutLCRReceive callback function.
/
26868, 00000, "%s must be called during OCIXStreamInLCRSend execution"
// *Cause:  An attempt was made to execute the specified function while
//          OCIXStreamInLCRSend call was not in progress.
// *Action: Check your program and make sure the specified call is invoked
//          during OCIXStreamInLCRSend callback function.
/
26869, 00000, "must attach to an XStream inbound server before executing %s function"
// *Cause:  An attempt was made to invoke the specified function
//          before executing OCIXStreamInAttach call.
// *Action: Add OCIXStreamInAttach call before the specified function.
/
26870, 00000, "cannot call %s while OCIXStreamInLCRCallbackSend call is still executing."
// *Cause:  An attempt was made to invoke the specified call while
//          OCIXStreamInLCRCallbackSend call was executing.
// *Action: Check your program and remove the specified call when there is an
//          OCIXStreamInLCRCallbackSend call in progress.
/
26871, 00000, "unexpected %s call (expecting %s)"
// *Cause:  Could be one of the following reasons:
//          1) An attempt was made to invoke OCIXStreamInChunkSend when
//          the most recent LCR or chunk sent did not have the
//          OCI_XSTREAM_MORE_ROW_DATA flag set; 
//          2) An attempt was made to invoke OCIXStreamInLCRSend when
//          the most recent LCR or chunk sent had OCI_XSTREAM_MORE_ROW_DATA 
//          flag set.
26872, 00000, "must attach to an XStream outbound server before executing %s function"
// *Cause:  An attempt was made to invoke the specified function
//          before executing OCIXStreamOutAttach call.
// *Action: Add OCIXStreamOutAttach call before the specified function.
/
26873, 00000, "cannot call %s while OCIXStreamOutLCRCallbackReceive call is still executing."
// *Cause:  An attempt was made to invoke the specified call while
//          OCIXStreamOutLCRCallbackReceive call was executing.
// *Action: Check your program and remove the specified call when there is an
//          OCIXStreamOutLCRCallbackReceive call in progress.
/
26874, 00000, "%s Capture process \"%s\" cannot be split."
// *Cause: An attempt was made to split a GoldenGate, XStream or Streams Capture process that could not be split.
//         That is, the Capture process either had less than two subscribers,
//         or it was not the only Capture process of its queue.
// *Action: Wait until the GoldenGate, XStream or Streams Capture process can be split.
/
26875, 00000, "Timeout while %s automatic split job \"%s\" waits for the subscriber \"%s\" of Capture process \"%s\" to acknowledge split"
// *Cause: To split a subscriber of a GoldenGate, XStream or Streams Capture process, an automatic
//         split job needs to wait until the subscriber acknowledges the split.
//         The wait timed out.
// *Action:
/
26876, 00000, "invalid processed low-watermark (current position=%s; new position=%s)"
// *Cause:  An attempt was made to set the processed low-watermark to a value
//          that was less than the current processed low-watermark.
// *Action: Correct the processed low-watermark in OCIXStreamOutProcessedLWMSet
//          call.
/
26877, 00000, "must reattach after an OCIXStreamOut call was interrupted"
// *Cause:  An attempt was made to execute another OCIXStreamOut API when 
//          an earlier call was interrupted because the XStream outbound
//          server was disabled or the client requested cancellation of 
//          the operation.
// *Action: Execute OCIXStreamOutAttach call to reattach to the same XStream 
//          outbound server.
/
26878, 00000, "inconsistent input LCR (LCR is '%s' type, expecting '%s')"
// *Cause:  An attempt was made to send an LCR that was not consistent with
//          the specified LCR type.
// *Action: Correct your application to specify an LCR type that agrees with
//          the LCR to be sent.
/
26879, 00000, "\"SET_ENQUEUE_DESTINATION\" directive is not permitted on rules used by XStream outbound server \"%s\""
// *Cause:  One or more rules, used by the specified XStream outbound server,
//          had SET_ENQUEUE_DESTINATION directive defined.
// *Action: Execute the following: 
//   1) Execute query
//       SELECT xr.rule_owner, xr.rule_name, xr.rule_set_owner, 
//              xr.rule_set_name
//       FROM dba_apply_enqueue e, dba_xstream_rules xr 
//        WHERE e.rule_owner = xr.rule_owner AND e.rule_name = xr.rule_name
//        AND xr.streams_name = <specified outbound server>; 
//   2) For each rule returned, execute DBMS_APPLY_ADM.SET_ENQUEUE_DESTINATION 
//      procedure to set the destination queue to null, or execute 
//      DBMS_RULE_ADM.REMOVE_RULE to remove that rule from its associated
//      rule set. 
/
26880, 00000, "\"SET_EXECUTE\" directive is not permitted on rules used by XStream outbound server \"%s\""
// *Cause:  One or more rules, used by the specified XStream outbound server,
//          had SET_EXECUTE directive defined.
// *Action: Execute the following:  
//   1) Execute query
//       SELECT xr.rule_owner, xr.rule_name, xr.rule_set_owner, 
//              xr.rule_set_name
//       FROM dba_apply_execute e, dba_xstream_rules xr 
//        WHERE e.rule_owner = xr.rule_owner AND e.rule_name = xr.rule_name
//        AND xr.streams_name = <specified outbound server>; 
//   2) For each rule returned, use DBMS_APPLY_ADM.SET_EXECUTE 
//      procedure to set the EXECUTE parameter to TRUE, or use 
//      DBMS_RULE_ADM.REMOVE_RULE to remove that rule from its associated
//      rule set. 
/
26881, 00000, "ORA-%s: %s raised in %s automatic %s job:\"%s\".\"%s\" for Capture process \"%s\" and cloned Capture process \"%s\"." 
// *Cause: An error was raised in a GoldenGate, XStream or Streams automatic split/merge job for the given original and cloned Capture processes.
// *Action: Check the corresponding split/merge row in DBA_STREAMS_SPLIT_MERGE view, alert log and trace file for details.
/
26882, 00000, "Timeout while %s automatic split/merge job:\"%s\".\"%s\" tried to lock Capture process \"%s\"." 
// *Cause: The GoldenGate, XStream or Streams Capture process could be locked by other automatic split/merge jobs.
// *Action: No action required.  The GoldenGate, XStream or Streams automatic split/merge job will retry automatically.
/
26883, 00000, "Timeout due to %s Apply process \"%s\" while merge original Capture process \"%s\" and cloned Capture process \"%s\"." 
// *Cause: When merging two GoldenGate, XStream or Streams Capture processes, the merge needs to wait untill the
//         Apply process of the cloned Capture process goes
//         ahead of the slowest subscriber of the original Capture
//         process.  This wait timed out.
// *Action: Make sure the GoldenGate, XStream or Streams Apply process still works properly.
/
26884, 00000, "Not allowed to specify OCI_LCR_ROW_COLVAL_OLD with OCILCR_NEW_ONLY_MODE."
// *Cause: An attempt was made to call OCILCRRowColumnInfoGet function with
//         OCI_LCR_ROW_COLVAL_OLD and OCILCR_NEW_ONLY_MODE.
// *Action: Change OCI_LCR_ROW_COLVAL_OLD to OCI_LCR_ROW_COLVAL_NEW or
//          remove OCILCR_NEW_ONLY_MODE argument.
/
26885, 00000, "OCIXStreamInCommit called before OCIXStreamInFlush"
// *Cause: An attempt was made to call OCIXStreamInCommit before calling OCIXStreamInFlush.
// *Action: Call OCIXStreamInFlush prior to calling OCIXStreamInCommit.
/
26886, 00000, "LCR commit position ('%s') must be greater than the applied high position of the XStream inbound server (position='%s')."
// *Cause:  The position of the commit LCR was less than or equal to the applied
//          high postion of the XStream inbound server.
// *Action: Set the commit position higher than the applied high position.
/
26887, 00000, "Insufficient privileges to attach to XStream inbound server \"%s\"."
// *Cause: Sufficient privileges were not granted to attach to the specified
//         XStream inbound server.
// *Action: Query DBA_XSTREAM_INBOUND view to get the apply_user value for 
//         the specified XStream outbound server. Then, modify the application 
//         to connect to the inbound server's database using this value.
/
26888, 00000, "Redo compatibilty must be 10.2 or greater"
// *Cause: XStream Out requires redo comptibility to be 10.2 or greater.
// *Action: Drop the outbound server.
/
26889, 00000, "LOB assembly not supported for PDML parent transaction %s, child transaction %s."
// *Cause: LOB assembly is not supported for PDML transactions.
// *Action: Disable LOB assembly, or filter out the PDML transaction.
/
26890, 00000, "Invalid update LCR on Oracle Sequence \"%s\".\"%s\""
// *Cause: The new value column list of an update LCR on an Oracle Sequence
//         did not have non-null columns \"CYCLE#\", \"INCREMENT$\", \"CACHE\"
//         and \"HIGHWATER".
// *Action: Make sure the new value column list has all the required columns.
//          This might be a user error if the LCR is from an XStream In client.
/
26891, 00000, "Target Oracle Sequence \"%s\".\"%s\" has inconsistent parameters with the source."
// *Cause: The source and target Oracle Sequences did not have the identical
//         cache size, increment value, and cycle flag needed for replication
//         purposes.
// *Action: Make sure the source and target Oracle Sequences have identical
//          parameters. This might be a user error if the LCR is from an
//          XStream In client.
/
26892, 00000, "XStream feature not supported"
// *Cause: The XStream feature was not supported.
// *Action: No action necessary.
/
26893, 00000, "Input LCR must be a commit LCR"
// *Cause: The input LCR was not a commit LCR.
// *Action: Make sure the input LCR is a commit LCR.
/
26894, 00000, "Invalid \"%s\" in Apply Progress redo"
// *Cause: The value of the field reported was possibly corrupted.
// *Action: Contact Oracle Support Services.
/
26895, 00000, "Setting parameter \"%s\" of Streams process \"%s\" is only permitted for Oracle GoldenGate or XStream."
// *Cause:  An attempt was made to set a parameter that is only allowed
//          for XStream.
// *Action: Oracle GoldenGate license is needed to use this parameter.
/
26896, 00000, "Attempted to connect multiple Oracle GoldenGate Capture processes, including \"%s\", with XStream outbound server \"%s\" through queue \"%s\".\"%s\""
// *Cause: An attempt was made to connect multiple Oracle GoldenGate Capture
//         processes through a queue with the XStream outbound server. 
// *Action: Each XStream outbound server can only connect with one co-located
//          Capture process. Remove extra Capture processes.
/
26897, 00000, "Unable to start %s capture \"%s\" because its subscribers \"%s\" and \"%s\" have different purpose" 
// *Cause: An attempt was made to start an Oracle Capture process but it failed
//         to start because its subscribers had conflicting purpose.
// *Action: Remove one of the specified subscribers from the capture queue.
/
26898, 00000, "Unable to create \"%s\" because there is an Oracle Capture process using the same queue \"%s\".\"%s\""
// *Cause: An attempt was made to create an inbound server using the same
//         queue that was used by an Oracle Capture process.
// *Action: Resubmit the statement using another queue name.
/
26899, 00000, "internal %s error"
// *Cause:  An internal Streams, XStream or GoldenGate error has occurred.
// *Action: Please contact Oracle customer support.
/
26900, 00000, "Streams failed to update data dictionary table for propagation \"%s\" from capture \"%s\" to apply \"%s\"."
// *Cause: The data dictionary table was corrupted.
// *Action: Validate the data dictionary table to restart GoldenGate, XStream or Streams capture process.
/
26901, 00000, "%s propagation sender in the combined capture and apply mode is to be suspended while apply is disabled."
// *Cause: The corresponding subscriber was dropped or split.
// *Action: No action necessary.
/
26902, 00000, "%s propagation sender in the combined capture and apply mode is to be suspended while apply is enabled."
// *Cause: The corresponding subscriber was dropped or split.
// *Action: No action necessary.
/
26903, 00000, "Invalid edition name \"%s\""
// *Cause:  The edition associated with the LCR did not exist in the 
//          destination database.
// *Action: Check if the edition needs to be created manually on the destination
//          database or if the CREATE EDITION statement for this edition 
//          has been applied properly on the destination database. 
/
26904, 00000, "Invalid bind variable \"%s\" in LCR field expression."
// *Cause:   In the statement handler, the bind variables listed in
//           the SQL expression did not match the allowed Logical Change Record field names.
// *Action:  Verify that all the bind variables listed in the expression are
//           legal Logical Change Record fields.
/
26905, 00000, "Invalid LCR method expression \"%s\" in statement handler."
// *Cause:   The Logical Change Record method listed was not allowed in the statement handler.
// *Action:  Verify that the Logical Change Record method listed in the expression is a legal
//           DBMS_LCR method.
26906, 00000, "No change handler exists."
// *Cause:  There was no change handler for the specified apply, operation,
//          source table, change table, and capture values.
// *Action: Query DBA_APPLY_CHANGE_HANDLERS view to find the correct change
//          handler.
26907, 00000, "Insufficient privileges to set converge tag"
// *Cause:  Privileges were insufficient to set converge tag.
// *Action: The invoker needs EXECUTE_CATALOG_ROLE or execute privilege on
//          DBMS_STREAMS_ADM to set converge tag. Grant appropriate privileges
//          to the invoker.
/
26908, 00000, "XStream API must be executed using a dedicated server process."
// *Cause:  An attempt was made to execute XStream API using a shared server 
//          process.
// *Action: Replace the connect string in the client application to use a 
//          dedicated server process.
/
26909, 00000, "cannot reexecute an eager error"
// *Cause:  An attempt was made to reexecute an eager error transaction.
//          An eager transaction is applied before the apply process sees
//          the commit or rollback for the transaction.
// *Action: Fix the cause of the eager error and restart the apply process.
//          When apply is restarted, capture will automatically resend
//          the transaction, and the transaction will be applied by the 
//          apply process.
/
26910, 00000, "user error %s encountered in eager mode"
// *Cause:  An error was encountered during eager apply. An eager
//          transaction is applied before the apply process sees the commit 
//          or rollback for the transaction. If an error occurs during
//          an eager transaction, the transaction will be rolled back.
// *Action: Query the DBA_APPLY_ERROR view to determine the error and
//          take the appropriate action. The apply process will need to be
//          restarted to apply the transaction that had the error. When 
//          apply is restarted, capture will automatically resend the 
//          transaction, and the transaction will be applied by the apply 
//          process.
/
26911, 00000, "invalid oldest position (current position=%s; new position=%s)"
// *Cause:  An attempt was made to set the oldest position to a value
//          that was less than the current value.
// *Action: Correct the oldest_position argument in 
//          OCIXStreamOutProcessedLWMSet2 call.
/
26912, 00000, "not allowed to invoke '%s' while in committed data-only mode"
// *Cause: An attempt was made to call the specified API while the attached
//         XStream server was in committed data-only mode. 
// *Action: Perform one of the following:
//    1) If the invalid call is OCIXStreamOutProcessedLWMSet2, then change it  
//       to OCIXStreamOutProcessedLWMSet or pass a null oldest_position to 
//       OCIXStreamOutProcessedLWMSet2 call. 
//    2) If the invalid call is OCIXStreamInProcessedLWMGet2, then change it  
//       to OCIXStreamInProcessedLWMGet or pass a null oldest_position to 
//       OCIXStreamInProcessedLWMGet2 call.
/
26913, 00000, "must connect to instance %s where %s %s server \"%s\" is running"
// *Cause:  The client application was not connected to the same Oracle RAC 
//          instance as the specified Oracle GoldenGate or XStream server.
// *Action: Connect to the specified instance using the network service name
//          obtained from the following query: 
//          SELECT network_name FROM all_queues q, all_xstream_outbound ob
//          WHERE q.owner = ob.queue_owner AND q.name = ob.queue_name 
//            AND server_name = '<server_name>';
/
26914, 00000, "Unable to communicate with %s capture process \"%s\" from outbound server \"%s\"."
// *Cause: Capture process might not haven been started properly or was aborted.
// *Action: If Oracle GoldenGate or XStream capture process was stopped, 
//          then restart the capture process. Otherwise, query the
//          DBA_CAPTURE view to determine the reason and take the appropriate 
//          action.
//          If the error is ORA-4031, either increase the initialization 
//          parameter STREAMS_POOL_SIZE or increase the capture parameter 
//          MAX_SGA_SIZE or increase both.
//          Refer to the XStream documentation for additional information on
//          these parameters.
/
26915, 00000, "Unable to return Logical Change Record (LCR) information due to missing data dictionary."
// *Cause: The current session was unable to return the requested information on
//         the given LCR due to missing dictionary data on that LCR.
// *Action: Detach and reattach the XStream outbound server. Then retry the
//         current call. 
/
26916, 00000, "Must call OCIPOGGRedoLogOpen function before OCIPOGGRedoLogRead"
// *Cause: An attempt was made to call OCIPOGGRedoLogRead before calling
//         OCIPOGGRedoLogOpen.
// *Action: Add OCIPOGGRedoLogOpen call before OCIPOGGRedoLogRead.
/
26917, 00000, "OCIPOGG API must be executed using a dedicated server process."
// *Cause:  An attempt was made to execute OCIPOGG API using a shared server
//          process.
// *Action: Replace the connect string in the client application to use a
//          dedicated server process.
/
26918, 00000, "Must use '%s' procedure for outbound server \"%s\"."
// *Cause: An attempt was made to execute START_APPLY on an outbound server
//         that uses uncommitted data mode.
// *Action: Use the specified procedure instead.
/
26919, 00000, "Capture \"%s\" is not associated with queue \"%s\".\"%s\". "
// *Cause: The capture specified in the ADD_OUTBOUND procedure was not
//         associated with the specified queue.
// *Action: Resubmit the ADD_OUTBOUND procedure after removing either the
//         capture_name or the queue_name argument.
/
26920, 00000, "%s outbound server \"%s\" has been stopped."
// *Cause: The specified outbound server was stopped.
// *Action: Execute START_OUTBOUND procedure to restart the outbound server or
//         execute OCIXStreamOutAttach function to reattach to the outbound
//         server.
/
26921, 00000, "Cannot alter the start SCN or time of %s Capture \"%s\"."
// *Cause: An attempt was made to alter the start SCN or time for a capture
//         while other outbound servers were still attached to it.
// *Action: Execute the following:
//   1) Get the names of other outbound servers currently attached to the 
//      specified Capture using the query:
//       SELECT server_name
//       FROM dba_xstream_outbound
//       WHERE (status = 'ATTACHED') AND
//         (server_name <> '<altered_server>') AND
//         (capture_name = '<specified_capture_name>');
//   2) Detach the client application from each server_name returned.
//   3) Retry the operation.
/
26922, 00000, "user %s does not have LOGMINING privilege"
// *Cause: An attempt was made to start the capture process or attach to 
//         an outbound server when the specified user did not have 
//         LOGMINING privilege. 
// *Action: Grant LOGMINING privilege to the specified user and
//         resubmit the failed operation.
/
26923, 00000, "cannot configure %s outbound server \"%s\" with %s capture \"%s\" due to different purpose"
// *Cause: An attempt was made to configure an outbound server with a
//         capture used for different purpose.
// *Action:  Execute the following:
//   1) Get the purpose of each capture and its associated queue:  
//       SELECT capture_name, queue_owner, queue_name, purpose
//       FROM dba_capture;
//   2) Resubmit the statement using a queue or capture with the same purpose. 
/
26924, 00000, "cannot configure %s using \"%s\".\"%s\" queue because it is used by \"%s\" for %s purpose"
// *Cause: An attempt was made to configure the specified process using a 
//         queue already used by another process for different purpose.
// *Action:  Resubmit the statement using another queue of the same purpose. 
/
26925, 00000, "cannot configure outbound server \"%s\" with capture \"%s\" because it is not using apply-state checkpoint" 
// *Cause: An attempt was made to configure an outbound server with a
//         capture not using apply-state checkpoint.
// *Action:  Specify a different capture in the ADD_OUTBOUND procedure 
//   or re-create the capture and resubmit the statement.
/
26926, 00000, "Unable to attach because capture \"%s\" is missing dictionary redo logs"
// *Cause: The specified capture was unable to locate the dictionary redo log.
// *Action:  Check the state of the specified capture from gv$streams_capture
//         to determine the SCN or filename of the missing log file.  Confirm 
//         that the filename exists and is accessible online and also in the
//         DBA_REGISTERED_ARCHIVED_LOG view.  In addition, for local capture, 
//         confirm that an entry exists for the file in the V$ARCHIVED_LOG view.
//         If an entry is missing, it can be added using the ALTER DATABASE 
//         REGISTER  .... LOGFILE command, specifying the keyword LOGICAL 
//         LOGFILE  or PHYSICAL LOGFILE as appropriate. 
/
26927, 00000, "Unable to communicate with %s capture process \"%s\" from outbound server \"%s\"."
// *Cause: A timeout occurred while waiting for capture to respond.
// *Action: Check the state of the specified capture from GV$XSTREAM_CAPTURE view.
//          Determine the reason for capture's unresponsiveness.
//          If streams_pool_size is not set or set with an inadequate value, consider
//          setting or increasing the value of this parameter.
/
26928, 00000, "Unable to communicate with %s apply coordinator process \"%s\" from outbound server \"%s\"."
// *Cause: A timeout occurred while waiting for apply coordinator to respond.
// *Action: Check the state of the specified apply coordinator from
//          GV$STREAMS_APPLY_COORDINATOR view.
//          Determine the reason for apply coordinator's unresponsiveness.
//          If streams_pool_size is not set or set with an inadequate value, consider
//          setting or increasing the value of this parameter.
/
26929, 00000, "altering an outbound server with a remote capture is not allowed"
// *Cause: An attempt was made to alter an outbound server with a remote
//         capture.
// *Action: None
/
26930, 00000, "User \"%s\" does not have privileges to perform this operation"
// *Cause: An attempt was made to create, alter, or drop a process that has
//         a different user (such as capture user or apply user) than the 
//         invoking user.
// *Action: Use the DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE or 
//          DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE procedures to grant the 
//          invoking user proper privileges.
/
26931, 00000, "This procedure can only be invoked from the root container."
// *Cause: An attempt was made to create an outbound server in non-root PDB.
// *Action: Create the outbound server from the root container.
/
26932, 00000, "Streams configuration is not allowed in a container database."
// *Cause: An attempt was made to configure a Streams environment in a container database.
// *Action: None
/
26933, 00000, "Cannot start Streams process \"%s\" while in a container database."
// *Cause: An attempt was made to start the specified Streams process while in
//         a container database.
// *Action: None
/
26934, 00000, "Streams synchronous capture is not supported in a container database."
// *Cause: An attempt was made to perform a DML operation on a table being
//         captured by a Streams synchronous capture in a container database.
// *Action: Remove all Streams synchronous captures then reexecute the DML
//          operation.
/
26935, 0000, "Unsupported type %s.%s for parameter for procedure %s.%s.%s.\n"
//* Cause:  Apply encountered a procedure call with a parameter with an
//          unsupported type.
//* Action: Modify the rules to filter out the procedure call.
/
26936, 00000, "must execute OCIPOGGCaptureAttach before invoking %s function"
// *Cause:  An attempt was made to invoke the specified function
//          before executing OCIPOGGCaptureAttach call.
// *Action: Add OCIPOGGCaptureAttach call before the specified function.
/
26937, 00000, "client has already attached to %s capture \"%s\"."
// *Cause: The client was already attached to the specified capture. 
// *Action: Detach from the specified capture before reattaching.
/
26938, 00000, "cannot pack LCR into LCR buffer (buffer size is %s, LCR size is %s)"
// *Cause: The logical change record (LCR) buffer was not large enough to store the current LCR.
// *Action: Increase the buffer size in the OCIPOGGCaptureAttach call.
/
26939, 00000, "%s capture \"%s\" is disabled."
// *Cause: The capture process was disabled or aborted.
// *Action: Start the capture process.
/
26940, 00000, "OCIPOGGCapture API must be executed using a dedicated server process."
// *Cause:  An attempt was made to execute OCIPOGGCapture API using a shared
//          server process.
// *Action: Replace the connect string in the client application to use a
//          dedicated server process.
26941, 00000, "unable to perform LOB assembly for table %s.%s"
// *Cause: The apply process was unable to perform the LOB assembly for a DML 
//         for the specified table.
// *Action: Verify that the storage type for the columns are compatible at the 
//          source and destination.
26942, 00000, "LCR should not contain old value for column %s in table %s.%s"
// *Cause: The LCR contained old values for LOB, XMLType and object columns.
// *Action: Remove old values for any LOB, XMLType and object columns in
//          the LCR.
/
26943, 00000, "cross PDB operation not allowed"
// *Cause: An attempt was made to perform an operation on a container database different
//         from the container database where the call was made.
// *Action: Log into the root container or into the container where you want to perform
//          the requested action.
26944, 00000, "User \"%s\" attempted to invoke a procedure without proper permissions."
// *Cause: An attempt was made to invoke a procedure without proper permissions.
// *Action: Use the DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE to grant the 
//          invoking user proper privileges.
26945, 00000, "unsupported hint %s"
// *Cause: The specified hint was not supported.
// *Action: Remove the hint from the SQL statement.
/
26946, 00000, "OCIPOGGRedoLog API not supported in CDB."
// *Cause:   An attempt was made to call an OCIPOGGRedoLog API in a multitenant 
//           container database (CDB). 
// *Action:  Do not call the OCIPOGGRedoLog API in a CDB.
//
/
26947, 00000, "Oracle GoldenGate replication is not enabled."
// *Cause: The 'enable_goldengate_replication' parameter was not set to 'true'.
// *Action: Set the 'enable_goldengate_replication' parameter to 'true'
//           and retry the operation.
//          Oracle GoldenGate license is needed to use this parameter.    
/
26948, 00000, "Streams API must be executed using a dedicated server process."
// *Cause:  The dblink configured for the propagation from the capture queue 
//          to the apply queue is using a shared server connection. 
// *Action: Modify the dblink for this propagation to use a dedicated server
//          connection.
/
26949, 00000, "Advanced Replication is not allowed in a container database."
// *Cause:  An attempt was made to configure an advanced replication 
//          in a multitenant container database (CDB).
// *Action: Do not call the Advanced Replication API in a CDB.
/
26950, 00000, "Streams tracing event"
// *Document: No
// *Cause:
// *Action:
/
26951, 00000, "table \"%s\".\"%s\" has column data type not supported by conflict resolution"
// *Cause: A conflict was detected, but unsupported columns prevented resolving the conflict.
// *Action: Remove conflict resolution configuration for tables with LOB, LONG, XML, object, or extended types.
/
26952, 00000, "could not clone from the specified clone_capture_name %s while creating capture process %s"
// *Cause:  The specified clone_capture_name could not be used as a clone 
//          candidate while creating the capture process.
// *Action: Re-create the capture without setting clone_capture_name.
/
26953, 00000, "source database character set is not a subset of the mining database character set"
// *Cause:  An attempt was made to configure a downstream capture but the source database character
//          set was not a subset of the mining database character set.
// *Action: Use AL32UTF8 character set or other compatible character set for the mining database.
/
26954, 00000, "invalid protocol (opcode %s) received during XStream execution"
// *Cause:  An internal protocol error occurred while executing an XStream
//          function.
// *Action: Contact Oracle Support Services.
/
26955, 00000, "cannot capture TIMESTAMP WITH LOCAL TIME ZONE data type"
// *Cause:  The capture process was unable to capture TIMESTAMP WITH LOCAL TIME ZONE data type
//          because the source database time zone was not available.
// *Action: Refer to My Oracle Support Note 1928808.1 to set the source database time zone for the
//          specified capture process.
/
26956, 00000, "capture %s created successfully but the source database time zone is not available"
// *Cause:  The capture process was created successfully; however, it will not be able to capture
//          TIMESTAMP WITH LOCAL TIME ZONE data type unless the source database time zone is set.
// *Action: Refer to My Oracle Support Note 1928808.1 to set the source database time zone for the
//          specified capture process.
/
26957, 00000, "LCR identifier length is invalid."
// *Cause:  A logical change record (LCR) identifier with an incompatible length was used. 
// *Action: Use an LCR identifier compatible with release 12.2 or higher specification.
/
26958, 00000, "LCR identifier version is invalid."
// *Cause:  An invalid logical change record (LCR) identifier version number was used. 
// *Action: Use an LCR identifier version compatible with release 12.2 or higher specification.
/
26959, 00000, "SCN value does not fit in SCN version 1."
// *Cause:  The system change number (SCN) value was too big to fit in the original SCN specification.
// *Action: Use an SCN value compatible with the original SCN specification.
/
26960, 00000, "automatic CDR already configured for table \"%s\".\"%s\""
// *Cause:  Automatic conflict detection and resolution was already configured.
// *Action: Remove the automatic conflict detection and resolution
//          configuration and retry.
/
26961, 00000, "automatic CDR not configured for table \"%s\".\"%s\""
// *Cause:  Automatic conflict detection and resolution was not configured.
// *Action: None.
/
26962, 00000, "automatic CDR delta resolution not configured for column \"%s\""
// *Cause:  Automatic conflict detection and resolution delta resolution was
//          not configured.
// *Action: None.
/
26963, 00000, "automatic CDR column group cannot be created"
// *Cause:  Automatic conflict detection and resolution was configured with
//          column granularity.
// *Action: Remove the column-level configuration and retry.
/
26964, 00000, "column \"%s\" already assigned to a column group"
// *Cause:  The column was already part of a column group.
// *Action: Remove the column from the column group and retry.
/
26965, 00000, "column group name \"%s\" not available"
// *Cause:  The column group name was already in use.
// *Action: Remove the existing column group and retry.
/
26966, 00000, "Event for Streams/XStream bugs"
// *Document: NO
// *Cause: This is an internal event.
// *Action: N/A
/
26967, 00000, "delete tombstone table \"%s\".\"%s\" cannot be dropped"
// *Cause:  An attempt was made to drop a delete tombstone table.
// *Action: Remove the automatic conflict detection and resolution from the
//          base table.
/
26968, 00000, "column group \"%s\" not found"
// *Cause:  The column group did not exist.
// *Action: Check if the column group needs to be created.
/
26969, 00000, "column \"%s\" not part of column group \"%s\""
// *Cause:  The column did not belong to the column group.
// *Action: Check the column list and retry.
/
26970, 00000, "table \"%s'\" does not contain a primary key constraint"
// *Cause:  An attempt was made to configure automatic conflict detection and
//          resolution with delete tombstones on a table without a primary key.
// *Action: Add a primary key and retry.
/
26971, 00000, "resolution column \"%s\" not present"
// *Cause:  The resolution column was not set in the logical change record (LCR).
// *Action: Manually resolve the conflict.
/
26972, 00000, "An apply process attempted to modify the SYSAUX tablespace."
// *Document: No
// *Cause:  An ALTER TABLESPACE DDL to SYSAUX was attempted by Oracle GoldenGate, XStream or Streams process.
// *Action: Only SYS is allowed to modify SYSAUX.
/
26973, 00000, "automatic CDR not supported for table \"%s\".\"%s\" which has long columns"
// *Cause: Automatic conflict detection and resolution (CDR) support
//  for long columns failed. CDR does not support long columns.
// *Action: None.
/
26974, 00000, "Apply process is stuck in synchronous error handling mode."
// *Cause:  The apply process ran out of memory or queue space while suspended for synchronous error handling.
// *Action: Restart Oracle GoldenGate Replicat process.
/
/ 27000-27299 Reserved for Oracle8 Unix OSDs
/ (skgfr, skgfq, ...)
/
/ 27000 - 27030 keep for SKGFQ (Also 27190-27229)
/
27000, 00000, "skgfqsbi: failed to initialize storage subsystem (SBT) layer"
// *Cause:  sbtinit returned an error, additional information indicates
//          error
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27001, 00000, "unsupported device type"
// *Cause:  the specified device type is supported on this platform
// *Action: check V$BACKUP_DEVICE for supported device types
27002, 00000, "function called with invalid device structure"
// *Cause:  internal error, aditional information indicates which
//          function encountered error
// *Action: check for trace file and contact Oracle Support
27003, 00000, "cannot open file on device allocated with NOIO option"
// *Cause:  internal error, a file is being created/retrieved on a device
//          allocated with NOIO option, additional information indicates
//          which function encountered error
// *Action: check for trace file and contact Oracle Support
27004, 00000, "invalid blocksize specified"
// *Cause:  internal error, blocksize specified is incorrect for the
//          device on which file is being created, aditional
//          information indicates blocksize specified, and the
//          function that encountered the error
// *Action: check for trace file and contact Oracle Support
27005, 00000, "cannot open file for async I/O on device not supporting async"
// *Cause:  internal error, a file is being opened for async I/O on a
//          device that does not support async I/O, additional
//          information indicates which function encountered error
// *Action: check for trace file and contact Oracle Support
27006, 00000, "sbtremove returned error"
// *Cause:  additional information indicates error returned by sbtremove,
//          and the function that encountered the error
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27007, 00000, "failed to open file"
// *Cause:  sbtopen returned error, additional information indicates error
//          returned from sbtopen, and the function that encountered
//          the error
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27008, 00000, "function called with invalid file structure"
// *Cause:  internal error, aditional information indicates which
//          function encountered error
// *Action: check for trace file and contact Oracle Support
27009, 00000, "cannot write to file opened for read"
// *Cause:  internal error
// *Action: check for trace file and contact Oracle Support
27010, 00000, "skgfwrt: write to file failed"
// *Cause:  sbtwrite returned error, additional information indicates
//          error returned from sbtwrite
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27011, 00000, "skgfrd: cannot read from file opened for write"
// *Cause:  internal error
// *Action: check for trace file and contact Oracle Support
27012, 00000, "skgfrd: read from file failed"
// *Cause:  sbtread returned error, additional information indicates
//          error returned from sbtread
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27013, 00000, "skgfqdel: cannot delete an open file"
// *Cause:  internal error
// *Action: check for trace file and contact Oracle Support
27014, 00000, "skgfqpini: translation error while expanding SS_UDMPDIR"
// *Cause:  Failure of sltln in skgfqpini
// *Action: Check additional return error for more information.
27015, 00000, "skgfcls: failed to close the file"
// *Cause:  sbtclose returned error, additional information indicates
//          error returned from sbtclose
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27016, 00000, "skgfcls: sbtinfo returned error"
// *Cause:  additional information indicates error returned from sbtinfo
// *Action: verify that vendor's storage subsystem product is operating
//          correctly
27017, 00000, "skgfcls: media handle returned by sbtinfo exceeds max length(SSTMXQMH)"
// *Cause:  media handle string length exceeds SSTMXQMH
// *Action: verify that vendor's storage subsystem product is operating
//          correctly, and that the platform limit (SSTMXQMH) is atleast
//          64 (the limit specified for sbtinfo). additional information
//          indicates the media handle string length returned by sbtinfo, and
//          the limit (SSTMXQMH)
27018, 00000, "BLKSIZE is not a multiple of the minimum physical block size"
// *Cause:  User-specified BLKSIZE (blocking factor) is not a multiple of
//          the minimum block size that is permitted on this platform.
// *Action: Two ADDITIONAL INFORMATION messages are displayed which show the
//          blocking factor provided by the user and the minimum physical
//          block size.  Specify a BLKSIZE that is an integral multiple
//          of the minimum block size.
27019, 00000, "tape filename length exceeds limit (SBTOPMXF)"
// *Cause:  length of tape filename provided to sequential I/O OSD functions is
//          too long
// *Action: additional information indicates in which function this error is
//          encountered, the length of filename provided, and the limit on
//          filename
27020, 00000, "named devices not supported"
// *Cause:  the platform or the specified device type does not support
//          named devices
// *Action: do not specify device name or use a device type that supports
//          named devices. Use V$BACKUP_DEVICE view to see what device
//          types and names (if any) are available.
27021, 00000, "sequential file handle must be specified"
// *Cause:  The filename which will be passed to sbtopen was not specified.
// *Action: Specify a filename and continue.  If this is a backup set
//          being created via Recovery Manager, use the 'format' option to
//          specify the backup piece handle name.
27022, 00000, "skgfqsbi: could not allocate memory for media manager"
// *Cause:  Oracle could not allocate memory required by the media management
//          software which is linked with Oracle to provide backup/restore
//          services.
// *Action: Increase the amount of memory available to the Oracle process and
//          retry the backup/restore.
27023, 00000, "skgfqsbi: media manager protocol error"
// *Cause:  The media management software which is linked with Oracle to
//          provide backup/restore services did not provide its function
//          pointer structure to Oracle.
// *Action: This is an internal error in the media management
//          product.  Contact the media management vendor.
27024, 00000, "skgfqsbi: sbtinit2 returned error"
// *Cause:  sbtinit2 returned an error.  This happens during a backup or
//          restore operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27025, 00000, "skgfqsbi: invalid media manager context area size"
// *Cause:  The media management software requested a context area size
//          which is greater than the maximum allowable size.
// *Action: This is an internal error in the media management
//          product.  Contact the media management vendor.
27026, 00000, "skgfrls: sbtend returned error"
// *Cause:  sbtend returned an error.  This happens during a backup or
//          restore operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27027, 00000, "sbtremove2 returned error"
// *Cause:  sbtremove2 returned an error.  This happens when deleting a backup
//          file.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27028, 00000, "skgfqcre: sbtbackup returned error"
// *Cause:  sbtbackup returned an error.  This happens when creating a backup
//          file during a backup operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27029, 00000, "skgfrtrv: sbtrestore returned error"
// *Cause:  sbtrestore returned an error.  This happens when retrieving a
//          backup file during a restore operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27030, 00000, "skgfwrt: sbtwrite2 returned error"
// *Cause:  sbtwrite2 returned an error.  This happens while writing a backup
//          file during a backup operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
/
/
/ 27031 - 27099 keep for SKGFR (if more needed, allocate another range later)
/
27031, 00000, "mirror resilvering functions not supported"
// *Cause:  internal error
// *Action: check for trace file and contact Oracle Support
27032, 00000, "failed to obtain file size limit"
// *Cause:  getrlimit system call returned an error
// *Action: check errno
27033, 00000, "failed to obtain file size limit"
// *Cause:  ulimit system call returned an error
// *Action: check errno
27034, 00000, "maximum length of ORACLE_SID exceeded"
// *Cause:   too many characters in the ORACLE_SID string
// *Action:  rename the ORACLE_SID to a string of up to the maximum number of
//           characters specified for your system
27035, 00000, "logical block size is invalid"
// *Cause:  logical block size for oracle files must be a multiple of the
//          physical block size, and less than the maximum
// *Action: block size specified is returned as additional information,
//          check init.ora parameters, additional information also indicates
//          which function encountered the error
27036, 00000, "translation error, unable to expand file name"
// *Cause:  additional information indicates sltln/slnrm error, and also
//          indicates which function encountered the error
// *Action: check additional information
27037, 00000, "unable to obtain file status"
// *Cause:  stat system call returned an error, additional information
//          indicates which function encountered the error
// *Action: check errno
27038, 00000, "created file already exists"
// *Cause:  trying to create a database file, but file by that name already
//          exists
// *Action: verify that name is correct, specify reuse if necessary
27039, 00000, "create file failed, file size limit reached"
// *Cause:  an attempt was made to create a file that exceeds the process's
//          file size limit, additional information indicates which function
//          encountered the error
// *Action: raise the file size limit
27040, 00000, "file create error, unable to create file"
// *Cause:  create system call returned an error, unable to create file
// *Action: verify filename, and permissions
27041, 00000, "unable to open file"
// *Cause:  open system call returned an error, additional information
//          indicates which function encountered the error
// *Action: check errno
27042, 00000, "not enough space on raw partition to fullfill request"
// *Cause:  internal error, file too large for raw partition, additional
//          information indicates which function encountered the error
// *Action: check for trace file and contact Oracle Support
27043, 00000, "unable to seek to beginning of file"
// *Cause:  seek system call failed, additional information indicates which
//          function encountered the error
// *Action: check errno
27044, 00000, "unable to write the header block of file"
// *Cause:  write system call failed, additional information indicates which
//          function encountered the error
// *Action: check errno
27045, 00000, "unable to close the file"
// *Cause:  close system call failed, additional information indicates which
//          function encountered the error
// *Action: check errno
27046, 00000, "file size is not a multiple of logical block size"
// *Cause:  file size as indicated by stat is not correct, additional
//          information indicates which function encountered the error
// *Action: verify that the file has not been overwritten or truncated
27047, 00000, "unable to read the header block of file"
// *Cause:  read system call failed, additional information indicates which
//          function encountered the error
// *Action: check errno
27048, 00000, "skgfifi: file header information is invalid"
// *Cause:  possibly trying to use a non-database file as a database file
// *Action: verify that file is a database file
27049, 00000, "unable to seek to and read the last block"
// *Cause:  an attempt was made to seek to and read the last block in file,
//          additional information indicates which function encountered error
// *Action: check errno
27050, 00000, "function called with invalid FIB/IOV structure"
// *Cause:  internal error, aditional information indicates which
//          function encountered error
// *Action: check for trace file and contact Oracle Support
27051, 00000, "I/O error (simulated, not real)"
// *Document: NO
// *Cause:  this is just a simulated error (not a real one), additional
//          information indicates which function encountered the error
// *Action: none
27052, 00000, "unable to flush file data"
// *Cause:  fsync system call returned error, additional information
//          indicates which function encountered the error
// *Action: check errno
27053, 00000, "blocksize in file header not a multiple of logical block size"
// *Cause:  the logical block size is invalid, additional information indicates
//          the logical block size and the blocksize in the file header
// *Action: use a different logical block size, or do not reuse file
27054, 00000, "NFS file system where the file is created or resides is not mounted with correct options"
// *Cause:  The file was on an NFS partition and either reading the mount tab 
//          file failed or the partition wass not mounted with the correct 
//          mount option.
// *Action: Make sure mount tab file has read access for Oracle user and
//          the NFS partition where the file resides is mounted correctly. 
//          For the list of mount options to use refer to your platform 
//          specific documentation.
/27055
27056, 00000, "could not delete file"
// *Cause:  unlink system call returned error
// *Action: check errno
27057, 00000, "cannot perform async I/O to file"
// *Cause:  internal error, query is being asked about async vector I/O
//          when the file does not support async I/O
// *Action: check for trace file and contact Oracle Support
27058, 00000, "file I/O question parameter is invalid"
// *Cause:  internal error, invalid query is being asked
// *Action: check for trace file and contact Oracle Support
27059, 00000, "could not reduce file size"
// *Cause:  ftruncate system call returned error
// *Action: check errno
27060, 00000, "could not set close-on-exec bit on file"
// *Cause:  fcntl system call returned error
// *Action: check errno
27061, 00000, "waiting for async I/Os failed"
// *Cause:  aiowait function returned error
// *Action: check errno
27062, 00000, "could not find pending async I/Os"
// *Cause:  There should have been some async I/Os in the system
//          but a blocking aiowait indicates that there are
//          no more I/Os. It could be either because of an Oracle
//          bug or the vendor OS bug or due to a NFS server not
//          responding
// *Action: check Oracle trace file, OS message files and
//          contact Oracle Support
27063, 00000, "number of bytes read/written is incorrect"
// *Cause:  the number of bytes read/written as returned by aiowait
//          does not match the original number, additional information
//          indicates both these numbers
// *Action: check errno
27064, 00000, "cannot perform async I/O to file"
// *Cause:  internal error, asked to perform async I/O when IOV
//          indicates that it cannot be performed on the file
// *Action: check for trace file and contact Oracle Support
27065, 00000, "cannot perform async vector I/O to file"
// *Cause:  internal error, asked to perform async vector I/O when
//          it cannot be performed on the file
// *Action: check for trace file and contact Oracle Support
27066, 00000, "number of buffers in vector I/O exceeds maximum"
// *Cause:  internal error, number of buffers in vector I/O exceeds
//          maximum allowed by the OSD, additional information indicates
//          both these numbers
// *Action: check for trace file and contact Oracle Support
27067, 00000, "size of I/O buffer is invalid"
// *Cause:  internal error, buffer size is either 0, or greater than
//          SSTIOMAX or not a multiple of logical block size, additional
//          information indicates where in function the error was
//          encountered and the buffer size
// *Action: check for trace file and contact Oracle Support
27068, 00000, "I/O buffer is not aligned properly"
// *Cause:  internal error, buffer is not aligned to SSIOALIGN boundary,
//          additional information indicates where in function the error
//          was encountered and the buffer pointer
// *Action: check for trace file and contact Oracle Support
27069, 00000, "attempt to do I/O beyond the range of the file"
// *Cause:  internal error, the range of blocks being read or written is
//          outside the range of the file, additional information indicates
//          the starting block number, number of blocks in I/O, and the
//          last valid block in the file
// *Action: check for trace file and contact Oracle Support
27070, 00000, "async read/write failed"
// *Cause:  aioread/aiowrite system call returned error, additional
//          information indicates starting block number of I/O
// *Action: check errno
27071, 00000, "unable to seek to desired position in file"
// *Cause:  lseek system call returned error, additional information
//          indicates block number in file to which seek was attempted
// *Action: check errno
27072, 00000, "File I/O error"
// *Cause:  read/write/readv/writev system call returned error, additional
//          information indicates starting block number of I/O
// *Action: check errno
27073, 00000, "Trying to close a file which has async I/Os pending to be dequeued"
// *Cause:  internal error, the file is being closed but not all async I/Os
//          to the file have been dequeued, additional information indicates
//          number of I/Os pending on the file
// *Action: check for trace file and contact Oracle Support
27074, 00000, "unable to determine limit for open files"
// *Cause:  The getrlimit() system call returned an error.
// *Action: Check errno.
27075, 00000, "SSTMOFRC constant too large"
// *Cause:  internal error
// *Action: check for trace file and contact Oracle Support
27076, 00000, "unable to set limit for open files"
// *Cause:  The setrlimit() system call returned an error.
// *Action: Check errno.
27077, 00000, "too many files open"
// *Cause:  internal error, the number of files opened through skgfofi has
//          reached the limit
// *Action: Check for trace file and contact Oracle Support.
27078, 00000, "unable to determine limit for open files"
// *Cause:  The getrlimit() system call returned an error.
// *Action: Check errno.
27079, 00000, "unable to set async IO limit"
// *Cause:  The setting of the limit for async I/O has failed.
// *Action: Check errno.
27080, 00000, "too many files open"
// *Cause:  The number of files opened has reached the system limit.
// *Action: Check the error, and set system configuration values.
27081, 00000, "unable to close the file"
// *Cause:  The close() system call failed.
// *Action: Check errno.
27083, 00000, "waiting for async I/Os failed"
// *Cause:  The aio_waitn() library call returned an error.
// *Action: Check errno.
27084, 00000, "unable to get/set file status flags "
// *Cause:  The fcntl() system call with F_GETFL/F_SETFL flag returned an error.
// *Action: Check errno.
27086, 00000, "unable to lock file - already in use"
// *Cause:  the file is locked by another process, indicating that it is
//          currently in use by a database instance.
// *Action: determine which database instance legitimately owns this file.
27087, 00000, "unable to get share lock - file not readable"
// *Cause:  share lock request was made on a file not open for read access.
// *Action: file must be open read-only or read-write to get a share lock.
27088, 00000, "unable to get file status"
// *Cause: file not open or file descriptor is invalid.
27089, 00000, "unable to release advisory lock"
// *Cause:  release of file lock failed
// *Action: see errno
27090, 00000, "Unable to reserve kernel resources for asynchronous disk I/O"
// *Cause:  The system call to reserve kernel resources for asynchronous I/O
//          has failed.
// *Action: Check errno
27091, 00000, "unable to queue I/O"
// *Cause:  read/write/readv/writev system call returned error, additional
//          information indicates starting block number of I/O
// *Action: check errno
27092, 00000, "size of file exceeds file size limit of the process"
// *Cause:  an attempt was made to open a file that exceeds the process's
//          file size limit (ulimit), additional information shows the current
//          limit (logical blocks) and the size of the file (logical blocks)
// *Action: increase the processes file size limit (ulimit) and retry
27093, 00000, "could not delete directory"
// *Cause:  rmdir system call returned error
// *Action: check errno
27094, 00000, "raw volume used can damage partition table"
// *Cause: A raw device with VTOC information was provided as a database file.
// *Action: Make sure the disk partition that is provided to Oracle
//          does not start at sector 0
27095, 00000, "fail to get the disk sector size"
// *Cause: The system call to get the sector size failed. Additional information
//          indicates which function encountered the error.
// *Action: Check error number.
27096, 00000, "fail to get file size"
// *Cause: The system call to get file size failed. Additional information
//          indicates which function encountered the error.
// *Action: Check error number.
27097, 00000, "failed to set Access Control List ownership for ASM devices"
// *Cause: The system call to set ACL ownership for ASM devices failed.
//         Additional information indicates which function encountered the error.
// *Action: Refer to Microsoft documentation for an explanation
//          of the accompanying error code and text.
/
27098, 00000, "failed to rename file"
// *Cause: The system call to change the file name failed.
//         Additional information indicates which function encountered the 
//         error.
// *Action: Check the Oracle trace file for additional information on file name
//          and reason for failure.
/
27099, 00000, "failed to create file"
// *Cause: The system call to create this file type in this file system failed.
//         Check if the creation of this file type is supported in this file
//         system. Additional information indicates which function encountered
//         the error.
//
// *Action: Refer to Oracle documentation for additional details.
//
/
/ 27100 - 27139 keep for SKGM
/
27100, 00000, "shared memory realm already exists"
// *Cause: Tried to start duplicate instances, or tried to restart an
//         instance that had not been properly shutdown
// *Action: Use a different instance name, or cleanup the failed instance's
//          SGA
27101, 00000, "shared memory realm does not exist"
// *Cause: Unable to locate shared memory realm
// *Action: Verify that the realm is accessible
27102, 00000, "out of memory"
// *Cause: Out of memory
// *Action: Consult the trace file for details
27103, 00000, "internal error"
// *Cause: internal error
// *Action: contact Oracle support
27104, 00000, "system-defined limits for shared memory was misconfigured"
// *Cause: System-defined shared memory limits were inadequate for Oracle.
// *Action: Consult the alert file for details.
27105, 00000, "unable to support any system page size for shared memory allocation"
// *Cause: Current configuration was not supported by any system page size.
// *Action: Consult the alert file for details.
27106, 00000, "system pages not available to allocate memory"
// *Cause: System page count for supported page sizes was misconfigured.
// *Action: Configure system page count as recommended in the alert file.
27107, 0000, "AUTO value for USE_LARGE_PAGES parameter is no longer supported"
// *Cause: The USE_LARGE_PAGES configuration parameter was set to AUTO.
// *Action: Consult the alert file for details.
27120, 00000, "unable to remove shared memory segment"
// *Cause: shmctl() call failed
// *Action: check permissions on segment, contact Oracle support
27121, 00000, "unable to determine size of shared memory segment"
// *Cause: shmctl() call failed
// *Action: check permissions on segment, contact Oracle support
27122, 00000, "unable to protect memory"
// *Cause: mprotect() call failed
// *Action: contact Oracle support
27123, 00000, "unable to attach to shared memory segment"
// *Cause: shmat() call failed
// *Action: check permissions on segment, contact Oracle support
27124, 00000, "unable to detach from shared memory segment"
// *Cause: shmdt() call failed
// *Action: contact Oracle support
27125, 00000, "unable to create shared memory segment"
// *Cause: shmget() call failed
// *Action: contact Oracle support
27126, 00000, "unable to lock shared memory segment in core"
// *Cause: insufficient privileges to lock shared memory segment in core
// *Action: make sure process is running with necessary privileges.
27127, 00000, "unable to unlock shared memory segment"
// *Cause: insufficient privileges to unlock shared memory segment
// *Action: make sure process is running with necessary privileges.
27128, 00000, "unable to determine pagesize"
// *Cause: sysconf() call failed
// *Action: contact Oracle support
27129, 00000, "VLM Map operation failed"
// *Document: NO
// *Cause: Internal error 
// *Action: Contact Oracle Support Services.
27130, 00000, "VLM Unmap operation failed"
// *Document: NO
// *Cause: Internal error 
// *Action: Contact Oracle Support Services.
27131, 00000, "VLM Add operation failed"
// *Document: NO
// *Cause: Internal error 
// *Action: Contact Oracle Support Services.
27132, 0000, "VLM Remove operation failed"
// *Document: NO
// *Cause: Internal error 
// *Action: Contact Oracle Support Services.
27133, 00000, "unable to determine stacksize"
// *Cause: getrlimit() call failed
// *Action: Contact Oracle Support Services.
27134, 00000, "unable to set stacksize"
// *Cause: setrlimit() call failed
// *Action: Contact Oracle Support Services.
27135, 00000, "Operating System hard stack limit is set too low"
// *Cause: Operating System hard stack limit was set too low.
// *Action: Check additional information for current and minimum limit.
//          Increase the Operating System hard stack limit and retry.
27136, 00000, "MPMT and VLM are both enabled"
// *Cause: When the _mpmt_enabled parameter is set to TRUE, none of the 
//         following parameters should be set to TRUE:
//         * use_indirect_buffers
//         * _db_block_cache_protect
//         * _db_block_cache_clone
//
// *Action: Either turn off Multi Process Multi Threads (MPMT) or 
//          turn off all the other parameters.
27137, 00000, "unable to allocate large pages to create a shared memory segment"
// *Cause: Parameter USE_LARGE_PAGES set to only, but large pages were not 
//         configured properly
// *Action: Check alert file for more information
27138, 00000, "unable to allocate large pages with current parameter setting"
// *Cause: With parameter USE_LARGE_PAGES set to only, none of the 
//         following parameters can be set:
//         * memory_target/memory_max_target
//         * _db_block_cache_protect
//         * use_indirect_data_buffers
// *Action: Either turn off the USE_LARGE_PAGES parameter setting, or turn off
//          all the other parameters. Large pages are compatible with
//          sga_target, sga_max_size and shared_pool_size.
27139, 00000, "unable to reserve Oracle VM mapping in  process address space" 
// *Cause: The address space region was already mapped.
// *Action: Contact Oracle Support Services. 
/
/ 27140-27189 RESERVED FOR SKGP
/
27140, 0000, "attach to post/wait facility failed"
// *Cause:  The program attempted to initialize the post/wait facility,
//          but the facility could not be attached.
// *Action: Check for additional errors and contact Oracle Support.
27141, 0000, "invalid process ID"
// *Cause:  process operation attempted using invalid process ID
// *Action: contact Oracle Support
27142, 0000, "could not create new process"
// *Cause:  OS system call
// *Action: check errno and if possible increase the number of processes
27143, 0000, "OS system call failure"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle support
27144, 0000, "attempt to kill process failed"
// *Cause:  OS system call error
// *Action: check errno and contact Oracle Support
27145, 0000, "insufficient resources for requested number of processes"
// *Cause:  OS system call error
// *Action: check errno and contact Oracle Support
27146, 0000, "post/wait initialization failed"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle Support
27147, 0000, "post/wait reset failed"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle Support
27148, 0000, "spawn wait error"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle Support
27149, 0000, "assignment out of range"
// *Cause:  internal error, requested conversion too large for type
// *Action: contact Oracle Support
27150, 0000, "attempt to notify process of pending oradebug call failed"
// *Cause:  OS system call
// *Action: check errno contact Oracle Support
27151, 0000, "buffer not large enough to hold process ID string"
// *Cause:  internal error
// *Action: contact Oracle Support
27152, 0000, "attempt to post process failed"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle Support
27153, 0000, "wait operation failed"
// *Cause:  OS system called failed
// *Action: check errno contact Oracle Support
27154, 0000, "post/wait create failed"
// *Cause:  internal error, multiple post/wait creates attempted simultaneously
// *Action: check errno and contact Oracle Support
27155, 0000, "could not execute file"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle Support
27156, 0000, "request for process information failed"
// *Cause:  internal error
// *Action: contact Oracle Support
27157, 0000, "OS post/wait facility removed"
// *Cause:  the post/wait facility for which the calling process is awaiting
//          action is removed from the system
// *Action: check errno and contact Oracle Support
27158, 0000, "process control failure"
// *Cause:  Oracle was unable to set the specified process control.
// *Action: Consult the Oracle Administrator's Guide.
27159, 0000, "failure setting process scheduling priority"
// *Cause:  Oracle was unable to set the scheduling priority desired.
// *Action: Consult the Oracle Administrator's Guide.
27160, 0000, "process requested to perform operation"
// *Cause:  The current process was requested to perform an operation by
//          another process.
// *Action: This is used internally; no action is required.
27161, 0000, "request for Oracle binary information failed"
// *Cause:  The program was unable to get information about the Oracle binary.
// *Action: Check for additional errors and contact Oracle support.
27162, 0000, "thread creation failed"
// *Cause:  The program was unable to create a thread.
// *Action: Check errno and contact Oracle support.
27163, 0000, "out of memory"
// *Cause:  The program ran out of memory when allocating a temporary
//          data structure.
// *Action: Increase the amount of memory on the system.
27164, 0000, "tried to join detached thread"
// *Cause:  The program tried to join a detached thread.
// *Action: This is an internal error; contact Oracle support.
27165, 0000, "tried to join thread that does not exist"
// *Cause:  The program tried to join a thread that does not exist.
// *Action: This is an internal error; contact Oracle support.
27166, 0000, "tried to join current thread"
// *Cause:  A thread in the program tried to join itself.
// *Action: This is an internal error; contact Oracle support.
27167, 0000, "Attempt to determine if Oracle binary image is stored on remote server failed"
// *Cause: OS dependent operation failed 
// *Document: NO
// *Action: This is an internal error; contact Oracle support.
27168, 0000, "Translation from hostname to network address failed"
// *Cause:  Internal error
// *Action: Contact Oracle Support Services.
27169, 0000, "OS signal mask operation failed"
// *Cause: OS dependent operation failed
// *Document: NO
// *Action: Check errno and contact Oracle support.
27170, 0000, "Oracle RAC option of current Oracle binary differs from running instance"
// *Cause:  The Oracle installation environment may have been modified while the
//          instance was running.
// *Action: Restore the environment to its original state when the instance was
//          started or shutdown (abort) and restart the instance.
/
/ 27190 - 27229 reserved skgfq
/
27190, 00000, "skgfrd: sbtread2 returned error"
// *Cause:  sbtread returned an error.  This happens while reading a backup
//          file during a restore operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27191, 00000, "sbtinfo2 returned error"
// *Cause:  sbtinfo2 returned an error.  This happens while retrieving
//          backup file information from the media manager's catalog.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27192, 00000, "skgfcls: sbtclose2 returned error - failed to close file"
// *Cause:  sbtclose2 returned an error.  This happens while closing a backup
//          file during a backup or restore operation.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27193, 00000, "sbtinfo2 did not return volume label"
// *Cause:  sbtinfo2 did not return the volume label information for the
//          backup file that was just created.
// *Action: This is an internal error in the media management
//          product.  Contact the media management vendor.
27194, 00000, "skgfdvcmd: sbtcommand returned error"
// *Cause:  sbtcommand returned an error.  This happens when an rman SEND
//          command is issued.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27195, 00000, "proxy copy not supported"
// *Cause:  An attempt was made to do a proxy backup or restore, but the
//          media management software installed with Oracle does not support
//          proxy copy.
// *Action: Re-run the backup in non-proxy mode, or contact the
//          media management vendor if the software is supposed to support
//          proxy copy.
27196, 00000, "skgfpbk: sbtpcbackup returned error"
// *Cause:  sbtpcbackup returned an error.  This happens when a proxy backup
//          is begun.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27197, 00000, "skgfprs: sbtpcrestore returned error"
// *Cause:  sbtpcrestore returned an error.  This happens when a proxy restore
//          is begun.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27198, 00000, "skgfpvl: sbtpcvalidate returned error"
// *Cause:  sbtpcvalidate returned an error.  This happens during a proxy
//          backup or restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27199, 00000, "skgfpst: sbtpcstatus returned error"
// *Cause:  sbtpcstatus returned an error.  This happens during a proxy
//          backup or restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27200, 00000, "skgfpgo: sbtpcstart returned error"
// *Cause:  sbtpcstart returned an error.  This happens during a proxy
//          backup or restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27201, 00000, "skgfpcm: sbtpccommit returned error"
// *Cause:  sbtpccommit returned an error.  This happens during a proxy
//          backup or restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27202, 00000, "skgfpen: sbtpcend returned error"
// *Cause:  sbtpcend returned an error.  This happens during a proxy
//          backup or restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27203, 00000, "skgfpqb: sbtpcquerybackup returned error"
// *Cause:  sbtpcquerybackup returned an error.  This happens during a proxy
//          backup.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27204, 00000, "skgfpqr: sbtpcqueryrestore returned error"
// *Cause:  sbtpcqueryrestore returned an error.  This happens during a proxy
//          restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27205, 00000, "skgfpcn: sbtpccancel returned error"
// *Cause:  sbtpccancel returned an error.  This happens during a proxy
//          restore.
// *Action: This error is returned from the media management software which is
//          linked with Oracle.  There should be additional messages which
//          explain the cause of the error.  This error usually requires
//          contacting the media management vendor.
27206, 00000, "requested file not found in media management catalog"
// *Cause:  A backup file used in a recovery manager catalog maintenance
//          command was not found in the media management catalog.
// *Action: Retry the command with a different file.
27207, 00000, "syntax error in device PARMS - parentheses mismatch or missing"
// *Cause:  User-supplied PARMS value has incorrect syntax.
// *Action: Retry the command with correct syntax: ENV=(..) BLKSIZE=nnnn
27208, 00000, "syntax error in device PARMS - environment variable value missing"
// *Cause:  User-supplied PARMS value has incorrect syntax.
// *Action: Retry the command with correct syntax: ENV=(var1=val1,var2=val2,..)
27209, 00000, "syntax error in device PARMS - unknown keyword or missing ="
// *Cause:  User-supplied PARMS value has incorrect syntax.  The server
//          expected to find ENV or BLKSIZE, but found an unknown keyword.
// *Action: Retry the command with correct syntax: ENV=(..) BLKSIZE=nnnn
27210, 00000, "syntax error in device PARMS"
// *Cause:  User-supplied PARMS value has incorrect syntax.
// *Action: Retry the command with correct syntax: ENV=(..) BLKSIZE=nnnn
/
27211, 00000, "Failed to load Media Management Library"
// *Cause:  User-supplied SBT_LIBRARY or libobk.so could not be loaded. Call
//          to dlopen for media library returned error. See Additional
//          information for error code.
// *Action: Retry the command with proper media library. Or re-install
//          Media management module for Oracle.
27212, 00000, "some entrypoints in Media Management Library are missing"
// *Cause:  media library does not have one of the following entrypoints :
//          sbtinfo, sbtread, sbtwrite, sbtremove, sbtopen, sbtclose, sbtinit
// *Action: Retry the command with proper media library.
27213, 00000, "failed to unload Media Management Library"
// *Cause:  dlclose for media library returned error. See Additional
//          Additional information for error code.
// *Action: contact Oracle Support.
27214, 00000, "skgfrsfe: file search failed"
// *Cause:  The FindNextFile function returned unxpected error.
// *Action: Check errors on the error stack for an explanation
//          why the search for files could not be successfully executed.
27215, 00000, "skgfgsmcs: sbtinfo2 returned unknown file"
// *Cause:  During an sbtinfo2() call, the media management software
//    returned information about an unknown backup file.
// *Action: Contact the media management vendor.
27216, 00000, "skgfgsmcs: sbtinfo2 returned a malformed response"
// *Cause:  The media management software returned a malformed
//    response during an sbtinfo2() call.
// *Action: Contact the media management vendor.
27217, 00000, "failed to load Media Management Library from secure location"
// *Cause:  SBT libraries were not installed in a secure location.
// *Action: Remove SBT_SECURE parameter or Request third party vendors
//          to provide patch that installs SBT libraries in secured
//          locations as mandated by Oracle.
27218, 00000, "failed to read ACFS mirror"
// *Cause: An attempt to communicate with the Oracle Automatic Storage 
//         Management Cluster File System (Oracle ACFS) kernel driver failed. 
// *Action: Check errors on the error stack for an explanation of
//          why communication with ACFS was not successful.
27219, 00000, "syntax error in device PARMS - quotes missing or mismatch"
// *Cause:  The user-supplied PARMS value had incorrect syntax. Either quotes
//          were missing or there was a mismatch in the ENV parameter.
// *Action: Retry the command with matching quotes inside ENV parameter.


27230, 00000, "OS system call failure"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle support
/
/ 27231 - 27249 reserved for sskgof
/
27231, 00000, "unable to close file"
// *Cause:  A file could not be closed.
// *Action: See accompanying errors.
27232, 00000, "unable to get file information"
// *Cause:  Information about the file could not be obtained.
// *Action: See accompanying errors.
27233, 00000, "file is not an ELF file"
// *Cause:  A file was not an ELF file.
// *Action: Check for file corruption and contact Oracle Support Services.
27234, 00000, "unable to read file"
// *Cause:  A file could not be read.
// *Action: See accompanying errors.
27235, 00000, "unable to map file region into memory"
// *Cause:  A file region could not be mapped into memory.
// *Action: See accompanying errors.
27236, 00000, "unable to unmap file from memory"
// *Cause:  A file region could not be unmapped from memory.
// *Action: See accompanying errors.
27237, 00000, "ELF file is not a relocatable object file"
// *Cause:  An ELF file was not the expected type.
// *Action: Supply the expected type of file.
27238, 00000, "ELF file is not an executable"
// *Cause:  An ELF file was not the expected type.
// *Action: Supply the expected type of file.
27239, 00000, "ELF file is not a shared object file"
// *Cause:  An ELF file was not the expected type.
// *Action: Supply the expected type of file.
27240, 00000, "ELF file does not have a required section"
// *Cause:  An ELF file did not have a required section.
// *Action: Contact Oracle Support Services.
27241, 00000, "ELF-shared library has multiple sections of the same type"
// *Cause:  An ELF-shared library had multiple sections of the same type.
// *Action: Contact Oracle Support Services.
27242, 00000, "ELF file has invalid hash table entry size"
// *Cause:  An ELF file had an invalid hash table entry size.
// *Action: Contact Oracle Support Services.
27243, 00000, "ELF file has too many relocation sections"
// *Cause:  An ELF file had too many relocation sections.
// *Action: Contact Oracle Support Services.
27244, 00000, "unable to determine base value for data relocation from ELF file"
// *Cause:  An ELF file was missing important information.
// *Action: Contact Oracle Support Services.
27245, 00000, "unable to dlopen() binary image"
// *Cause:  A file could not be accessed via dlopen().
// *Action: See accompanying errors and make file available.
27246, 00000, "unable to open file"
// *Cause:  A file could not be opened.
// *Action: See accompanying errors and make file available.
/
/ 27250 - 27269 reserved for sm
/
27250, 00000, "OS system call failure"
// *Cause:  OS system call failed
// *Action: check errno and contact Oracle support
/
/ 27270 - 27274 reserved for sz
/
27270, 00000, "szingroup: malloc failed"
// *Cause:  The malloc library call failed to allocate space for a group list.
// *Action: This is possibly an operating system error.
//          Contact Oracle Support Services.
/
27271, 00000, "szingroup: group lookup failure"
// *Cause:  The 'getgrnam_r' library call failed to determine the members of a
//          UNIX group.
// *Action: This is an internal error. Contact Oracle Support Services.
/
/ 27300 - 27350 reserved for slos Error Reporting
/
27300, 00000, "OS system dependent operation:%s failed with status: %s"
// *Cause:  OS system call error
// *Action: contact Oracle Support
/
27301, 00000, "OS failure message: %s"
// *Cause:  OS system call error
// *Action: contact Oracle Support
//
27302, 00000, "failure occurred at: %s"
// *Cause:  OS system call error
// *Action: contact Oracle Support
//
27303, 00000, "additional information: %s"
// *Cause:  OS system call error
// *Action: contact Oracle Support
/
/ 27351 - 27499 RESERVED FOR NEW DATABASE SCHEDULER
/
27351, 00000, "conflicting values of job attributes %s and %s"
// *Cause: The values of two attributes passed in to the CREATE_JOBS call
//         or the JOB object constructor conflicted with each other. This is
//         usually because both attributes cannot be non-NULL at the same
//         time.
// *Action: Resolve the conflict by changing the value of one of the 
//          attributes and issue the call again.
27352, 00000, "unable to get lock on queue"
// *Document: NO
// *Cause: An internal scheduler synchronization error
// *Action: Contact Oracle Customer Support.
27353, 00000, "job attribute %s is missing"
// *Cause: An attribute needed to fully specify a job was not passed in
//         to a call to CREATE_JOBS or the JOB object constructor.
// *Action: Issue the call again with the required attribute set.
27354, 00000, "attribute %s cannot be set for %s jobs"
// *Cause: The CREATE_JOBS call or the JOB object constructor was called 
//         with an argument that is illegal in the case of lightweight
//         or in-memory jobs.
// *Action: Set the argument to the default value and issue the call again. 
27355, 00000, "unable to lock row cache entry"
// *Document: NO
// *Cause: Failure in scheduler concurrency control
// *Action: Contact Oracle Customer Support.
27356, 00000, "invalid job argument"
// *Cause: An invalid job argument was passed into either the CREATE_JOBS
//         call or the JOB object constructor.
// *Action: Correct the argument value and issue the call again.
27357, 00000, "duplicate reference to job object %s"
// *Cause: The scheduler CREATE_JOBS call had two or more references
//         to the same job. 
// *Action: Eliminate the duplicate references and issue the call again.
27358, 00000, "unknown allocation type"
// *Document: NO
// *Cause: Failure in scheduler memory allocation routines
// *Action: Contact Oracle Customer Support.
27359, 00000, "duplicate reference to attribute %s of job %s"
// *Cause: The scheduler SET_JOB_ATTRIBUTES call had two or more 
//         references to a specific atrribute of a job. 
// *Action: Eliminate the duplicate references and issue the call again.
27360, 00000, "unknown operation type"
// *Document: NO
// *Cause: Failure in scheduler linked list routines
// *Action: Contact Oracle Customer Support.
27361, 00000, "scheduler API invoked with illegal or inconsistent arguments"
// *Cause: A DBMS_SCHEDULER API call was invoked with either illegal or 
//         inconsistent arguments.
// *Action: Refer to scheduler documentation for the call, make the necessary
//          changes and issue the call again.
27362, 00000, "batch API call completed with errors"
// *Cause: Some of the commands submitted to a scheduler batch API call 
//         could not be successfully carried out because of errors. Other
//         commands in the batch may have completed successfully.
// *Action: Check the view SCHEDULER_JOB_ERRORS to see which commands failed
//          and why. Make the appropriate corrections and submit the failed
//          commands again.
27363, 00000, "invalid program for %s job"
// *Cause: An attempt was made to create a lightweight or in-memory job using
//         an invalid program. A program used in a lightweight or in-memory job
//         has to be enabled, has to be in the same schema as the job, and the
//         program action has to be either a PL/SQL block or a stored procedure.
// *Action: Use a valid program for the lightweight job.
27364, 00000, "remote database \"%s\" already registered as %s"
// *Cause: The user attempted to register a remote database that was 
//         already registered.
// *Action: To update the registration information, the REPLACE argument
//          of the REGISTER_REMOTE_DATABASE procedure should be set to 
//          TRUE. If the registration information is already current, no
//          further action is needed.
27365, 00000, "job has been notified to stop, but failed to do so immediately"
// *Cause:  The job specified in the stop_job command
//          cannot be stopped immediately(because it is rolling back or blocked
//          on a network operation), but it has been notified to stop.  This
//          means it will be stopped as soon as possible after its current
//          uninterruptable operation is done.
// *Action: No action is required for the job to be stopped, but calling
//          stop_job with force (if you have the privilege) 
//          may cause the job to be stopped sooner.
27366, 00000, "job \"%s\".\"%s\" is not running"
// *Cause: An attempt was made to stop a job that was not running.
// *Action: Verify the status of the job. If the job is running but this
//          message is still being returned, contact Oracle support.
27367, 00000, "program \"%s\".\"%s\" associated with this job is disabled"
// *Cause: An attempt was made to run a job whose program has been disabled.
// *Action: Reenable the program before running the job.
27368, 00000, "job execution abandoned"
// *Document: NO
// *Cause: A slave had picked up a job for execution that was either currently
//         being run or had just finished running on another RAC instance, so
//         the slave abandoned the job without executing it.
// *Action: This error is used as part of communication between various
//          scheduler modules. It should not be seen by an end-user. If
//          this message is seen, contact Oracle Customer Support.
27369, 00000, "job of type EXECUTABLE failed with exit code: %s"
// *Cause: A problem was encountered while running a job of type EXECUTABLE.
//         The cause of the actual problem is identified by the exit code.
// *Action: Correct the cause of the exit code and reschedule the job.
27370, 00000, "job slave failed to launch a job of type EXECUTABLE"
// *Cause: The scheduler ran into an error when the job slave tried to start
//         a job of type EXECUTABLE. The rest of the error stack will provide
//         more detailed information on what the exact problem was.
// *Action: Correct the problem specified in the error stack and reschedule
//          the job.
27371, 00000, "jobs of type EXECUTABLE are not supported on this platform"
// *Cause: The user tried to create a job or program of type EXECUTABLE on a
//         platform where such jobs are not supported.
// *Action: Switch to a different platform or create a different type of job
//          or program.
27372, 00000, "length of action and arguments exceeds platform limit %s"
// *Cause: The total length of the job or program action and the arguments
//         exceeds the platform limit specified.
// *Action: Reduce the total length by specifying fewer and/or shorter 
//          arguments
27373, 00000, "unknown or illegal event source queue"
// *Cause: The source queue specified for the event based job or event
//         based schedule was either not found or was of the wrong type.
// *Action: Check if the queue exists. If it does make sure it is a 
//          multiple consumer queue and it is a post 8.1 compatible queue.
//          Single consumer queues and old-style queues cannot be used
//          as event source queues.
27374, 00000, "insufficient privileges on event source queue"
// *Cause: The job owner had insufficient privileges on the event source
//         queue that was specified for the job.
// *Action: The job owner has to have dequeue privileges on event source 
//          queue or he has to have manage queue or dequeue any queue
//          system privileges. Make sure one of these privileges is 
//          granted.
27375, 00000, "valid agent name must be specified for secure queues"
// *Cause: The queue specified for the event based job or schedule was
//         a secure queue and either no agent name was specified or 
//         an invalid agent name was specified.
// *Action: If no agent name was specified, retry the call with a valid
//          agent name. If the agent name was valid, check if the agent
//          is currently subscribed to the queue and, in the case of jobs,
//          check is the agent has been authorized to act as the job 
//          owner.
27376, 00000, "event condition cannot be NULL"
// *Cause: A null event condition was passed in for an event based job
//         or schedule. This is not allowed.
// *Action: Pass in a legal event condition.
27377, 00000, "windows cannot have event based schedules"
// *Cause: Event based schedules for windows are currently not supported.
// *Action: Use a time-based schedule instead.
27378, 00000, "cannot stop jobs of type EXECUTABLE on this platform"
// *Cause: An attempt was made to stop a job of type EXECUTABLE on a platform 
//         where the stop operation was not supported.
// *Action: If the attempt to stop the job was made with the FORCE option 
//          set to FALSE, try again but change the FORCE option to TRUE.
27379, 00000, "INSTANCE_ID attribute conflicts with job class settings"
// *Cause: The value of the INSTANCE_ID attribute of the job conflicted with the 
//         value of the SERVICE attribute of its job class.
// *Action: Change the value of the INSTANCE_ID attribute or place the job
//          in a job class whose settings do not conflict with the 
//          INSTANCE_ID attribute. Then re-enable the job.
27380,0000, "not enough units to satisfy the constraint"
// *Cause:   There were not enough resources to satisfy the constraint.
// *Action:  Add more resource units.
27381,0000, "job cannot run, state is RESOURCE_UNAVAILABLE"
// *Cause:   The job could not run because one of the resources was in a BLOCKED_ALL_JOBS state.
// *Action:  Change the resource to either ENFORCE_CONSTRAINTS or IGNORE_CONSTRAINTS.
27382,0000, "job type %s has errors in the job action"
// *Cause: There were errors in the job action when the FAIL_ON_SCRIPT_ERROR job
//         attribute was set to TRUE.
// *Action: Ensure that the job action has no errors or set FAIL_ON_SCRIPT_ERROR job 
//          attribute to FALSE. FAIL_ON_SCRIPT_ERROR is only valid for
//          SQL_SCRIPT, BACKUP_SCRIPT, EXECUTABLE and EXTERNAL_SCRIPT job types.


27399, 00000, "job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege"
// *Cause: The owner of a job of type EXECUTABLE does not have the
//         CREATE EXTERNAL JOB system privilege.
// *Action: Grant the CREATE EXTERNAL JOB system privilege to the job owner or
//          create another job in a schema which does have the CREATE EXTERNAL
//          JOB system privilege.
/
27400, 00000, "In a PDB, the JOB_QUEUE_PROCESSES initialization parameter can only be set to 1000 or 0."
// *Cause: A value other than 1000 or 0 was specified for the JOB_QUEUE_PROCESSES initialization parameter.
//         Inside a pluggable database (PDB), the JOB_QUEUE_PROCESSES initialization parameter can only
//         accept the values of 1000 or 0 to indicate whether or not jobs should run in the PDB.
// *Action: Specify a proper value for this parameter.
/
/ 27401 - 27410 Reserved for scheduler events
/
27401, 00000, "Scheduler debug event"
// *Document: NO
// *Cause:
// *Action:
/
27402, 00000, "Scheduler tracing event"
// *Document: NO
// *Cause:
// *Action:
/
27403, 00000, "scheduler stop job event"
// *Document: NO
// *Cause:
// *Action:
/
27404, 00000, "Scheduler internal testing event"
// *Document: NO
// *Cause:
// *Action:
/
/ 27411 - 27420 Reserved for scheduler repeat interval errors 
/
27411, 0000, "empty string is not a valid repeat interval."
// *Cause: An empty string '' was provided as a repeat interval for a window
//         or a schedule.
// *Action: Specify a valid repeat interval, e.g.,
//          'FREQ=DAILY;BYHOUR=8;BYMINUTE=0;BYSECOND=0' for a job that executes 
//          daily at 8am.
/
27412, 00000, "repeat interval or calendar contains invalid identifier: %s"
// *Cause:  The calendar string or calendar definition for the repeat interval
//          of a job, schedule or window contained an unsupported keyword or 
//          reference to an undefined calendar.
// *Action: Correct the repeat interval such that it no longer contains the
//          invalid keyword.
/
27413, 00000, "repeat interval is too long"
// *Cause:  The repeat interval consisted of a calendar string larger than the
//          maximum size allowed.
// *Action: Use a shorter calendar string for the repeat interval.
/
27414, 00000, "Invalid %s clause value"
// *Cause:  The BY clause value was not recognized or was out-of-range for the 
//          frequency specified.
// *Action: Specify a valid BY clause value.
/
/
27415, 00000, "repeat interval or calendar must start with a frequency clause"
// *Cause:  The specified calendar string for the repeat interval did not start
//          with a frequency clause.
// *Action: Create a repeat interval that starts with a frequency clause,for example 
//          'FREQ=YEARLY;BYMONTH=FEB'
/
27416, 00000, "BYDAY clause in repeat interval or calendar contains an invalid weekday"
// *Cause:  The BYDAY clause of the repeat interval contained a value that
//          did not represent a weekday.
// *Action: Use the correct three letter abbreviations for weekdays, for example 
//          MON for Monday and FRI for Friday.
/
27417, 00000, "BYWEEKNO clause requires YEARLY clause"
// *Cause:  A repeat interval or calendar contained a BYWEEKNO clause
//          with a frequency other than yearly. 
// *Action: Remove the BYWEEKNO clause or change the frequency to YEARLY.
/
27418, 00000, "syntax error in repeat interval or calendar"
// *Cause:  The repeat interval or calendar definition was not 
//          recognized as valid syntax.
// *Action: Specify a valid repeat interval.
/
27419, 00000, "unable to determine valid execution date from repeat interval"
// *Cause:  The specified repeat interval contained conflicting clauses that
//          made it impossible to ever find a matching date, e.g.,
//          'FREQ=YEARLY;BYMONTH=FEB;BYMONTHDAY=31'. Alternatively,
//          the scheduler reached its maximum number of attempts to try to
//          find a valid execution date. This occurs when theoretically
//          there is a valid execution date far in the future, but the
//          scheduler took too many attempts to determine this date.
// *Action: Remove the conflicting clauses, or simplify the repeat interval
//          so that it is easier to determine the next execution date.
/
27420,00000, "Following  message from %s interval interpreter"
// *Cause:  The repeat interval or calendar definition was not 
//          recognized as valid syntax.
// *Action: Specify a valid repeat interval.
27421, 00000, "calendar expression restriction %s encountered"
// *Cause:  The calendar expression was not valid because a limit test failed.
//          For example, the maximum value of the interval that can be specified
//          in the INTERVAL clause is limited to a value derived from the frequency clause.
// *Action: Specify a valid calendar definition.
/
27422, 00000, "usage of %s not supported in embedded calendar application \"%s\".\"%s\""
// *Cause:  The main calendar definition used an embedded calendar in an INCLUDE,
//           EXCLUDE, INTERSECT, or FREQ clause for which extra limitations 
//            apply.
// *Action: Remove the specific clause from the calendar definition.
/
27423,00000, "calendar clause %s specified more than once"
// *Cause:  The calendar definition contained a clause that was specified 
//           twice or more times. 
// *Action: Append the values in the second clause to the first clause 
//          and remove the second clause.
27424,00000, "calendar clauses %s and %s are incompatible"
// *Cause:  The calendar definition contained clauses that were incompatible. 
// *Action: Change or remove either clause. 
/
27425,00000, "instance_id cannot be specified if database is not in Oracle RAC mode"
// *Cause: 'stop_job' was called with 'instance_id' outside Oracle RAC mode.
// *Action: Do not specify this parameter for 'stop_job' unless in Oracle RAC mode.
/
/
/ 27431 - 27500 Scheduler API errors continuation
/
27431, 00000, "chain \"%s\".\"%s\" has a user-managed rule set"
// *Cause: An attempt was made to modify a rule set that is not managed by the
//         Scheduler.
// *Action: Modify the rule set directly using the dbms_rule_adm package or
//          create another chain without specifying a rule set.
27432, 00000, "step \"%s\" does not exist for chain \"%s\".\"%s\""
// *Cause: The step specified does not exist for the given chain.
// *Action: Reissue the command using a step that exists for this chain.
27433, 00000, "cannot alter state of step \"%s\" for job \"%s\".\"%s\" to %s"
// *Cause: The step cannot be changed to the requested state. The state of a
//         running step cannot be changed. A step which is running or has
//         already run cannot be run again.
// *Action: Wait until the step has finished running.
27434, 00000, "cannot alter chain step job \"%s\".\"%s\".\"%s\""
// *Cause: A step job of a running chain cannot be altered, only stopped or
//         dropped.
// *Action: Stop or drop the chain step job or alter the running chain step
//          instead.
27435, 00000, "chain job terminated abnormally"
// *Cause: A chain job has ended abnormally. The error code for the running
//         chain could not be retrieved.
// *Action: No action necessary. The job will run again when it is scheduled
//         to.
27436, 00000, "Scheduler agent operation failed with message: %s"
// *Cause:  The Scheduler agent encountered an unexpected error when trying to 
//          perform the specified action. 
// *Action: Review the provided message and the Scheduler agent log for
//          information on how to fix the issue or contact Oracle Support
//          Services.
27451, 00000, "%s cannot be NULL"
// *Cause: An attempt was made to set a NOT NULL scheduler attribute to NULL.
// *Action: Reissue the command using a non-NULL value for the specified
//          attribute.
27452, 00000, "\"%s\" is an invalid name for a database object."
// *Cause: An invalid name was used to identify a database object.
// *Action: Reissue the command using a valid name.
27453, 00000, "\"%s\" is an invalid job or program argument name."
// *Cause: An invalid job or program argument name was specified.
// *Action: Reissue the command using a valid name for this argument.
27454, 00000, "argument name and position cannot be NULL"
// *Cause: The name or position of a program or job argument was defined as
//         NULL.
// *Action: Reissue the command providing either a valid argument name or
//          valid argument position.
27455, 00000, "Only \"SYS\" is a valid schema for a %s."
// *Cause: A non-SYS schema was specified for an object that must be in the
//         SYS schema.
// *Action: Reissue the command, leaving out the schema name or using the
//          schema name of SYS.
27456, 00000, "not all arguments of program \"%s\".\"%s\" have been defined" 
// *Cause: The number_of_arguments attribute of the named program did not
//         match the actual number of arguments that have been defined.
// *Action: Define as many arguments as the number of arguments, or change 
//          the number of arguments. 
27457, 00000, "argument %s of job \"%s\".\"%s\" has no value"
// *Cause: No value was provided for the job argument with the specified
//         position.
// *Action: Provide a value for the job argument using any of the
//          set_job_xxxx_value() routines. Or, when using a named program,
//          specify a default value for the corresponding argument of the
//          program.
27458, 00000, "A program of type PLSQL_BLOCK cannot have any arguments." 
// *Cause: An attempt was made to create or enable a program of type
//         PLSQL_BLOCK with arguments. This is not allowed. 
// *Action: Change the number of arguments to zero, or change the type 
//          of the program. 
27459, 00000, "A program of type EXECUTABLE must have character-only arguments."
// *Cause: A program of type EXECUTABLE was created or enabled with one or
//         more arguments of non-character datatypes.
// *Action: Change the arguments to be of character-only datatypes.
27460, 00000, "cannot execute disabled job \"%s\".\"%s\""
// *Cause: An attempt was made to run a job that is disabled.
// *Action: Enable the job and then reschedule the job.
27461, 00000, "The value for attribute %s is too large."
// *Cause: The value that was provided for the specified attribute was too
//         large.
// *Action: Reissue the command using a smaller or shorter value.
27463, 00000, "invalid program type %s"
// *Cause: An invalid program type was specified.
// *Action: Reissue the command using a valid program type.
27464, 00000, "invalid schedule type %s"
// *Cause: An invalid schedule type was specified.
// *Action: Reissue the command using a valid schedule type.
27465, 00000, "invalid value %s for attribute %s"
// *Cause: An invalid value was provided for the specified attribute.
// *Action: Reissue the command using a valid value for this attribute.
27466, 00000, "internal scheduler error: %s"
// *Document: NO
// *Cause: The scheduler ran into an internal error.
// *Action: Contact Oracle Customer Support.
27467, 00000, "invalid datatype for %s value"
// *Cause: The value provided for the named scheduler attribute was of an
//         invalid datatype.
// *Action: Reissue the command using a value of the correct datatype.
27468, 00000, "\"%s\".\"%s\" is locked by another process"
// *Cause: An attempt was made to read or modify the state of the named
//         scheduler object when another process was also updating the same
//         object and held the lock.
// *Action: Retry the operation. Scheduler locks are held for a very
//          short duration. If the error persists, contact Oracle Support.
27469, 00000, "%s is not a valid %s attribute"
// *Cause: A non-existant attribute was specified.
// *Action: Reissue the command using a valid attribute for that specific
//          scheduler object.
27470, 00000, "failed to re-enable \"%s\".\"%s\" after making requested change"
// *Cause: A change was made to an enabled scheduler object that caused it
//         to become disabled.
// *Action: Alter the object so that it becomes valid and then enable it.
27471, 00000, "window \"%s\".\"%s\" is already closed"
// *Cause: An attempt was made to close a window that was not open.
// *Action: No action required.
27472, 00000, "invalid metadata attribute %s"
// *Cause: An invalid metadata attribute was specified.
// *Action: Reissue the command using a valid metadata attribute.
27473, 00000, "argument %s does not exist"
// *Cause: An argument which was specified does not exist.
// *Action: Reissue the command using an argument name defined by the program
//          or using a valid argument position.
27474, 00000, "cannot give both an argument name and an argument position"
// *Cause: An argument was specified using both a name and a position.
// *Action: Reissue the command using either the argument name or the argument
//          position but not both.
27475, 00000, "unknown %s \"%s\".\"%s\""
// *Cause: The specified object did not exist, privileges were not granted,
//         or the object was of the wrong type.
// *Action: Specify an object of the correct type on which you have privileges.
27476, 00000, "\"%s\".\"%s\" does not exist"
// *Cause: A database object was specified that does not exist.
// *Action: Reissue the command using an object that exists or create a new
//          object and then reissue this command.
27477, 00000, "\"%s\".\"%s\" already exists"
// *Cause: An attempt was made to create an object with a name that has
//         already been used by another object in the same schema.
// *Action: Reissue the command using a different name or schema.
27478, 00000, "job \"%s\".\"%s\" is running"
// *Cause: An attempt was made to drop a job that is currently running.
// *Action: Stop the job and then reissue the command, or reissue the command
//          specifying the force option to stop the job first.
27479, 00000, "Cannot %s \"%s\".\"%s\" because other objects depend on it"
// *Cause: An attempt was made to drop or disable a scheduler object that has
//         jobs associated with it without specifying the force option.
// *Action: Alter the associated jobs so they do not point to the scheduler
//          object being dropped or disabled and then reissue the
//          command. Alternatively reissue the command specifying the force
//          option. If
//          the force option is specified and a scheduler object is being
//          dropped, all associated jobs will be disabled.
27480, 00000, "window \"%s\" is currently open"
// *Cause: An attempt was made to drop a window that is currently open, or
//         to manually open a window while another window is already open.
// *Action: Close the window that is open and then reissue the command, or
//          reissue the command while setting the force option to TRUE.
27481, 00000, "\"%s\".\"%s\" has an invalid schedule"
// *Cause: An attempt was made to enable a job or window that has an invalid
//         schedule.
// *Action: Alter the schedule of the job or window so that it is valid and
//          then reissue the enable command.
27483, 00000, "\"%s\".\"%s\" has an invalid END_DATE" 
// *Cause: An attempt was made to enable a job or window that has an invalid
//         end_date. Either the end_date is before the start_date or the
//         end_date is in the past. 
// *Action: Alter the job or window so that the end date becomes valid
//          (possibly null) and then reissue the command.
27484, 00000, "Argument names are not supported for jobs without a program."
// *Cause: An attempt was made to set or reset a job argument by using the
//         name of the argument. Identifying job arguments by their name is
//         only supported in combination with jobs that are based on programs.
//         Jobs that are not using a program cannot have named arguments.
// *Action: Use argument position instead of name and then issue the command
//          again.
27485, 00000, "argument \"%s\" already exists at a different position" 
// *Cause: An attempt was made to create or replace an argument with a name
//         that is already used by an argument at a different position.
// *Action: Use a different name for the argument or drop or alter the
//          argument which already exists with this name and then reissue the
//          command.
27486, 00000, "insufficient privileges"
// *Cause: An attempt was made to perform a scheduler operation without the
//         required privileges.
// *Action: Ask a sufficiently privileged user to perform the requested
//          operation, or grant the required privileges to the proper user(s).
27487, 00000, "invalid object privilege for a %s" 
// *Cause: The granted object privilege is not valid for the specified
//         scheduler object.
// *Action: Check the scheduler documentation to verify which object privileges
//          can be granted on which scheduler objects.
27488, 00000, "unable to set %s because %s was/were already set"
// *Cause: An attempt was made to set an object's attribute even though one
//         or more conflicting attributes of the same object had already been
//         set.
// *Action: Set the other conflicting attributes to NULL and then reissue
//          the command.
27489, 00000, "unable to process job \"%s\".\"%s\" from job class \"%s\""
// *Cause: An error was encountered while processing the named job from
//         the specified job class.
// *Action: Resolve the error for this job and then reissue the command.
//          See the next error message on the stack to find out what the error
//          for the job is.
27490,0000, "cannot open disabled window \"%s\".\"%s\""
//  *Cause:  The user tried to open a disabled window.
// *Action:  Enable the window and then try to open it again.
27491,0000, "repeat_interval and start_date cannot both be NULL"
//  *Cause:  An attempt was made to set both repeat_interval and start_date
//           to equal NULL for a Scheduler window or schedule.
// *Action:  If either repeat_interval or start_date is set to equal NULL,
//           the other should be set to a non-NULL value.
27492,0000, "unable to run job \"%s\".\"%s\": scheduler unavailable" 
//  *Cause:  A job run with current session set to false can not be issued 
//           if the scheduler is not active. Check value of job_queue_processes 
//           parameter, issue dbms_ijob.set_enabled(true), 
//           database is in upgrade/migrade mode,  database is in data guard
//           mode, or scheduler attribute SCHEDULER_DISABLED is set to TRUE  
// *Action:  Run the job in the current session or activate the scheduler
27493,0000, "In-memory job \"%s.%s\" cannot be modified"
// *Cause:   Once enabled, the full in-memory job could not be further modified.
// *Action:  The only actions that can be taken now are to stop or drop the
//           job.
27494,0000, "operation not permitted on lightweight and in-memory jobs"
// *Cause:   An attempt was made to perform an action that was not 
//           permitted.
// *Action:  Check Oracle Scheduler documentation to see which actions can be 
//           performed on the desired job. 
27495,0000, "attribute %s cannot be set for in-memory jobs"
// *Cause:   An attempt was made in a CREATE or SET_ATTRIBUTE call to set
//           an attribute that could not be set for run-time in-memory jobs.
// *Action:  If you need to set this attribute, use either regular or 
//           lightweight jobs.
27496,0000, "credential \"%s\".\"%s\" is disabled"
// *Cause:   An attempt was made to run a job, file watcher or external
//           procedure whose credential was disabled.
// *Action:  Reenable the credential before running the job, file watcher or
//           external procedure.
27497,0000, "operation is not permitted inside a pluggable database"
// *Cause:   This operation was not permitted in a pluggable database.
// *Action:  Log into the root database and retry the operation.
27498,0000, "resource constraint object type mismatch"
// *Cause:   Not all of the resource constraints of a resource were of the same type.
// *Action:  Delete existing constraints for the resource.


27499,0000, "in-memory job metadata is too large"
// *Cause:   The in-memory job was too large. Due to the need to keep 
//           in-memory jobs efficient and performing well,we limit the size 
//           of in-memory job metadata to 8 kilobytes. This includes the 
//           space used for job argument values.
// *Action:  Reduce the size of the job metadata and try again. If all the 
//           metadata is needed, then you should create some other type of
//           job.
/
/ 27500-27599 RESERVED FOR IPC ERRORS
/
27500, 00000, "inter-instance IPC error"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the extra information and contact Oracle Support Services.
27501, 00000, "IPC error creating a port"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27502, 00000, "IPC error deleting OSD context"
// *Cause: This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27503, 00000, "IPC error attempting to cancel request"
// *Cause: This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27504, 00000, "IPC error creating OSD context"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27505, 00000, "IPC error destroying a port"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27506, 00000, "IPC error connecting to a port"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27507, 00000, "IPC error disconnecting from a port"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27508, 00000, "IPC error sending a message"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27509, 00000, "IPC error receiving a message"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27510, 00000, "IPC error waiting for a request to complete"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27512, 00000, "IPC error posting a process"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27513, 00000, "parameter %s contains invalid value %s"
// *Cause:  The program could not identify the value as an IP address.
// *Action: Change the value to be a valid IP address.
27514, 00000, "IPC error copying memory to remote process"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.


27528, 00000, "Transport: %s required by %s is not available"
// *Cause:   The IP addresses assigned to the instance did not support 
//           the specified transport.
// *Action:  Check the IP addresses used in the alert log
//           and contact Oracle Support Services. 
// 27529, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27530, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27531, 00000, "<<reuse me>>"
// *Cause:
// *Action:
27532, 00000, "IPC global name service error"
// *Cause: The global name space service used by KSXP reported an error
// *Action: Check additional error messages in the process trace file and 
//          contact Oracle Support Services.


// 27533, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27534, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27535, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27536, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27537, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27538, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27539, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27540, 00000, "<<reuse me>>"
// *Cause:
// *Action:
// 27541, 00000, "<<reuse me>>"
// *Cause:
// *Action:
27542, 00000, "Failed to unprepare a buffer prepared for remote update"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27543, 00000, "Failed to cancel outstanding IPC request"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27544, 00000, "Failed to map memory region for export"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27545, 00000, "Fail to prepare buffer for remote update"
// *Cause:  This is an operating system/cluster interconnect error.
// *Action: Check the value of errno and contact Oracle Support Services.
27546, 00000, "Oracle compiled against IPC interface version %s.%s found version %s.%s"
// *Cause:  A misconfiguration or installation error occurred.
// *Action: Install the IPC library for this release of Oracle.
//
27547, 00000, "Unable to query IPC OSD attribute %s"
// *Cause:  This is an operating system-dependent IPC error.
// *Action: Contact Oracle support Services.
27548, 00000, "Unable to unprepare IPC buffer"
// *Cause:  This is an operating system-dependent IPC error.
// *Action: Contact Oracle support Services.
//
27550, 00000, "Target ID protocol check failed. tid vers=%s, type=%s, remote instance number=%s, local instance number=%s"
// *Cause:  The local Oracle Real Application Cluster instance and remote
//          instance are running with incompatible implementation of the
//          inter-instance IPC protocol library. A misconfiguration or
//          installation error occurred.
// *Action: Check additional error messages in the alert log and the process
//          trace file.
27551, 00000, "Number of IPC ports exceeds OSD limit %s"
// *Document: NO
// *Cause:  Attempted to create more IPC ports than is supported by OSD
// *Action: Contact Oracle Support Services.
27552, 00000, "exception accessing Global Shared Memory (GSM) in Oracle RAC cluster"
// *Cause:  GSM is used to provide shared memory semantics on an Oracle RAC cluster.
//          An error has occurred accessing shared memory hosted on a remote node.
//          This is an internal programming error.
// *Action: Contact Oracle Support Services.
//
27553, 00000, "incompatible IPC settings in Oracle RAC cluster"
// *Cause: Inter-process Communication (IPC) settings were not compatible with other
//         instances in the Oracle RAC cluster. 
// *Action: Check additional error messages in the alert log and IPC0 trace file.
//
/
/ 27600-27799 RESERVED FOR EXADATA (SAGE) and HOST/CELL ERRORS
/
/
27601, 00000, "Cell storage initialization failed, cell library error code [%s]"
// *Cause:  Cell storage client did not succeed in initializing.
// *Action: Check the value of errno and contact Oracle Support Services.
27602, 00000, "Failure to publish network status information, cell library error code [%s]"
// *Cause:  Network status information publishing failed.
// *Action: Check the value of errno and contact Oracle Support Services.
27603, 00000, "Cell storage I/O error, I/O failed on disk %s at offset %s for data length %s"
// *Cause:  Cell storage I/O read or write failed, possibly due to a configuration problem or a hardware failure.
// *Action: Check the value of errno and contact Oracle Support Services.
27604, 00000, "Cell storage ioctl error, ioctl failed on disk %s"
// *Cause:  Ioctl operation on a cell storage disk failed.
// *Action: Check the value of errno and contact Oracle Support Services.
27605, 00000, "Smart I/O failed as a handle could not be obtained to the cell \"%s\" as the cell is not accessible."
// *Cause:  The cell could have been unavailable.
// *Action: Ensure the cell is available. Check the network connectivity.
27606, 00000, "Smart I/O failed because the diskgroup was found to be unmounted. tablespace number: \"%s\", file number: \"%s\""
// *Cause:  The diskgroup to which the specified file belongs was found 
//          to be unmounted.
// *Action: Ensure that the diskgroup to which the specified file belongs
//          is mounted.
27607, 00000, "Smart I/O failed because there were no online disks. tablespace number: \"%s\", file number: \"%s\""
// *Cause:  There were no online disks found for the specified file.
// *Action: Ensure the diskgroup to which the specified file belongs to is mounted.
//          Ensure that the disks are online.  Check the availability of
//          cells and check the network.
27608, 00000, "Smart I/O failed because the disk \"%s\" on the cell \"%s\" was not open. error code: \"%s\", \"%s\""
// *Cause:  The specified disk on the specified cell could not be opened.
// *Action: Ensure the cell is available. Check the network.
27609, 00000, "Smart I/O failed due to a network error to the cell \"%s\". error code \"%s\", \"%s\""
// *Cause:  The specified cell could not be connected to.
// *Action: Ensure that the cell is available.  Check the network.
27610, 00000, "Smart I/O failed due to shortage of memory on the cell \"%s\""
// *Cause:  The specified cell had a shortage of memory to perform smart I/O.
// *Action: Reduce the parallel degree or number of Oracle sessions executing 
//          smart I/O.
27611, 00000, "Smart I/O failed due to a block corruption detected on the host. The block was received from cell \"%s\". disk: \"%s\", block: \"%s\", disk offset: \"%s\""
// *Cause:  The data block indicated was corrupted on the host, but
//          a corruption was not found on the cell.
// *Action: This may be due to a transient network error or a real block
//          corruption.  Check your network for any errors.  Analyze the 
//          segment to which the file belongs. If there is indeed a
//          corruption, try to restore the block using RMAN block recovery.
//          If there is a trace file, report the errors in it to Oracle
//          Support Services.  If analyze did not report an error and network
//          did not have any error, report the problem to Oracle Support
//          Services as this appears to be a software error.
27612, 00000, "Smart I/O failed due to a block corruption detected on the cell \"%s\". disk: \"%s\", block: \"%s\", disk offset: \"%s\""
// *Cause:  The data block indicated was found to be corrupted on the cell.
// *Action: This may be due to a software error or a real data corruption.
//          Analyze the segment.  If there is indeed a block corruption, try to
//          restore the block using RMAN block level recovery.  If there
//          is a trace file, report the errors in it to Oracle Support
//          Services.  If analyze did not report an error, report
//          the problem to Oracle Support Services as this appears to
//          be a software error.
27613, 00000, "Smart I/O failed due to an I/O error on the cell \"%s\". disk: \"%s\", block: \"%s\", disk offset: \"%s\" I/O size: \"%s\""
// *Cause:  An I/O request failed on the specified cell and disk.
// *Action: Check the specified disk on the cell.
27614, 00000, "Smart I/O failed due to an error \"%s, %s\" from the cell \"%s\". disk: \"%s\", block: \"%s\", disk offset: \"%s\" I/O size: \"%s\""
// *Cause:  An I/O request failed, due to an internal error on the specified
//          cell and disk.
// *Action: Report the problem to Oracle Support Services along with
//          the process trace file and alert log.
27615, 00000, "Smart I/O file to ASM disk translation failed with error: %s."
// *Cause:  An internal error caused a smart I/O operation to fail.
// *Action: Report the problem to Oracle Support Services along with
//          the process trace file and alert log.
27616, 00000, "ASM Allocation Unit: %s"
// *Cause:  This error message is usually accompanied by another message,
//          indicating the real problem.  This message exists to provide
//          additional information to Oracle Support Services.
// *Action: Check the next error message.
27617, 00000, "Smart I/O failed because of an internal error. Cell \"%s\", disk \"%s\", cell library error code \"%s, %s\", error information \"%s\""
// *Cause:  An internal error caused a smart I/O operation to fail.
// *Action: Report the problem to Oracle Support Services along with
//          the process trace file and alert log.
27618, 00000, "Smart I/O failed because of an internal error. Cell \"%s\", cell library error code \"%s, %s\", error information \"%s\""
// *Cause:  An internal error caused a smart I/O operation to fail.
// *Action: Report the problem to Oracle Support Services along with
//          the process trace file and alert log.
27619, 00000, "Smart I/O failed because of an internal error when determining the time zone file version. Error code \"%s\"" 
// *Cause:  An internal error caused a smart I/O operation to fail.
// *Action: Report the problem to Oracle Support Services along with
//          the process trace file and alert log.
27621, 00000, "The value of %s is not valid for parameter %s"
// *Cause:  Incorrect value is specified for an internal parameter.
// *Action: This parameter should only be set by Oracle Support Services.
//          Check the additional diagnostic information in the trace file and
//          contact Oracle Support Services for recommendations
//          on setting this parameter.
27622, 00000, "Cell automation worker action interrupted"
// *Document: NO
// *Cause:  Cell automation worker action was interrupted.
// *Action: This is used internally; no action is required.
27623, 00000, "Cell automation SQL action failed"
// *Cause:  Cell automation manager or worker process failed to execute
//          SQL action through OCI recursive call.
// *Action: Check the alert log and process trace file for additional
//          information. Contact Oracle Support Services if the errors
//          specified in the trace file cannot be corrected.
27624, 00000, "Smart I/O failed because the number of reconnects to the cell \"%s\" exceeded the maximum allowed \"%s\"."
// *Cause:  The number of reconnects to a cell exceeded the maximum allowed.
//          This problem indicates a possible network problem or a software problem
//          on the cell.
// *Action: If the cellsrv is being restarted repeatedly, in a short interval,
//          check the system load. The problem may be corrected by rebooting
//          the cell.  If the system is not overloaded, the repeated restarts
//          are likely due to software problem. Report the problem to Oracle
//          Support Services along with alert log and trace files.  If the cellsrv
//          is not restarting, the problem may be in the IB network. Check the
//          network between the host and all the cells.
27625, 00000, "Exadata configuration failed."
// *Cause:  One or both of the files, cellinit.ora and cellip.ora, were either invalid or missing.
// *Action: Check if the files, cellinit.ora and cellip.ora, are both present.
//          They can be found in the $OSSCONF directory. If both are present,
//          check if their contents are valid and correct.
//          If the files are invalid or missing, produce files with 
//          valid information in the $OSSCONF directory. For information on 
//          how to set up these files, see the Exadata Users Guide.
27626, 00000, "Exadata error: %s (%s)"
// *Cause:  The cause of this error is dependent on the context in which this error
//          is reported. 
// *Action: See the primary error reported with this error.
27627, 00000, "Software edition incompatible with Exadata storage."
// *Cause: Oracle Exadata can be used only with Oracle Database Enterprise Edition.
// *Action: Check if Oracle is linked with the Enterprise Edition options.
/
27628, 00000, "An invalid value was specified for the parameter %s."
// *Cause:  An invalid value was specified for a parameter.
// *Action: Check the additional diagnostic information in the trace file and
//          contact Oracle Support Services if further help is required.
27629, 00000, "External table smart I/O failed because the cell is not accessible."
// *Cause:  The cell was unavailable.
// *Action: Ensure the cell is available.
27630, 00000, "External table smart scan debugging event"
// *Document: NO
// *Cause:    This is an internal debugging event and must be enabled
//            only under the supervision of Oracle Support Services
//            or development.
// *Action:   None
27631, 00000, "External encryption or decryption is disabled."
// *Cause:  Either decryption was disabled in the cellinit.ora initialization
//          parameter file, or the cryptography mode requested by the database
//          was incompatible with what was available on the cell.
// *Action: No action is necessary.  The Exadata cell returns data in
//          pass-through mode when encryption or decryption is required.
27632, 00000, "Cryptography engine verification debugging event"
// *Document: NO
// *Cause:    This is an internal debugging event and must be enabled
//            only under the supervision of Oracle Support Services
//            or development.
// *Action:   None
/
/ 27700-27800 RESERVED FOR MGA 
/
27777, 00000, "MGA Tracing On"
// *Document: NO
// *Cause:    This is an internal debugging event and must be enabled
//            only under the supervision of Oracle Support Services
//            or development.
// *Action:   None
27778, 00000, "MGA namespace is already marked for deletion."
// *Cause: Managed Global Area (MGA) namespace was already marked for deletion.
//         No further attaches are allowed.
// *Action: None.
27779, 00000, "MGA segment creation failure"
// *Cause: The Managed Global Area (MGA) segment creation failed.
// *Action: Check the other error messages for additional information.
/
/ 27800-27900 RESERVED FOR EVENT NOTIFICATION (KSEVN)
/
27800, 00000, "invalid configuration (%s) for event creation (%s)."
// *Cause: Invalid configuration values were given while creating the event. 
// *Action: None.
/
27801, 00000, "event notification handle not valid"
// *Cause: The event notification handle was not valid.
// *Action: None.
/
27888, 00000, "Event Notification Tracing On"
// *Document: NO
// *Cause:    This is an internal debugging event and must be enabled
//            only under the supervision of Oracle Support Services
//            or development.
// *Action:   None
/
/ 28000-28499 RESERVED FOR SECURITY RELATED ERRORS
/
/
28000, 00000, "the account is locked"
// *Cause:   The user has entered wrong password consequently for maximum
//           number of times specified by the user's profile parameter
//           FAILED_LOGIN_ATTEMPTS, or the DBA has locked the account
// *Action:  Wait for PASSWORD_LOCK_TIME or contact DBA
/
28001, 00000, "the password has expired"
// *Cause:   The user's account has expired and the password needs to be
//           changed.
// *Action:  Change the password or contact the database administrator.
//
28002, 00000, "the password will expire within %s days"
// *Cause:   The password of the user's account has expired. Since the user's
//           account is associated with a password profile with a limited
//           password grace period and grace period is yet to elapse, the user
//           will not be prompted to input a new password and ORA-28002 warning
//           message will continue to be displayed upon each successful login
//           to the user account, until the user changes their password.
//           Once the grace period elapses, the password will expire and user
//           login will start failing with ORA-28001 error, until the user
//           changes their password.
// *Action:  Change the password or contact the database administrator.
//
28003, 00000, "password verification for the specified password failed"
// *Cause:   The new password did not meet the necessary complexity
//           specifications and the password_verify_function failed
// *Action:  Enter a different password. Contact the DBA to know the rules for
//           choosing the new password
//
28004, 00000, "invalid argument for function specified in PASSWORD_VERIFY_FUNCTION %s"
// *Cause:    The password verification function does not have the required
//            number and type of input/output arguments and/or the return
//            argument
// *Action:   Check the manual to find out the format of the password
//            verification function
//
28005, 00000, "invalid logon flags"
// *Cause:    The flags are not properly set or
//            conflicting flags are set in making calls
// *Action:   Call the function with appropriate flags set.
//
28006, 00000, "conflicting values for parameters %s and %s"
// *Cause:    The parameters PASSWORD_REUSE_TIME and PASSWORD_REUSE_MAX cannot
//            both be set. One parameter should be unlimited while other is set
// *Action:   Set one value to UNLIMITED explicitly
//
28007, 00000, "the password cannot be reused"
// *Cause:    The password cannot be reused for the specified number of
//            days or for the specified nunmber of password changes
// *Action:   Try the password that you have not used for the specified
//            number of days or the specified number of password changes
//            Refer to the password parameters in the CREATE PROFILE statement
//
28008, 0000, "invalid old password"
// *Cause:    old password supplied is wrong; Hence user cannot be
//            authenticated using old password
// *Action:   Supply the correct old password for authentication
//
28009, 00000, "connection as SYS should be as SYSDBA or SYSOPER"
// *Cause:    connect SYS/<password> is no longer a valid syntax
// *Action:   Try connect SYS/<password> as SYSDBA or
//            connect SYS/<password> as SYSOPER
//
28010, 00000, "cannot expire external or global accounts"
// *Cause:    If a user account is created as IDENTIFIED EXTERNALLY,
//            or IDENTIFIED GLOBALLY, this account cannot be expired
// *Action    Try to expire the password of the user that has database
//            password
28011, 00000, "the password has expired; change your password now"
// *Cause:   The password of the user's account has expired. Since the user's
//           account is associated with a password profile with an UNLIMITED
//           password grace period, the user will not be prompted to input
//           a new password (as normally happens for accounts with a limited
//           grace period). Instead, ORA-28011 warning message will continue
//           to be displayed upon each successful login to the user account,
//           until the user changes their password.
// *Action:  Change the password or contact the database administrator.
//
28012, 00000, "connection as %s should use AS %s"
// *Cause:    An attempt was made to connect as an administrative user 
//            without using AS SYSBACKUP, AS SYSDG, or AS SYSKM.
// *Action:   Try connecting with AS SYSBACKUP, AS SYSDG, or AS SYSKM.
// 
28013, 00000, "the password has expired"
// *Cause:   The password of the proxy user expired.
// 
// *Action:  Connect directly as proxy user to change the password
//           or contact the DBA.  
//
28014, 00000, "cannot drop administrative users"
// *Cause:    An attempt was made to drop administrative users. 
//            Administrative users can be dropped only by SYS during
//            migration mode.
// *Action:   Try dropping administrative users during migration mode.
//
28015, 00000, "account unlock attempted on read-only database but a conflicting account lockout on the primary exists"
// *Cause:    An attempt to unlock an account on a read-only database
//            was prevented, because the account was previously marked
//            as locked on the primary database. All attempts to unlock
//            the account on the read-only database will be prevented as
//            long as the overriding "account locked" condition exists at
//            the primary database.  
// *Action:   If this database is part of a Data Guard configuration,
//            perform the account unlock action on the primary database.
//            If this database is read-only, then set the database to 
//            read/write and perform the account unlock action.
//
28016, 00000, "Privilege %s cannot be granted to SYS."
// *Cause:    An attempt was made to grant SYSBACKUP, SYSDG or SYSKM
//            to the SYS user. These administrative privileges cannot
//            be granted to SYS.
// *Action:   Try granting the administrative privilege to other users.
//
28017, 00000, "The password file is in the legacy format."
// *Cause:    An attempt was made to perform one of the following operations,
//            but none of these operations are allowed while the password file
//            is in LEGACY format.
//              - Attempting to grant SYSBACKUP, SYSDG or SYSKM privileges.
//              - Attempting to grant an administrative privilege to a user
//                who has large password verifiers, for example, SHA-512
//                hashed verifiers.
//              - Attempting to grant a common administrative privilege to a
//                common user in a multitenant container database (CDB).
// *Action:   Create the password file in the new format ("12" or higher) or
//            migrate the existing password file in LEGACY format to the new
//            format ("12" or higher) using the INPUT_FILE option, then retry
//            the operation.
//
28018, 00000, "This operation requires connection as SYS or SYSBACKUP."
// *Cause:    An attempt was made to execute a command even though the
//            user was not connected as SYS or SYSBACKUP.
// *Action:   Connect as SYS or SYSBACKUP and retry this command.
//
28019, 00000, "audit cannot be configured on administrative privileges"
// *Cause:    An attempt was made to configure audit on an administrative
//            privilege using either the AUDIT, NOAUDIT, CREATE AUDIT POLICY, 
//            or ALTER AUDIT POLICY command.
// *Action:   For traditional audit, use AUDIT_SYS_OPERATIONS to audit 
//            administrative privileges. If this is a unified audit, use
//            action-based auditing to audit administrative users.
//
//
28020, 00000, "IDENTIFIED GLOBALLY already specified"
// *Cause:  The IDENTIFIED GLOBALLY clause was specified twice.
// *Action: Use only one IDENTIFIED GLOBALLY clause.
28021, 00000, "cannot grant global roles"
// *Cause:  The role granted was IDENTIFIED GLOBALLY. Global roles
//          can only be granted via a central authority for the domain.
// *Action: Use ALTER ROLE to change the type of role (from IDENTIFIED
//          GLOBALLY to other, such as IDENTIFIED BY password),
//          or allocate it to a global user via the central authority.
28022, 00000, "cannot grant external roles to global user or role"
// *Cause:  The role granted was IDENTIFIED EXTERNALLY.  External
//          roles cannot be granted to global users, to global roles or
//          to any other roles.
// *Action: Use ALTER ROLE to change the type of the role being granted
//          (from IDENTIFIED EXTERNALLY to other, such as NOT IDENTIFIED)
//          or use ALTER USER to change the type of the user that is the 
//          grantee.
28023, 00000, "must revoke grants of this role to other user(s) first"
// *Cause:  The role altered to IDENTIFIED GLOBALLY was granted to
//          one or more other users and/or roles.  Global roles cannot
//          be granted to any user or role.
// *Action: Use REVOKE to revoke the role from other users or roles first.
28024, 00000, "must revoke grants of external roles to this role/user"
// *Cause:  The user or role altered to IDENTIFIED GLOBALLY has
//          external roles directly granted - these must be revoked, since
//          external roles cannot be granted to global users or roles.
// *Action: Use REVOKE to revoke the external roles from the user or role
//          to be ALTERed.
28025, 0000, "missing or null external name"
// *Cause:  The IDENTIFIED EXTERNALLY AS or IDENTIFIED GLOBALLY AS
//          clause was specified with a valid external name.
// *Action: Provide a valid external name.
28026, 0000, "user with same external name already exists"
// *Cause:  The external name specified for the user being created or
//          altered already exists for another user.
// *Action: External names must be unique among users.  Specify another.
28027, 0000, "privileged database links may be used by global users"
// *Cause:  Only users IDENTIFIED GLOBALLY may use a privileged database
//          link.
// *Action: Either change the user to a global user or try to use a
//          different database link.
28028, 0000, "could not authenticate remote server"
// *Cause:  During the course of opening a privileged database link,
//          the remote server was not securely identified using the
//          network security service.  Additional errors should follow.
// *Action: Consult the network security service documentation on how
//          to properly configure the remote server.
28029, 0000, "could not authorize remote server for user %s"
// *Cause:  During the course of opening a privileged database link,
//          the remote server was found to lack the necessary authorizations
//          to connect as the current global user.
//          This may be because the server was not authorized by the network
//          security service.  Or it may be because the local server is
//          restricting access by the remote server using the
//          DBMS_SECURITY_DOMAINS_ADMIN package.
// *Action: Grant the remote server the proper authorization to connect as
//          the given global user, and check that the local server is not
//          restricting access.
28030, 0000, "Server encountered problems accessing LDAP directory service"
// *Cause:  Unable to access LDAP directory service
// *Action: Please contact your system administrator
28031, 00000, "maximum of %s enabled roles exceeded"
// *Cause:  The user attempted to enable too many roles.
// *Action: Enable fewer roles.
28032, 00000, "Your password has expired and the database is set to read-only"
// *Cause:  Your password expired and needs to be changed before
//          your login request can be processed.
//          Because the database is currently open in read-only mode, the
//          password change operation cannot be performed on this database.
// *Action: Log in to the primary database to change your password, then
//          retry your login request at the standby database.


28033, 0000, "LDAP problem"
// *Document: NO
// *Cause:
// *Action:


28034, 00000, "cannot grant %s to an Oracle supplied user"
// *Cause:  The KEEP DATE TIME, KEEP SYSGUID or KEEP SEQUENCE
//          privilege could not be granted to an Oracle supplied user.
// *Action: Grant privilege directly to the application user.


28035, 0000, "Cannot Get Session Key for Authentication"
// *Cause:  Client and server cannot negotiate shared secret during logon
// *Action: User should not see this error.
//          Please contact your system administrator


28036, 0000, "HTTP digest authentication cannot be configured for global or external user"
// *Cause:  An attempt was made to configure HTTP digest authentication for a
//          global or external account.
// *Action: Contact your system administrator.


28037, 0000, "Cannot Get Session Key for RACF Authentication"
// *Cause:  Client and server cannot negotiate shared secret during logon
// *Action: User should not see this error.
//          Please contact your system administrator


28038, 0000, "disallow O2LOGON"
// *Cause: turn off O2LOGON
// *Action:


28039, 0000, "cannot validate Kerberos service ticket"
// *Cause:  The Kerberos service ticket provided was invalid or expired
// *Action: Provide a valid, unexpired service ticket.


28040, 0000, "No matching authentication protocol"
// *Cause:  There was no acceptable authentication protocol for 
//          either client or server.
// *Action: The administrator should set the values of the
//          SQLNET.ALLOWED_LOGON_VERSION_SERVER and 
//          SQLNET.ALLOWED_LOGON_VERSION_CLIENT parameters, on both the
//          client and on the server, to values that match the minimum 
//          version software supported in the system. 
//          This error is also raised when the client is authenticating to 
//          a user account which was created without a verifier suitable for
//          the client software version. In this situation, that account's 
//          password must be reset, in order for the required verifier to
//          be generated and allow authentication to proceed successfully.


28041, 0000, "Authentication protocol internal error"
// *Cause:  Authentication protocol failed with an internal error
// *Action:


28042, 0000, "Server authentication failed"
// *Cause:  Server failed to authenticate itself to the client
// *Action: Confirm that the server is a valid database server.


28043, 000, "invalid bind credentials for DB-OID connection"
// *Cause: The Database password stored in the wallet did not match 
//         the one in OID .
// *Action: Use DBCA to reset the  database password so that it 
//          is the same in database wallet and in OID.


28044, 000, "unsupported directory type"
// *Cause: The database tried to work with a directory which is not OID.
// *Action: Enterprise User Security works only with Oracle Internet Directory.
//          Update the ldap.ora file to reflect an appropriate OID.


28045, 000, "SSL authentication between database and OID failed"
// *Cause: Server failed to authenticate itself to the Directory.
// *Action: Make sure the sqlnet.ora used is pointing to the wallet
//          with the right certificate.


28046, 0000, "Password change for SYS disallowed"
// *Cause:  REMOTE_LOGIN_PASSWORDFILE is set to SHARED, prohibiting SYS
//          password changes.
// *Action: Change setting of REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE or NONE.


28047, 0000, "database is not a member of any enterprise domain in OID"
// *Cause: An enterprise user login was attempted on a database that is
//         not a member of any enterprise domain in OID.
// *Action:  An administrator should put the database into an enterprise
//           domain in OID, and then the user should reconnect.


28048, 0000, "database is a member of multiple enterprise domains in OID"
// *Cause: An enterprise user login was attempted on a database that is
//         a member of multiple enterprise domains in OID.
// *Action:  An administrator should put the database into only one
//           enterprise domain in OID, and then the user should reconnect.


28049, 00000, "the password has expired"
// *Cause:   The enterprise user's password has expired and the password 
//           needs to be changed.
// *Action:  change the password in the directory or contact the directory 
//           administrator.


28050, 00000, "specified user or role cannot be dropped"
// *Cause:   The user or role specified in the DROP statement was a reserved 
//           Oracle object that could not be dropped.
// *Action:  None.


28051, 00000, "the account is locked"
// *Cause:   The enterprise user has consecutively entered the wrong password
//           for maximum number of times specified in the realm's
//           password policy profile.
// *Action:  Contact the directory administrator.


28052, 00000, "the account is disabled"
// *Cause:   The enterprise user's account in the directory has been disabled. 
// *Action:  Contact the directory administrator.


28053, 00000, "the account is inactive"
// *Cause:   The enterprise user's account in the directory is currently not
//           active.
// *Action:  Contact the directory administrator.


28054, 00000, "the password has expired. %s Grace logins are left"
// *Cause:   The enterprise user's password has expired. The user is
//           able to login because he has gracelogins left.
// *Action:  change the password in the directory or contact the directory
//           administrator.


28055, 00000, "the password will expire within %s days"
// *Cause:   The enterprise user's password is about to expire.
// *Action:  Change the password in the directory or contact the directory 
//           administrator.


28056, 00000, "Writing audit records to Windows Event Log failed"
// *Cause:  Unable to write an audit entry to the Windows event log
//          used as the audit trail.
// *Action: Check the error number for a possible operating system error.
//          If there is no error, contact Oracle Support Services.


28057, 00000, "name of the password file could not be constructed"
// *Cause:  Possibly environment variable ORACLE_SID was not set.
// *Action: Set value for the ORACLE_SID environment variable.


28058, 00000, "login is allowed only through a proxy"
// *Cause:   This account is marked "proxy only connect".
// *Action:  Connect through a proxy user.


28059, 0000, "Cross-instance call failed" 
// *Cause:   An attempt to inform other Oracle RAC instances of a security
//           event failed.
// *Action:  Log into each instance to perform the administrative
//           action.


/
/ 28060-28099 RESERVED FOR RADM (Real-time Application-controlled Data Masking)
/
28060, 00000, "A data redaction policy already exists on this column."
// *Cause:   A data redaction policy was already in existence on this column.
// *Action:  Specify a colunm which does not already have a redaction policy
//           defined on it, or use DBMS_REDACT.ALTER_POLICY to alter the
//           existing redaction policy for this column.


28061, 00000, "This object cannot have a data redaction policy defined on it."
// *Cause:   An attempt was made to define a data redaction policy on an object
//           other than a table or view. Note that a data redaction policy
//           cannot be defined on an editioned view, or on specialized tables 
//           created internally by the server in conjunction with various 
//           features such as materialized view.
// *Action:  Specify the name of a table or view.


28062, 00000, "The policy expression is too long."
// *Cause:   The policy expression was longer than 4000 characters.
// *Action:  Specify a policy expression of at most 4000 characters.


28063, 00000, "The policy expression is empty."
// *Cause:   The EXPRESSION parameter to DBMS_REDACT.ADD_POLICY was empty.
// *Action:  A nonempty policy expression must be specified in
//           the EXPRESSION parameter to DBMS_REDACT.ADD_POLICY.


28064, 00000, "The redaction function is not valid."
// *Cause:   The FUNCTION_TYPE parameter to DBMS_REDACT.ADD_POLICY was invalid.
// *Action:  Specify the FUNCTION_TYPE parameter to DBMS_REDACT.ADD_POLICY
//           as one of the following: DBMS_REDACT.NONE, DBMS_REDACT.FULL,
//           DBMS_REDACT.RANDOM, DBMS_REDACT.PARTIAL, DBMS_REDACT.REGEXP,
//           or DBMS_REDACT.NULLIFY. Note that only none redaction, full 
//           redaction, and NULL redaction may be applied to columns of type 
//           BLOB, and only none redaction, full redaction, NULL redaction,
//           and regular expression-based redaction may be applied to columns 
//           of type CLOB or NCLOB.
/
/ 28065 is reserved for RADM internal error.
/
28066, 00000, "invalid column \"%s\""
// *Cause:  An invalid column was specified in the COLUMN_NAME parameter.
// *Action: Check the columns in the object and specify the right column name.


28067, 00000, "missing or invalid column name"
// *Cause:  A valid column name was not specified in the COLUMN_NAME parameter
//          when a column name was required.
//          Note that when using DBMS_REDACT.ALTER_POLICY, the default action
//          is DBMS_REDACT.ADD_COLUMN
// *Action: Specify the name of a column.


28068, 00000, "The object \"%s\" does not have a data redaction policy."
// *Cause:  The specified object did not have a data redaction policy defined
//          on it.
// *Action: Specify the name of an object which has a data redaction policy,
//          or use DBMS_REDACT.ADD_POLICY to add a data redaction policy.


28069, 00000, "A data redaction policy already exists on this object."
// *Cause:   A data redaction policy was already in existence on this object.
// *Action:  Specify a table or view which does not already have a redaction
//           policy defined on it, or use DBMS_REDACT.ALTER_POLICY to alter the
//           existing redaction policy for this object.


28070, 00000, "The column \"%s\" does not have a data redaction policy."
// *Cause:  The specified column did not have a data redaction policy defined
//          on it.
// *Action: Specify the name of a column which has a data redaction policy.


28071, 00000, "The action is not valid."
// *Cause:   The ACTION parameter to DBMS_REDACT.ALTER_POLICY was invalid.
// *Action:  Specify the ACTION parameter to DBMS_REDACT.ALTER_POLICY
//           as one of the following values: DBMS_REDACT.MODIFY_EXPRESSION,
//           DBMS_REDACT.MODIFY_COLUMN, DBMS_REDACT.ADD_COLUMN,
//           or DBMS_REDACT.DROP_COLUMN.


28072, 00000, "The specified policy name is incorrect."
// *Cause:   The POLICY_NAME parameter was incorrect.
// *Action:  Specify the POLICY_NAME parameter with the name of the
//           redaction policy currently defined on the object.


28073, 00000, "The column \"%s\" has an unsupported data type or attribute."
// *Cause:   The column had a data type or attribute which is not supported
//           by data redaction.  The supported data types are CHAR, NCHAR,
//           VARCHAR2, NVARCHAR2, NUMBER types, BINARY_FLOAT, BINARY_DOUBLE,
//           DATE, TIMESTAMP, CLOB, NCLOB, and BLOB, except as listed below 
//           for certain function types:
//           For DBMS_REDACT.PARTIAL and DBMS_REDACT.RANDOM,
//           the CLOB, NCLOB, and BLOB datatypes are not supported.
//           For DBMS_REDACT.REGEXP, the NUMBER, BINARY_FLOAT, BINARY_DOUBLE, 
//           DATE, TIMESTAMP, and BLOB datatypes are not supported.
//           Virtual columns are not supported by data redaction.
//           Columns with the INVISIBLE attribute are not supported by
//           data redaction (this applies to both user-specified hidden
//           columns and system-generated hidden columns).
//           Vector encoded columns are not supported by data redaction.
//           Columns with the IS JSON constraint are not supported.
// *Action:  Specify the name of a column which has a supported data type
//           and supported attributes. For columns with the IS JSON constraint,
//           create a view on the columns and add the redaction policy to the
//           view.


28074, 00000, "The \"%s\" field of the redaction parameters is not valid."
// *Cause:   The redaction parameters specified had one or more fields that
//           were invalid.
// *Action:  Specify the redaction parameters according to Oracle documentation.


28075, 00000, "The data redaction policy expression has an error."
// *Cause:   The data redaction policy expression had an error.
// *Action:  Contact the data redaction policy administrator.
//           To correct this error, when invoking the ADD_POLICY and
//           ALTER_POLICY procedures of the data redaction DBMS_REDACT
//           package, the policy administrator must specify a valid
//           policy expression for the EXPRESSION parameter.
//           Check the trace file for the name of the affected policy and
//           the error, and correct the data redaction policy expression.


28076, 00000, "An attribute was not specified for SYS_SESSION_ROLES."
// *Cause:   An attribute was not specified for the SYS_SESSION_ROLES
//           namespace in the policy expression.
// *Action:  Specify an attribute for SYS_SESSION_ROLES in the policy expression.


28077, 00000, "The attribute specified (%s) exceeds the maximum length."
// *Cause:   The attribute specified in the policy expression for the
//           SYS_SESSION_ROLES namespace exceeded the maximum length.
// *Action:  Change the policy expression to use a valid attribute for
//           SYS_SESSION_ROLES namespace.


28078, 00000, "A regular expression parameter is missing or invalid."
// *Cause:   The FUNCTION_TYPE was DBMS_REDACT.REGEXP, but one or more
//           of the regular expression parameters were missing or invalid,
//           the REGEXP_PATTERN failed to compile properly, or the
//           regular expression replacement operation failed.
// *Action:  Specify the regular expression parameters according to 
//           Oracle documentation.  At a minimum, the REGEXP_PATTERN and
//           the REGEXP_REPLACE_STRING must be specified.  Ensure that
//           the REGEXP_PATTERN can compile properly as a regular expression,
//           for example by testing it with REGEXP_REPLACE in a SQL query
//           against a column containing some of the data to be redacted.


28079, 00000, "The policy was already enabled."
// *Cause:   The redaction policy specified has already been enabled.
// *Action:  Only disabled redaction policies can be enabled.
//


28080, 00000, "The policy was already disabled."
// *Cause:   The redaction policy specified has already been disabled.
// *Action:  Only enabled redaction policies can be disabled.
//


28081, 00000, "Insufficient privileges - the command references a redacted object."
// *Cause: The command referenced a redacted column in an
// object protected by a data redaction policy.
// *Action: If possible, modify the command to avoid referencing any
// redacted columns.  Otherwise, drop the data redaction policies that
// protect the referenced tables and views, or ensure that the user issuing
// the command has the EXEMPT REDACTION POLICY system privilege, then
// retry the operation.  The EXEMPT REDACTION POLICY system privilege
// is required for creating or refreshing a materialized view when the
// materialized view is based on an object protected by a data redaction 
// policy.  The EXEMPT REDACTION POLICY system privilege is required for
// performing a data pump schema-level export including any object 
// protected by a data redaction policy.  All data redaction policies are 
// listed in the REDACTION_COLUMNS catalog view.


28082, 00000, "The parameter %s is invalid."
// *Cause:   The specified parameter was either empty or too long.
// *Action:  Specify a parameter of correct length. See the 
//           documentation for length requirements.


28083, 00000, "A redacted column was referenced in a virtual column expression."
// *Cause:   This redacted column was referenced in a virtual column
//           expression.
// *Action:  Ensure the column expression definition for any virtual column
//           does not refer to any redacted columns.  To check for columns
//           with redaction policies, use the REDACTION_COLUMNS catalog view
//           which lists all data redaction policies.


28084, 00000, "internal event to enable data redaction statistics gathering"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your instance initialization file
//          to enable gathering of statistics for data redaction.
// *Note: This is not a user error number or message.
//        This message does not need to be translated or documented.


28085, 00000, "The input and output lengths of the redaction do not match."
// *Cause:   As specified, the redaction parameters produced an output
//           with a length different to that of the input.
// *Action:  Use regular expression redaction instead of partial redaction.


28086, 00000, "The data redaction policy expression has an error.\n%s"
// *Cause:   The data redaction policy expression had an error.
// *Action:  Specify a valid policy expression.
//           The data redaction policy expression must be written in SQL,
//           and must be a valid predicate to use in the following SQL query.
//             SELECT 1 FROM DUAL WHERE policy_expression;


28087, 00000, "The policy expression has an unsupported (use of) operator '%s'."
// *Cause:   The policy expression used an unsupported operator, 
//           or used an operator in an unsupported way.
// *Action:  Modify the policy expression to use only the supported operators
//           in a supported way. Supported operators include "=", "!=", ">",
//           "<", ">=", "<=", the length operators, the substring operators,
//           and the context operators (SYS_CONTEXT and XS_SYS_CONTEXT).
//           For a complete list of the supported operators, and the supported
//           ways the allowed operators can be used, refer to the section on
//           data redaction policy expressions in the Oracle documentation.


28088, 00000, "The policy expression has an unsupported PL/SQL function %s.%s.%s."
// *Cause:   The policy expression had an unsupported PL/SQL function.
// *Action:  Modify the policy expression to use a supported PL/SQL function.
//           Supported PL/SQL functions include the Oracle Label Security
//           dominates functions, and the Oracle Apex session state
//           functions (V and NV).
//           For a complete list of the supported PL/SQL functions,
//           refer to data redaction in the Oracle documentation.


28089, 00000, "invalid SYS_CONTEXT namespace %s in policy expression"
// *Cause:   The SYS_CONTEXT (or XS_SYS_CONTEXT) namespace used in the 
//           policy expression was not valid.
// *Action:  Modify the policy expression to use a valid namespace.
//           Supported namespaces include USERENV, SYS_SESSION_ROLES,
//           XS$SESSION and the namespaces listed in the DBA_CONTEXT
//           catalog view.


28090, 00000, "unsupported nesting of function %s.%s.%s within function %s.%s.%s in policy expression"
// *Cause:   The policy expression had an unsupported PL/SQL function nesting.
// *Action:  Modify the policy expression to use only supported PL/SQL
//           function nesting. The Oracle Label Security functions
//           NUMERIC_LABEL, CHAR_TO_LABEL, and SA_SESSION can only be
//           used from within the Label Security dominates functions.
//           For a complete list of supported PL/SQL function nesting,
//           refer to the section on writing policy expressions
//           in the Oracle documentation for data redaction.


28091, 00000, "unsupported use of PL/SQL function %s.%s.%s in policy expression"
// *Cause:   The policy expression used a PL/SQL function in an unsupported way.
// *Action:  Modify the policy expression to use the PL/SQL function properly.
//           The parameters to the Oracle Label Security functions
//           NUMERIC_LABEL, CHAR_TO_LABEL, and SA_SESSION must be constants.
//           For a complete list of the supported ways PL/SQL functions
//           can be used in a policy expression, refer to the section on 
//           writing policy expressions in the Oracle documentation for 
//           data redaction.


28092, 00000, "The parameter %s with value '%s' has an error."
// *Cause:   The value of the parameter had an error.
//
//           If DBMS_REDACT.CREATE_POLICY_EXPRESSION was invoked and
//           the POLICY_EXPRESSION_NAME parameter had an error,
//           the policy expression name either already existed,
//           or was invalid.
//
//           If DBMS_REDACT.DROP_POLICY_EXPRESSION was invoked and
//           the POLICY_EXPRESSION_NAME parameter had an error,
//           the policy expression either did not exist, was still
//           in use (was applied to a column), or was invalid.
//
//           If DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL was invoked and
//           the POLICY_EXPRESSION_NAME parameter had an error,
//           a policy expression may already exist on this column.
//           Only one policy expression may be associated with any
//           given column.
//           The name of any Oracle Data Redaction policy expression
//           associated with a given column can be found
//           in the REDACTION_EXPRESSIONS catalog view.
//
//           If the DBMS_REDACT.ADD_POLICY was invoked and the OBJECT_SCHEMA
//           parameter referenced the APEX or Spatial installation schema,
//           the operation was prevented. Data redaction policies are not
//           supported on objects within the APEX or Spatial installation
//           schema.
//
//           If the DBMS_REDACT.ADD_POLICY was invoked and the OBJECT_NAME
//           references a metadata-linked view, the operation was prevented.
//           Data redaction policies are not supported on metadata-linked
//           views.
//             
// *Action:  Provide a valid value for the parameter.
//
//           If DBMS_REDACT.CREATE_POLICY_EXPRESSION was invoked and
//           the parameter was POLICY_EXPRESSION_NAME, provide a valid 
//           (new or existing) policy expression name.
//           The names of all existing Oracle Data Redaction policy
//           expressions can be found in the REDACTION_EXPRESSIONS
//           catalog view.
//
//           For the POLICY_EXPRESSION_NAME parameter of
//           the DBMS_REDACT.DROP_POLICY_EXPRESSION procedure,
//           provide a valid existing policy expression name
//           which is not currently in use (applied to any column).
//           The names of the columns to which a given policy expression
//           is currently applied can be found in the REDACTION_EXPRESSIONS
//           catalog view.
//
//           For the POLICY_EXPRESSION_NAME parameter of
//           the DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL procedure,
//           either provide NULL to remove the current policy expression
//           association of the column, or provide a valid
//           existing policy expression name. There is currently no API
//           to alter an existing association. For now it must first be
//           dropped followed by applying the new association.
//           The names of all existing policy expressions can be
//           found in the REDACTION_EXPRESSIONS catalog view.
//
//           If DBMS_REDACT.ADD_POLICY was invoked, provide an 
//           OBJECT_SCHEMA which is not the APEX or Spatial installation
//           schema.  Data redaction policies are not supported on objects
//           within the APEX or Spatial installation schema.
//
//           If DBMS_REDACT.ADD_POLICY was invoked, provide an 
//           OBJECT_NAME which does not reference a metadata-linked view.


28093, 00000, "operation on column %s is not supported by data redaction"
// *Cause:   The operation was not supported by data redaction.
// *Action:  Perform only supported operations on any object which
//           has a data redaction policy or which depends on an object
//           with a data redaction policy.
//           To check for columns with redaction policies, use the
//           REDACTION_COLUMNS catalog view which lists all of the
//           data redaction policies. 


28094, 00000, "SQL construct not supported by data redaction"
// *Cause:   The query had a SQL construct that was not supported by
//           data redaction.
// *Action:  Rewrite the query to avoid using an unsupported construct.
//           Consult the Oracle documentation for details.


/
/ 28100-28149 RESERVED FOR FINE-GRAINED SECURITY
/
28100, 00000, "policy function schema %s is invalid"
// *Cause: The schema was dropped after the policy associated with the
//         function had been added to the object.
// *Action: Drop the policy and re-create it with a policy function owned by
//          a valid user. Or re-create the user and the policy function under
//          the new user.
28101, 00000, "policy already exists"
// *Cause: A policy with the same name for the same object already exists.
// *Action: Check if the policy has already been added or use a different
//          policy name.
28102, 00000, "policy does not exist"
// *Cause: Try to drop/enable/refresh a non-existent policy.
// *Action: Correct the policy name argument.
28103, 00000, "adding a policy to an object owned by SYS is not allowed"
// *Cause: Try to add a policy to a table or a view owned by SYS.
// *Action: You can not perform this operation.
28104, 00000, "input value for %s is not valid"
// *Cause: Input value for the argument is not valid
// *Action: specify a valid argument value.
28105, 00000, "cannot create security relevant column policy in an object view"
// *Cause:  Security relevant column argument is not null in policy creation
//          for an object view
// *Action:
28106, 00000, "input value for argument #%s is not valid"
// *Cause: Input values for the argument is missing or invalid.
// *Action: Correct the input values.
28107, 00000, "policy was disabled"
// *Cause: Try to flush a disabled policy.
// *Action: If the policy is supposed to be enforced, it must be enabled.
28108, 00000, "circular security policies detected"
// *Cause: Policies for the same object reference each other.
// *Action: Drop the policies
28109, 00000, "the number of related policies has exceeded the limit of 16"
// *Cause: Too many policies are involved in the same objects.
// *Action: Drop one or more policies. Or combine a few of them into one.
28110, 00000, "policy function or package %s.%s has error"
// *Cause: The policy function may have been dropped, or is no longer valid.
// *Action: Check the status of the function and correct the problem.
//          Or re-create the policy with a valid function.
28111, 00000, "insufficient privilege to evaluate policy predicate"
// *Cause: Predicate has a subquery which contains objects that the owner of
//         policy function does not have privilege to access.
// *Action: Grant appropriate privileges to the policy function owner.
28112, 00000, "failed to execute policy function"
// *Cause: The policy function has one or more error during execution.
// *Action: Check the trace file and correct the errors.
28113, 00000, "policy predicate has error"
// *Cause: Policy function generates invalid predicate.
// *Action: Review the trace file for detailed error information.
28115, 00000, "policy with check option violation"
// *Cause: Policy predicate was evaluated to FALSE with the updated values.
// *Action:
28116, 00000, "insufficient privileges to do direct path access"
// *Cause: Users with insufficient privileges attempting to do direct path
//         access of tables with fine grain access control policies.
// *Action: Ask the database administrator to do the operation.
//          Note that users can work with security administrator
//          to temporarily drop/disable the policies at time of export,
//          import, or load, but this has security implication, and
//          thus access of the database must be controlled carefully.
28117, 00000, "integrity constraint violated - parent record not found"
// *Cause: try to update/insert a child record with new foreign key
//         values, but the corresponding parent row is not visible
//         because of fine-grained security in the parent.
// *Action: make sure that the updated foreign key values must also visible
//          in the parent
28118, 00000, "policy group already exists"
// *Cause: try to create a policy group that already exists
// *Action:
28119, 00000, "policy group does not exist"
// *Cause: try to drop a policy group that does not exist
// *Action:
28120, 00000, "driving context already exists"
// *Cause: try to create a driving context that already exists
// *Action:
28121, 00000, "driving context does not exist"
// *Cause: try to drop a driving context that does not exist
// *Action:
28122, 00000, "can not update SYS_DEFAULT policy group"
// *Cause: An attempt was made to execute either DBMS_RLS.CREATE_POLICY_GROUP 
//         or DBMS_RLS.DELETE_POLICY_GROUP using SYS_DEFAULT as the policy 
//         group name.
// *Action: Do not attempt to CREATE or DELETE the SYS_DEFAULT policy 
//          group.  This action is not permitted.
28123, 00000, "Driving context '%s,%s' contains invalid group '%s'"
// *Cause:  A previous call to DBMS_SESSION.SET_CONTEXT specified an invalid 
//          policy group.
// *Action: Ensure that a valid policy group is passed to 
//          DBMS_SESSION.SET_CONTEXT when initializing a policy driving context.
28124, 00000, "Column %s in sec_relevant_cols cannot be of an object data type"
// *Cause:  A column specified in sec_relevant_cols was of an object data type.
// *Action: Ensure that none of the columns specified in sec_relevant_cols
//          is of an object data type or XMLType.
28125, 00000, "A protected base column was referenced in an unprotected virtual column expression."
// *Cause:  A protected base column was referenced in an unprotected virtual 
//          column expression.
// *Action: Check the policy definition and make sure that the virtual column 
//          is also protected.
28126, 00000, "Attribute association failed for policy \"%s\"."
// *Cause:  An attempt was made to associate a global application context
//          attribute to either a context-sensitive or shared context-sensitive
//          policy. Only local application context attribute association is
//          supported.
// *Action: Specify a local application context attribute.
28130, 00000, "Fine Grained Access Control at table level"
// *Document: NO
// *Cause:
// *Action:
28131, 00000, "Fine Grained Access Control enforced"
// *Document: NO
// *Cause:
// *Action:
28132, 00000, "The MERGE INTO syntax does not support the security policy."
//  *Cause: The MERGE INTO syntax did not support a security policy on the 
//          destination table, because the policy's statement_types did 
//          not include each of INSERT, UPDATE and DELETE.
// *Action: If you do not have the privilege to modify the security policy,
//          then instead of MERGE INTO, use the INSERT, UPDATE and DELETE DML 
//          statements on the table that has a security policy defined on it.
//          If you have the privilege to modify the security policy, then
//          redefine it in such a way that statement_types includes all of
//          the DML statement types (INSERT, UPDATE and DELETE).
//
28133, 00000, "full table access is restricted by fine-grained security"
// *Document: NO
// *Cause: The command requires full table access but the user is not SYS
//         and does not have permission to by pass security policies.
// *Action: Grant appropriate privileges, or change the policy function so
//          that it returns a NULL predicate under certain session
//          environments.
/
28134, 00000, "object cannot have fine-grained access control policy"
// *Cause: Only tables, views, or synonyms of tables or views
//         may have VPD policies
// *Action:
28135, 00000, "VPD check option silent error event"
// *Cause:
// *Action:
28136, 00000, "Ignore check option error"
// *Cause:
// *Action:
/
28137, 00000, "Invalid FGA audit Handler"
// *Cause: An invalid audit handler was specified.
// *Action: Specify a valid audit handler.
/
28138, 00000, "Error in Policy Predicate"
// *Cause: An invalid policy predicate was specified.
// *Action:Please specify a valide policy Predicate for the FGA policy
/
28139, 00000, "Maximum allowed Fine Grain Audit Policies Exceeded"
// *Cause: A maximum of 256 policies can be enabled on an object
// *Action: Drop or disable an existing policy before creating more
/
28140, 00000, "Invalid column specified "
// *Cause: Column name specified during policy creation is invalid
// *Action: Please specify a valid column name. Object columns are not
//          supported
/
28141, 00000, "error in creating audit index file"
// *Cause: ORACLE was not able to create the file being used to hold
//         audit file names.
// *Action: Examine the directory pointed to by the initialization
//          parameter "audit_file_dest." Make sure that all of the
//          following is true:
//          1. The directory exists.
//          2. The name indeed points to a directory and not a file.
//          3. The directory is accessible and writable to the ORACLE user.
/
28142, 00000, "error in accessing audit index file"
// *Cause: ORACLE was not able to access the file being used to hold
//         audit file names.
// *Action: Make sure the file exists in the directory pointed to by the
//          initialization parameter "audit_file_dest" and is readable 
//          by the ORACLE user.
/
28143, 00000, "Invalid argument passed to FGA ADD_POLICY procedure"
// *Cause: Invalid input argument was specified for FGA ADD_POLICY procedure.
// *Action: Specify correct type and number of arguments to FGA
//          ADD_POLICY procedure.
/
28144, 00000, "Failed to execute fine-grained audit handler"
// *Cause: An error was encountered while executing fine-grained audit handler.
// *Action: Refer to the trace file for details.
/
28145, 00000, "XDS policy already exists for %s"
// *Cause: An XDS policy was enabled for an object that already has an
//         associated XDS policy. 
// *Action: Specify a different policy name or call enable_xds with
//          the overwrite paramter set to TRUE.
/
28146, 00000, "invalid operation for policy \"%s\""
// *Cause: Attribute association (NAMESPACE, ATTRIBUTE) was specified for an 
//         invalid policy type. Attribute association can be specified only
//         for context-sensitive and shared context-sensitive policy types.
// *Action: Do not perform any unsupported operation.
/
28147, 00000, "The specified attribute association (\"%s\", \"%s\") is already attached to policy \"%s\"."
// *Cause: An attempt was made to create the attribute association using
//         names that were already used by existing attribute association 
//         of the policy.
// *Action: Adjust the names and retry the operation.
/
28148, 00000, "The specified attribute association (\"%s\", \"%s\") is not attached to policy \"%s\"."
// *Cause: An attempt was made to drop the attribute association that was not
//         attached to the policy.
// *Action: Adjust the names and retry the operation.
/
28149, 00000, "input value for argument \"%s\" is missing"
// *Cause: Only one input value was specified for the (NAMESPACE, ATTRIBUTE) arguments.
// *Action: Specify an input value for both (NAMESPACE, ATTRIBUTE) arguments.
/
/ 28150-28199 RESERVED FOR N-TIER SECURITY
28150, 0000, "proxy not authorized to connect as client"
// *Cause:  A proxy user attempted to connect as a client, but the proxy
//          was not authorized to act on behalf of the client.
// *Action: Grant the proxy user permission to perform actions on behalf of the
//          client by using the ALTER USER ... GRANT CONNECT command.
28151, 0000, "more than one user name specified for command"
// *Cause:  More than one user name was specified for an ALTER USER command.
// *Action: Try the command again with only one user name.
/
28152, 0000, "proxy user '%s' may not specify initial role '%s' on behalf of client '%s'"
// *Cause: A proxy user attempted to specify an initial role for a client, but
//         the client does not possess the role.
// *Action: Change the proxy user so that it does not specify the role or grant
//          the role to the client.
/
28153, 0000, "Invalid client initial role specified: '%s'"
// *Cause:  A role specified by a proxy user as an initial role to be
//          activated upon connecting on behalf of a client is invalid.
// *Action: Connect again as the client specifying a valid role.
/
28154, 00000, "Proxy user may not act as client '%s'"
// *Cause:  A proxy user may not assume the identity of a privileged user in
//          order to limit the privileges that a proxy may possess.
// *Action: Execute the statement again specify a client other than a
//          privileged user.
/
28155, 0000, "user '%s' specified as a proxy is actually a role"
// *Cause:  A user specified in an AUDIT <operation> BY <proxy> ON BEHALF OF
//          <client> is actually a role.
// *Action: Execute the statement again with a valid proxy user.
/
28156, 0000, "Proxy user '%s' not authorized to set role '%s' for client '%s'"
// *Cause:  A proxy user has not been granted the right to use a role on
//          behalf of a client.
// *Action: Execute the command ALTER USER <client> GRANT CONNECT THROUGH
//          PROXY <proxy> to grant the needed role.
/
28157, 0000, "Proxy user '%s' forbidden to set role '%s' for client '%s'"
// *Cause:  A proxy user was forbidden to use a role on behalf of a client
//          through the command ALTER USER <client> GRANT CONNECT THROUGH
//          <proxy> WITH ALL ROLES EXCEPT <role>
// *Action: Execute the command ALTER USER <client> GRANT CONNECT THROUGH
//          PROXY <proxy> to grant the needed role.
28158, 00000, "missing ALL keyword"
// *Cause:
// *Action:
/
28159, 00000, "missing BEHALF keyword"
// *Cause:
// *Action:
/
28160, 00000, "missing EXCEPT keyword"
// *Cause:
// *Action:
/
28161, 00000, "missing ROLES keyword"
// *Cause:
// *Action:
/
28162, 00000, "missing THROUGH keyword"
// *Cause:
// *Action:
/
28163, 00000, "GRANT already specified"
// *Cause:  The GRANT clause was specified twice.
// *Action: Use only one GRANT clause.
/
28164, 00000, "REVOKE already specified"
// *Cause:  The REVOKE clause was specified twice.
// *Action: Use only one REVOKE clause.
/
28165, 0000, "proxy '%s' may not specify password-protected role '%s' for client '%s'"
// *Cause:  A proxy user attempted to activate a role on behalf of a client
//          which has a password associated with it. Since the proxy does not
//          have a password, this activation cannot be allowed.
// *Action: Attempt to activate a different role or change the role
//          administratively so that there is no password.
/
28166, 00000, "duplicate rolename in list"
// *Cause:  The name of a role was specified more than once in a list.
// *Action: Repeat the command specifying the role once.
28168, 0000, "attempted to grant password-protected role"
// *Cause:  An ALTER USER ... GRANT CONNECT command was attempted specifying a
//          role that was password-protected.
// *Action: Specify a role which is not a password-protected role. 
/
28169, 0000, "unsupported certificate type"
// *Cause:  The type of certificate from which the server is to extract the
//          credentials of the client is not supported.
// *Action: Specify a supported type.
/
28170, 0000, "unsupported certificate version"
// *Cause:  The version of the certificate from which the server is to extract
//          the credentials of the client is not supported.
// *Action: Specify a supported version.
/
28171, 0000, "unsupported Kerberos version"
// *Cause: the version the Kerberos ticket which the server is to use to
//         validate the identity of the client is not supported.
// *Action: Specify a supported version.
/
28172, 00000, "distinguished name not provided by proxy"
// *Cause: A client user is to be identified using a distinguished
//          name, but none was provided by the proxy user.
// *Action: Provide a distinguished name.
/
28173, 00000, "certificate not provided by proxy"
// *Cause: A client user is to be identified using a certificate but none
//         was provided by the proxy user.
// *Action: Provide a certificate.
/
28174, 00000, "Kerberos ticket not provided by proxy"
// *Cause: A client user is to be authenticated using a Kerberos ticket but
//         none was provided by the proxy user.
// *Action: Provide a Kerberos ticket.
/
28175, 00000, "incorrect certificate type"
// *Cause: the type of certificate provided by the proxy user to identify
//         a client user does not match the type that is required.
// *Action: Provide a certificate of the correct type.
/
28176, 00000, "incorrect certificate version"
// *Cause: the version of certificate provided by the proxy user to
//         identify a client user does not match the version that is
//         required.
// *Action: Provide a certificate of the correct version.
/
28177, 00000, "incorrect Kerberos ticket version"
// *Cause: the version of Kerberos ticket provided by the proxy user to
//         authenticate a client user does not match the version that is
//         required.
// *Action: Provide a Kerberos ticket of the correct version.
/
28178, 00000, "password not provided by proxy"
// *Cause: A client user is to be authenticated using a database password but
//         none was provided by the proxy user.
// *Action: Provide a password.
/
28179, 00000, "client user name not provided by proxy"
// *Cause: No user name was provided by the proxy user for the client user.
// *Action: Either specify a client database user name, a distinguished name or
//          an X.509 certificate.
/
28180, 00000, "multiple authentication methods provided by proxy"
// *Cause: More than one authentication method was specified by the proxy
//         user for the client user.
// *Action: Specify only one of the following: a client database user name,
//          a distinguished name or an X.509 certificate.
/
28181, 00000, "proxy '%s' failed to enable one or more of the specified initial roles for client '%s'"
// *Cause: Attempt to enable specified initial roles after logon resulted in
//         failure.
// *Action: Check that the initial roles are valid, granted to client, and
//          not password protected.
/
28182, 00000, "cannot acquire Kerberos service ticket for client"
// *Cause: An attempt to use a Kerberos forwardable ticket granting ticket
//         to obtain a Kerberos service ticket failed.
// *Action: Check that the Kerberos forwardable ticket granting ticket
//          belongs to the client, is valid, and that the key distribution
//          center is available.
/
28183, 00000, "proper authentication not provided by proxy"
// *Cause: A client user must be authenticated but
//         no authentication credentials were provided by the proxy user.
// *Action: Provide some form of authentication credentials.
/
28184, 00000, "global user cannot have proxy permissions managed in the directory"
// *Cause: The client name specified was a global user.
// *Action: Use ALTER USER to change the type of user (from IDENTIFIED
//          GLOBALLY to something else, such as IDENTIFIED BY password 
//          or IDENTIFIED EXTERNALLY).
/
28185, 00000, "cannot alter user with administrative privilege to proxy-only connect user"
// *Cause:  An attempt was made to alter a user with administrative privilege to 
//          a proxy-only connect user.
// *Action: This user cannot be altered to proxy-only connect user. 
/
28186, 00000, "cannot grant %s to a proxy-only connect user"
// *Cause:  An attempt was made to grant administrative privilege like SYSDBA,
//          SYSOPER, SYSASM, SYSBACKUP, SYSDG, SYSKM, or SYSRAC to a proxy-only
//          connect user. Since proxy authentication using an administrative
//          privilege is not supported, such grants are not allowed.
// *Action: none
/
28187, 00000,  "cannot alter global user to proxy-only connect user"
// *Cause:  An attempt was made to alter global user to proxy-only connect.
// *Action: none
/
28188, 00000,  "cannot alter user SYS/SYSBACKUP/SYSDG/SYSKM/SYSRAC to be identified as globally"
// *Cause:  An attempt was made to alter SYS/SYSBACKUP/SYSDG/SYSKM/SYSRAC to 
//          be identified as globally.
// *Action: none
28190, 00000, "SYSRAC administrative privilege cannot be granted to other users"
// *Cause:  An attempt was made to grant SYSRAC administrative privilege to a
//          user. This administrative privilege can only be used in operating
//          system authentication and cannot be granted to other users.
// *Action: Use connection string '/ as SYSRAC' from an operating system
//          account in the OSRAC group to connect to the database with the
//          SYSRAC privilege.
28191, 00000, "cannot grant administrative privileges to a user with non-ASCII or non-EBCDIC characters in the user name"
// *Cause:  An attempt to grant privileges to a user failed.
//          Administrative privileges like SYSDBA, SYSOPER, SYSASM, SYSBACKUP,
//          SYSDG, SYSKM, and SYSRAC cannot be granted to a user with non-ASCII
//          or non-EBCDIC characters in the user name.
// *Action: Grant administrative privileges to users that have user names with
//          only ASCII or EBCDIC characters.
/
/ 28200-28230 RESERVED FOR THE APPLICATION ROLE
/
//
28200, 00000, "IDENTIFIED USING already specified"
// *Cause:  The IDENTIFIED USING clause was specified twice.
// *Action: Use only one IDENTIFIED USING clause.
/
28201, 00000, "invalid command to enable secure application role \'%s\'"
// *Cause:  An attempt to enable the secure application role outside of the 
//          scope of the designated package failed.
// *Action: Enable the role using the designated package.
//
//
/
//
//
/
/ 28221-28230 RESERVED FOR PASSWORD/ACCOUNT ENHANCEMENT
/
//
28221, 00000, "REPLACE not specified"
// *Cause:  User is changing password but password verification function is
//          turned on and the original password is not specified and the
//          user does not have the alter user system privilege.
// *Action: Supply the original password.
/
28222, 00000, "may not modify reserved user"
// *Cause:  An attempt was made to change or grant to a reserved user account.
// *Action: None.
//
//
/
28223, 00000, "first login requires password change"
// *Cause: This user was globally authenticated. Password policy settings 
//         in Oracle Internet Directory (OID) requires the password to be 
//         changed for the first connection. Further connections to the 
//         database will be denied if the password in OID is not changed.
// *Action: Connect to the OID to change the password.
/
28224, 00000, "user password or account management tracing event"
// *Document: NO
// *Cause:    This is an internal debugging event and must be enabled
//            only under the supervision of Oracle Support Services
//            or development.
// *Action:   None
/
/ 28230-28260 RESERVED FOR THE OBFUSCATION TOOLKIT
/
28231, 0000, "no data passed to obfuscation toolkit"
// *Cause:  A NULL value was passed to a function or procedure.
// *Action: Make sure that the data passed is not empty.
/
28232, 0000, "invalid input length for obfuscation toolkit"
// *Cause:  Length of data submitted for encryption or decryption is not a
//          multiple of 8 bytes.
// *Action: Make sure that the length of the data to be encrypted or decrypted
//          is a multiple of 8 bytes.
/
28233, 0000, "double encryption not supported"
// *Cause:  The obfuscation toolkit does not support the encryption of
//          already-encrypted data.
// *Action: Do not attempt to encrypt already-encrypted data.
/
28234, 00000, "key length too short"
// *Cause:  The key specified is too short for the algorithm. DES
//          requires a key of at least 8 bytes. Triple DES requires a
//          key of least 16 bytes in two-key mode and 24 bytes in three-key
//          mode.
// *Action: Specify a longer key.
/
28235, 00000, "algorithm not available"
// *Cause:  The encryption algorithm desired is not available.
// *Action: Run the installer to install the needed algorithm in
//          Oracle Advanced Security.
/
28236, 00000, "invalid Triple DES mode"
// *Cause: An unknown value was specified for the mode in which triple
//          DES encryption is to run.
// *Action: Specify a valid value. See the package declaration for a
//          list of valid values.
/
28237, 00000, "seed length too short"
// *Cause:  The seed specified for the key generation routine must be at least
//          80 characters.
// *Action: Specify a longer seed.
/
28238, 00000, "no seed provided"
// *Cause:  A NULL value was passed in as the seed to be used in generating
//          a key.
// *Action: Provide a non-NULL value for the seed.
/
28239, 00000, "no key provided"
// *Cause:  A NULL value was passed in as an encryption or decryption key.
// *Action: Provide a non-NULL value for the key.
/
/ 28261-28270 RESERVED FOR APPLICATION CONTEXT
/
28261, 0000, "CURRENT_USER can not be used in PLSQL Definer's Right procedure."
// *Cause:  An attempt to retrieve CURRENT_USER using SYS_CONTEXT PLSQL
//          interface.
// *Action: Use a SQL statement to query CURRENT_USER inside a DR procedure.
/
28262, 0000, "unused error"
// *Cause:
// *Action:
28263, 0000, "unused error"
// *Cause:
// *Action:
28264, 0000, "Client identifier is too long"
// *Cause:  The length of the client identifier is longer than 64
// *Action: Set  a client identifier whose length is less than 64.
//
/
/
28265, 0000, "Namespace beginning with 'SYS_' is not allowed."
// *Cause:  Namespace beginning with 'SYS_' was not allowed.
// *Action: Use a namespace that does not begin with 'SYS_'.
//
/
28266, 0000, "Application Context tracing event"
// *Document: NO
// *Cause:  N/A
// *Action: Debugging event for KZCTX layer.
/
28267, 0000, "Invalid NameSpace Value"
// *Cause:    Context NameSpace conflicts with reserved key words or
//            a secure  Namespace  is not allowed for this 
//            type of Application Context.
// *Action:   Use a valid namespace.
//
/
28268, 0000, "Exceeded the maximum allowed size for Context information in a session"
// *Cause:    The maximum size specified by the _session_context_size 
//            init.ora parameter was exceeded.
// *Action: Please change the value for _session_context_size in the
//            init.ora file.
//
/
28269, 0000, "Event to enable overwrite of client_identifier when client_info is set"
// *Document: NO
// *Cause:    N/A
// *Action: Set this event in your environment to propagate client_info session 
//          context attribute to client_identifier.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
//
/


/ 28270-28290 RESERVED FOR PASSWORD AUTHENTICATED GLOBAL USER(KZAL)
/
28270, 0000, "Malformed user nickname for password authenticated global user."
// *Cause:  An attempt to login as password-auuthenticated global user with
//          a malformed user nickname.
// *Action: Make sure the nickname is valid and re-login.
/
28271, 0000, "No permission to read user entry in LDAP directory service."
// *Cause:  ORACLE server does not have read permission on user nickname's
//          X.500 user entry.
// *Action: Make sure ORACLE server is using right SSL credentials to connect
//          to LDAP directory services.
//          Make sure permissions for LDAP user entries are right.
/
28272, 0000, "Domain policy restricts password based GLOBAL user authentication."
// *Cause:  Domain policy does not allow password-authenticated GLOBAL users.
// *Action: Make sure ORACLE server is using right SSL credentials to connect
//          to LDAP directory services.
//          Make sure orclDBAuthTypes attributes within Oracle enterprise
//          domain object is either set to PWD or ALL.
/
28273, 0000, "No mapping for user nickname to LDAP distinguished name exists."
// *Cause: ORACLE server cannot map the given user nickname to LDAP
//         distinguished name.
// *Action: Make sure user entries in LDAP are correctly provisioned with
//          correct user nickname attribute values.
/
28274, 0000, "No ORACLE password attribute corresponding to user nickname exists."
// *Cause: LDAP user entry corresponding to user nickname does not have a
//         ORACLE password attribute or the attribute is not initialized.
// *Action: Make sure user entries in LDAP are correctly provisioned with
//          correct ORACLE password attribute values.
/
28275, 0000, "Multiple mappings for user nickname to LDAP distinguished name exist."
// *Cause: The given user nickname maps to more than one LDAP distinguished
//         name.
// *Action: Make sure user nickname is unique within the enterprise.
/
28276, 0000, "Invalid ORACLE password attribute."
// *Cause: The ORACLE password attribute of a user entry has an invalid
//         format.
// *Action: Make sure ORACLE password attribute value is RFC-2307 compliant.
/
28277, 0000, "LDAP search, while authenticating global user with passwords, failed."
// *Cause: The LDAP search for finding the appropriate user entry and ORACLE
//         password failed.
// *Action: Make sure LDAP directory service is up and running.
/
28278, 0000, "No domain policy registered for password based GLOBAL users."
// *Cause: No policy about password authenticated GLOBAL users has been
//         registered.
// *Action: Add attribute orclDBAuthTypes to the database server's Enterprise
//          domain.
/
28279, 0000, "Error reading ldap_directory_access init parameter."
// *Cause: ldap_directory_access parameter is not specified corrrectly.
//
// *Action: Make sure spfile.ora has ldap_directory_access set correctly.
//          Possible correct values are PASSWORD, SSL and NONE.
/
28280, 0000, "Multiple entries for ORACLE database password exist."
// *Cause: The ORACLE password attribute of a user entry has multiple entries
//         of ORACLE database password.
// *Action: Make sure ORACLE password attribute has one entry for ORACLE Database
//          password.
/
28281, 0000, "Global application context is not updated on one or more Oracle RAC instances"
// *Cause:    While updating global application context across Oracle RAC instances,
//            the background process errored out or the timeout expired due to
//            some failure.
// *Action:   Ensure every instance in Oracle RAC is operational and retry the operation.
/


/ 28290 - 28300 RESERVED FOR THE Kerberos Enterprise User Security
/
28290, 00000, "Multiple entries found for the same Kerberos Principal Name"
// *Cause:  Multiple user entries has been configured with the same krbPrincipalName
// *Action: Modify enterprise user's entry to assign its Kerberos principal name
//          Make sure the user entries in LDAP are provisioned correctly.
/
28291, 00000, "No Kerberos Principal Value found."
// *Cause:  Oracle server fails to get value of krbPrincipalName attribute
// *Action: Make sure user entries are correctly provisioned with correct 
//          Kerberos principal value
/
28292, 00000, "No Domain Policy registered for Kerberos based authentication"
// *Cause:  The enterprise domain entry is not configured for Kerberos based 
//         global authentication.
// *Action: Modify orclDBAuthType of the database server's enterprise
//          domain entry and assign it "ALL" or "KRB5"
/
28293, 00000, "No matched Kerberos Principal found in any user entry"
// *Cause:  Oracle server fails to find the principal in the user search base
// *Action: Make sure the user search base is correct.
//          Use ESM to configure the enterprise user its Kerberos principal name
/
/
/ 28300 - 28329 RESERVED FOR THE ENTERPRISE USER SECURITY
/
28300, 00000, "No permission to read user entry in LDAP directory service."
// *Cause:  ORACLE server does not have read permission on user entries.
// *Action: Make sure ORACLE server is using right credentials to connect
//          to LDAP directory services.
//     Make sure permissions for LDAP user entries are configured correctly.
/
28301, 00000, "Domain Policy hasn't been registered for SSL authentication."
// *Cause:   An attempt was made to authenticate with SSL, but the database
//           enterprise domain was not configured for SSL authentication.
// *Action:  Modify orclDBAuthType of the server's enterprise domain entry
//           and assign it "ALL" or "SSL".
/
28302, 00000, "User does not exist in the LDAP directory service."
// *Cause:   An attempt was made to authenticate with SSL using the user's
//           certificate, but there was no user entry in the LDAP server that
//           matched the user's Distinguished Name.
// *Action:  Add an user entry whose DN matches the user's PKI DN in
//           the LDAP directory.
28303, 00000, "Distinguished name for user exceeds maximum supported length"
// *Cause:   The user's distinguished name (DN) exceeded the maximum supported
//           length.
// *Action:  Shorten the user's distinguished name (DN) and retry.
28304, 00000, "Oracle encrypted block is corrupt (file # %s, block # %s)"
// *Cause:   The indicated encrypted block was corrupt. This was an in-memory
//           corruption. The exact cause is unknown. Possible causes could be:
//           - the encryption wallet is incorrect or corrupted
//           - the tablespace encryption key is incorrect or corrupted
//           - decryption engine failure
//           - actual logical error exists in decrypted block
// *Action:  Review the encryption wallet and the keys stored in it to ensure
//           they are valid and correct.
28305, 00000, "WALLET_LOCATION in sqlnet.ora file for container database is not supported."
// *Cause:   WALLET_LOCATION was specified in sqlnet.ora file.
// *Action:  Remove WALLET_LOCATION from sqlnet.ora file. Place the wallet in the 
//           pluggable database-specific default location.
28306, 00000, "Oracle encrypted data block not encrypted (file # %s, block # %s)"
// *Cause:   The indicated data block was found unencrypted in a fully
//           encrypted tablespace.  The exact cause is unknown. Possible
//           causes could be: 
//           - An encrypted data block is tampered and replaced with an
//             unencrypted data block.
//           - An Oracle internal issue.
// *Action:  Collect block dump and redo dump for this block, and contact
//           Oracle Support Services.
//
/
/ 28330-28499 RESERVED FOR TRANSPARENT DATA ENCRYPTION
/
28330, 0000, "encryption is not allowed for this data type"
// *Cause: Data type was not supported for column encryption.
//
// *Action:
//
/
28331, 0000, "encrypted column size too long for its data type"
// *Cause: The column was both encrypted and one of the following:
//         -for VARCHAR2 when extended character data types were disabled,
//           the length specified was > 3932;
//         -for VARCHAR2 when extended character data types were enabled,
//           the length specified was > 32699;
//         -for CHAR, the length specified was > 1932;
//         -for NVARCHAR2 when extended character data types were disabled,
//           the length specified was > 1966;
//         -for NVARCHAR2 when extended character data types were enabled,
//           the length specified was > 16349;
//         -for NCHAR, the length specified was > 966;
//         -for RAW when extended character data types were disabled,
//           the length specified was > 3932;
//         -for RAW when extended character data types were enabled,
//           the length specified was > 32699;
// *Action: Reduce the column size.
//
/
28332, 0000, "cannot have more than one password for the encryption key"
// *Cause: More than one password was specified in the user command.
//
// *Action:
//
/
28333, 0000, "column is not encrypted"
// *Cause: An attempt was made to rekey or decrypt an unencrypted column.
//
// *Action:
//
/
28334, 0000, "column is already encrypted"
// *Cause: An attempt was made to encrypt an encrypted column.
//
// *Action:
//
/
28335, 0000, "referenced or referencing FK constraint column cannot be encrypted"
// *Cause: encrypted columns were involved in the referential constraint
//
// *Action:
//
/
28336, 0000, "cannot encrypt SYS owned objects"
// *Cause: An attempt was made to encrypt columns in a table owned by SYS.
//
// *Action:
//
/
28337, 0000, "the specified index may not be defined on an encrypted column"
// *Cause: Index column was either a functional, domain, or join index.
//
// *Action:
//
/
28338, 0000, "Column(s) cannot be both indexed and encrypted with salt"
// *Cause: An attempt was made to encrypt index column with salt or
//         an attempt was made to create an index on encrypted column with salt.
//
// *Action: Alter the table and specify column encrypting without salt.
//
/
28339, 0000, "missing or invalid encryption algorithm"
// *Cause: Encryption algorithm was missing or invalid in the user command.
//
// *Action: Must specify a valid algorithm.
//
/
28340, 0000, "a different encryption algorithm has been chosen for the table"
// *Cause: Existing encrypted columns were associated with a different algorithm.
//
// *Action: No need to specify an algorithm, or specify the same one for the
//          existing encrypted columns.
/
28341, 0000, "cannot encrypt constraint column(s) with salt"
// *Cause: An attempt was made to encrypt constraint columns with salt.
//
// *Action: Encrypt the constraint columns without salt.
//
/
28342, 0000, "integrity check fails on column key"
// *Cause: Encryption metadata may have been improperly altered.
//
// *Action:
//
/
28343, 0000, "fails to encrypt data"
// *Cause: data or encryption metadata may have been improperly altered or
//         the security module may not have been properly setup
//
// *Action:
//
28344, 0000, "fails to decrypt data"
// *Cause: data or encryption metadata may have been improperly altered or
//         the security module may not have been properly setup
//
// *Action:
//
/
28345, 00000, "cannot downgrade because there exists encrypted column"
// *Cause:   An attempt was made to downgrade when there was an encrypted
//           column in the system.
// *Action:  Decrypt these columns before attempting to downgrade.
/
28346, 00000, "an encrypted column cannot serve as a partitioning column"
// *Cause:   An attempt was made to encrypt a partitioning key column or
//           create partitioning index with encrypted columns.
// *Action:  The column must be decrypted.
/
28347, 00000, "encryption properties mismatch"
// *Cause:  An attempt was made to issue an ALTER TABLE EXCHANGE PARTITION |
//          SUBPARTITION command, but encryption properties were mismatched.
// *Action:  Make sure encrytion algorithms and columns keys are identical.
//           The corresponding columns must be encrypted on both tables with
//           the same salt and non-salt flavor.
/
28348, 0000, "index defined on the specified column cannot be encrypted"
// *Cause: An attempt was made to encrypt a column which is in a functional
//         index, domain index, or join index.
//
// *Action: drop the index
//
/
28349, 0000, "cannot encrypt the specified column recorded in the materialized view log"
// *Cause: An attempt was made to encrypt a column which is already recorded
//         in the materialized view log.
//
// *Action: drop the materialized view log
//
/
28350, 0000, "cannot encrypt the specified column recorded in CDC synchronized change table"
// *Cause: An attempt was made to encrypt a column which is already recorded
//         in CDC synchronized change table.
// *Action: drop the synchronized change table

28351, 0000, "cannot encrypt the column of a cluster key"
// *Cause:  An attempt was made to encrypt a column of the cluster key.
//          A column of the cluster key in a clustered table cannot be
//          encrypted.
// *Action: None

28352, 0000, "Event to force ZT error in kzekm"
// *Document: NO
// *Cause:    N/A
// *Action: Set this event in your environment to simulate a ZT error.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
//
/
28353, 0000, "failed to open wallet"
// *Cause:  The database was unable to open the security module wallet due
//          to an incorrect wallet path or password It is also possible
//    that a wallet has not been created. Type mkwallet from command
//          line for instructions.
// *Action: Execute the command again using the correct wallet password or 
//          verfying a wallet exists in the specified directory. If 
//          necessary, create a new wallet and initialize it.
/
28354, 0000, "Encryption wallet, auto login wallet, or HSM is already open"
// *Cause:  Encryption wallet, auto login wallet, or HSM was already opened.
// *Action: None.
//          
/
28355, 0000, "failed to initialize security module"
// *Cause:
//
// *Action: 
//          
/
28356, 0000, "invalid open wallet syntax"
// *Cause:  The command to open the wallet contained improper spelling
//          or syntax.
// *Action: If attempting to open the wallet, verify the spelling and
//          syntax and execute the command again.
/
28357, 0000, "password required to open the wallet"
// *Cause:  A password was not provided when executing the open wallet
//          command.
// *Action: Retry the command with a valid password.
/
28358, 0000, "improper set key syntax"
// *Cause:  The command to set the master key contained improper spelling
//          or syntax.
// *Action: If attempting to set the master key for Transparent Database
//          Encryption, verify the spelling and syntax and execute
//          the command again.
/
28359, 0000, "invalid certificate identifier"
// *Cause:  The certificate specified did not exist in the wallet.
// *Action: Query the V$WALLET fixed view to find the proper certificate
//          identifier for certificate to be used.
/
28360, 0000, "security module internal error"
// *Cause:
//
// *Action: 
//          
/
28361, 0000, "master key not yet set"
// *Cause:  The master key for the instance was not set.
// *Action: Execute the ALTER SYSTEM SET KEY command to set a master key
//          for the database instance.
/
28362, 0000, "master key not found"
// *Cause:  The required master key required could not be located. This may
//          be casued by the use of an invalid or incorrect wallet.
// *Action: Check wallet location parameters to see if they specify the
//          correct wallet. Also, verify that an SSO wallet is not being used
//          when an encrypted wallet is intended.
28363, 0000, "buffer provided not large enough for output"
// *Cause:  A provided output buffer is too small to contain the output.
// *Action: Check the size of the output buffer to make sure it is initialized
//    to the proper size.
/
28364, 0000, "invalid wallet operation"
// *Cause:  The command to operate the wallet contained improper spelling
//          or syntax.
// *Action: Verify the spelling and syntax and execute the command again.
/
28365, 0000, "wallet is not open"
// *Cause:  The security module wallet has not been opened.
// *Action: Open the wallet.
/          
28366, 0000, "invalid database encryption operation"
// *Cause:  The command for database encryption contained improper spelling
//          or syntax.
// *Action: Verify the spelling and syntax and execute the command again.
/
28367, 0000, "wallet does not exist"
// *Cause:  The Oracle wallet has not been created or the wallet location
//          parameters in sqlnet.ora specifies an invalid wallet path.
// *Action: Verify that the WALLET_LOCATION or the ENCRYPTION_WALLET_LOCATION
//          parameter is correct and that a valid wallet exists in the path
//          specified.
/
28368, 0000, "cannot auto-create wallet"
// *Cause:  The database failed to auto create an Oracle wallet. The Oracle
//          process may not have proper file permissions or a wallet may
//          already exist.
// *Action: Confirm that proper directory permissions are granted to the Oracle
//          user and that neither an encrypted or obfuscated wallet exists in
//          the specified wallet location and try again.
/
28369, 0000, "cannot add files to encryption-ready tablespace when offline"
// *Cause:  You attempted to add files to an encryption-ready tablespace when
//          all the files in the tablespace were offline.
// *Action: Bring the tablespace online and try again
//         
/
28370, 0000, "ENCRYPT, DECRYPT or REKEY option not allowed"
// *Cause:  An attempt was made to specify the ENCRYPT, DECRYPT or REKEY option
//          on an unsupported tablespace.
// *Action: Remove this option and retry the statement.
//         
/
28371, 0000, "ENCRYPTION clause or ENCRYPT option not allowed"
// *Cause:  An attempt was made to specify the ENCRYPTION clause or 
//          ENCRYPT option for system and undo tablespaces.
// *Action: Remove one or both of these options and retry the statement.
//         
/
28372, 0000, "missing ENCRYPT option for encrypted tablespace"
// *Cause:  An attempt was made to specify the ENCRYPTION property for the 
//          CREATE TABLESPACE statement without specifying the ENCRYPT option 
//          to encrypt the tablespace.
// *Action: Add the ENCRYPT option and retry the statement.
//         
/
28373, 0000, "missing or out of order ENCRYPTION clause"
// *Cause:  An attempt was made to specify the ENCRYPT or DECRYPT option in the 
//          CREATE TABLESPACE statement or to specify the ENCRYPT or REKEY
//          option in the ALTER TABLESPACE statement without first specifying 
//          the ENCRYPTION property for the tablespace.
// *Action: Add the ENCRYPTION clause or correct the syntax, and retry the 
//          statement.
//
/
28374, 0000, "typed master key not found in wallet"
// *Cause:  You attempted to access encrypted tablespace or redo logs with
//          a typed master key not existing in the wallet.
// *Action: Copy the correct Oracle Wallet from the instance where the tablespace
//          was created.
//         
/
28375, 0000, "cannot perform cross-endianism conversion on encrypted tablespace"
// *Cause:  You attempted to perform cross-endianism conversion on encrypted
//          tablespace.
// *Action: Cross-endianism conversion on encrypted tablespace is not supported.
//         
/
28376, 0000, "cannot find PKCS11 library"
// *Cause:  The HSM vendor's library cannot be found.
// *Action: Place the HSM vendor's library in the following directory structure:
//          For Unix like system:
//          /opt/oracle/extapi/[32,64]/hsm/{VENDOR}/{VERSION}/lib<apiname>.<ext>
//          For Windows systems:
//          %SYSTEM_DRIVE%\oracle\extapi\[32,64]\hsm\{VENDOR}\{VERSION}\lib<apin//          ame>.<ext>
//          [32, 64]  - refers to 32bit or 64bit binary.
//          {VENDOR}  - The name of the vendor supplying the library.
//          {VERSION} - Version of the library, perferably in num#.num#.num# for//                      mat.
/
28377, 0000, "No need to migrate from wallet to HSM"
// *Cause:  There are either no encrypted columns or all column keys are already
//          encrypted with the HSM master key. 
// *Action: No action required.
/
28378, 0000, "Wallet not open after setting the Master Key"
// *Cause:   The Master Key has been set or reset. However, wallet could not be
//           reopened successfully.
// *Action:  Reopen the wallet.
/
28379, 0000, "a different integrity algorithm has been chosen for the table"
// *Cause: Encrypted columns were associated with a different algorithm.
//
// *Action: You do not need to specify an algorithm, or specify the same 
//          one for the existing encrypted columns.
/
28380, 00000, "Event to force all newly created tablespaces to be encrypted for testing"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to force all newly created 
//          tablespaces to be encrypted tablespaces. It is an easy way to  
//          convert an existing test to run with tablespace encryption. It is 
//          used for testing only and not for security. Often run with event
//          28381.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
/
28381, 00000, "Event to bypass wallet setup for tablespace encryption"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to bypass wallet setup for 
//          tablespace encryption. It uses a dummy encryption master key to 
//          simulate encryption or decryption by the wallet, and has no wallet 
//          dependency. It is an easy way to convert an existing test to run 
//          with tablespace encryption. It is used for testing only and not for 
//          security. Often run with event 28380.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED. 
/
28382, 00000, "Global wallet operation in RAC failed"
// *Cause: Wallet operation in RAC failed.
// *Action: Check V$WALLET_ENCRYPTION table to verify if the wallet operation
//          succeeded on any instance. Retry the operation.
/
28383, 00000, "cannot do a PKI certificate-based Master Key migration"
// *Cause:  A PKI certificate-based Master Key migration was not allowed.
// *Action: Execute a symmetric Master Key migration.
/
28384, 0000, "cannot perform Tablespace Encryption"
// *Cause:  Tablespace Encryption was attempted when PKI certificate-based 
//          Master Key was in use.
// *Action: Perform a symmetric Master Key Rekey.
/
28385, 0000, "cannot perform a PKI certificate-based migration"
// *Cause:  A PKI certificate-based migration to HSM was attempted.  
// *Action: Perform a symmetric Master Key migration.
/
28386, 0000, "cannot perform a PKI certificate-based Master Key Rekey"
// *Cause:  A PKI certificate-based Master Key Rekey was attempted when
//          Tablespace Encryption or HSM was in use.
// *Action: Perform a symmetric Master Key Rekey or disable Tablespace 
//          Encryption for all tablespaces.
/
28387, 00000, "Could not acquire an enqueue for wallet operation in Oracle RAC"
// *Cause: Enqueue to block TDE operations in Oracle RAC database could 
//         not be obtained.
// *Action: Retry the wallet operation.
/
28388, 00000, "database is not open in read/write mode"
// *Cause:   Database was not open in read/write mode and could not perform
//           these wallet operations.
// *Action:  Open the database in read/write mode and retry this command.
/
28389, 00000, "cannot close auto login wallet" 
// *Cause:   Auto login wallet could not be closed because it was opened with
//           another wallet or HSM requiring a password.
// *Action:  Close the wallet or HSM with a password.
/
28390, 00000, "auto login wallet not open but encryption wallet may be open"
// *Cause:   Auto login wallet was not open. But, the encryption wallet may 
//           still be open and subsequent TDE operations might succeed.
// *Action:  If auto login wallet is closed but TDE operations succeed, 
//           check the status of the encryption wallet and close that if
//           required. 
/
28391, 00000, "cannot close wallet or HSM, password mismatch" 
// *Cause:   Password provided did not match the password of the open
//           wallet or HSM.
// *Action:  Provide the correct password for wallet or HSM to 
//           close the wallet or HSM.
/
28392, 0000, "invalid close wallet syntax"
// *Cause:  The command to close the wallet contained improper spelling
//          or syntax.
// *Action: If attempting to close the wallet, verify the spelling and
//          syntax and execute the command again.
/
28393, 0000, "password required to close the wallet"
// *Cause:  A password was not provided when executing the close wallet
//          command.
// *Action: Retry the command with a valid password.
/
28394, 0000, "decryption of data of length %s failed"
// *Cause:  Decryption of data failed. Error may be due to plain text data in 
//          an external file being submitted for decryption, data encrypted 
//          with a different key or a utility being submitted for decryption, 
//          or TDE encrypted data in data files being corrupted.
// *Action: Verify that the correct external file is being specified or contact 
//          Oracle Support Services.  

28395, 0000, "could not write the new master key to the wallet"
// *Cause:  An attempt was made to write the new master key to the wallet. The 
//          wallet or the parent directory may not have the proper file
//          permissions to write the master key in the wallet.  
// *Action: Check the password-based wallet, auto login wallet, the parent 
//          directory permissions and disk space availability on the file 
//          system. Make sure that the Oracle processes have read/write 
//          permissions on the password-based and auto login wallets. Retry 
//          the command.
/
28396, 0000, "rekey of enc$ dictionary table failed"
// *Cause:  One or more master keys required for the rekey operation could
//          not be found in the wallet. Either incorrect master key identifiers
//          were inserted into the enc$ dictionary table or the wallet
//          containing the referenced master keys were improperly modified
//          or deleted.
// *Action: Restore the most recent copy of the wallet and try again.
/
28397, 0000, "cannot bring file %s online since it has a passphrase-wrapped key"
// *Cause:  The encrypted tablespace file was rewrapped using passphrase
//          through the DBMS_TTS.PASSPHRASE_REWRAP_KEY procedure. Therefore it
//          cannot be part of the database until it is converted by RMAN.
//
// *Action: Do not attempt to bring files with passphrase-wrapped keys online.
/
28398, 0000, "cannot rewrap encryption key for this file"
// *Cause:  Cannot rewrap encryption key for this file because it was not 
//          from an encrypted tablespace, or it had already been rewrapped.
//
// *Action: Verify that the file is a copy of a file from an encrypted 
//          tablespace.
/
28399, 00000, "Event to disable automatic TDE wallet management in RAC"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to disable the automatic 
//          management of wallet in RAC.
/
28400, 00000, "Event to enable TDE tracing"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to obtain trace information
//          for Transparent Data Encryption.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.


28402, 00000, "Event to disable restriction on 'grant any object privilege' system privilege"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to allow user with 'grant any
//          object privilege' system privilege to grant privilege on a view 
//          that the view owner is permitted to grant, even if the view owner
//          does not have the privilege with 'with grant option' on the 
//          underlying objects. It would otherwise raise ORA-01720.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.


28403, 00000, "file %s cannot be modified because it is an online data file"
// *Cause:  An attempt was made to modify an online data file when the file was
//          not expected to be part of the database.
// *Action: Check the status of the file and its tablespace and make sure it
//          is offline or is a copy of a data file


28404, 00000, "role cannot be altered"
// *Cause:  An attempt was made to alter the role to become a global, external, 
//          password protected, or secure application role. The role could not 
//          be altered because it was already granted to one or more other 
//          roles or program units.
// *Action: Use REVOKE to revoke the role from other roles first.


28405, 00000, "cannot grant secure role to a role"
// *Cause:  Role granted was a password protected or secure application role.
//          This role can only be granted directly to a user.
// *Action: Grant the role directly to a user.


28406, 00000, "Event to keep connection made by database to OID open when enterprise user logs into database"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to keep connection made by 
//          database to OID open when enterprise user logs into database.
//          Default behaviour is to close the connection once enterprise user
//          logs into database.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
//        TRANSLATED OR DOCUMENTED.
28407, 0000, "Hardware Security Module failed with PKCS#11 error %s(%s)"
// *Cause:  The Hardware Security Module (HSM) connection may have been lost 
//          or another internal HSM error was reached.
// *Action: Check the error. For more information on the error, check the trace 
//          files and try the following:
//          1) Retry the command. If the error repeats, go to step 2.
//          2) Verify that the HSM is configured correctly and connected.
//             Retry the command. If the error repeats, go to step 3.
//          3) Ask your Security Officer to close and open the security
//             module. Retry the command. If the error repeats, go to step 4.
//          4) Bounce the database if possible. Retry the command. 
//             If the error repeats, contact Oracle Support Services or your
//             HSM vendor's support.

28408, 00000, "encryption using passphrase failed"
// *Cause:  Encryption with the passphrase failed which was likely due to an invalid
//          or missing passphrase or due to an internal error.
// *Action: Verify that the passphrase is provided and try the operation again. If
//          the problem persists contact Oracle Support Services.
28409, 00000, "decryption using passphrase failed"
// *Cause:  Decryption with the passphrase failed which was likely due to an invalid
//          or missing passphrase or due to an internal error.
// *Action: Verify that the passphrase is provided and try the operation again. If
//          the problem persists contact Oracle Support Services.
/
/
28410, 0000, "No need to migrate from HSM to wallet."
// *Cause:  There were either no encrypted columns or all column keys were
//          already encrypted with the wallet master key. 
// *Action: No action required.
/
28411, 0000, "auto login wallet cannot be open during migration"
// *Cause:  Auto login wallet could not be opened during migration.
// *A