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

【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 was called with a parameter
//           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 computed a value for the
//           output 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

"
// *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 _arg made before calling dbms_defer.call"
// *Cause: User invoked _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 =
//   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 =
//   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 = '';
/
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 <> '') AND
//         (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, "<>"
// *Cause:
// *Action:
// 27530, 00000, "<>"
// *Cause:
// *Action:
// 27531, 00000, "<>"
// *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, "<>"
// *Cause:
// *Action:
// 27534, 00000, "<>"
// *Cause:
// *Action:
// 27535, 00000, "<>"
// *Cause:
// *Action:
// 27536, 00000, "<>"
// *Cause:
// *Action:
// 27537, 00000, "<>"
// *Cause:
// *Action:
// 27538, 00000, "<>"
// *Cause:
// *Action:
// 27539, 00000, "<>"
// *Cause:
// *Action:
// 27540, 00000, "<>"
// *Cause:
// *Action:
// 27541, 00000, "<>"
// *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/ is no longer a valid syntax
// *Action:   Try connect SYS/ as SYSDBA or
//            connect SYS/ 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 BY ON BEHALF OF
//           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 GRANT CONNECT THROUGH
//          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 GRANT CONNECT THROUGH
//           WITH ALL ROLES EXCEPT
// *Action: Execute the command ALTER USER GRANT CONNECT THROUGH
//          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.
//          For Windows systems:
//          %SYSTEM_DRIVE%\oracle\extapi\[32,64]\hsm\{VENDOR}\{VERSION}\lib.
//          [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.
// *Action: Close the auto login wallet and try the migration again.
/
28412, 0000, "cannot determine the database migration status"
// *Cause:  The migration status of the database could not be determined.
// *Action: Verify if the migration status is correct in props$ and, if not,
//          correct it. Shutdown and startup the database.
/
28414, 0000, "specified keys are in HSM"
// *Cause:  Master key rekey or activation failed because the keys were in 
//          Hardware Security Module(HSM) but the configuration indicated that
//          the keys were in wallet.
// *Action: Correct the sqlnet.ora configuration to HSM or migrate to wallet.
/
28415, 0000, "specified keys are in wallet"
// *Cause:  Master key rekey or activation failed because the keys were in 
//          wallet but the configuration indicated that the keys were in 
//          Hardware Security Module(HSM).
// *Action: Correct the sqlnet.ora file configuration to wallet or migrate 
//          to HSM.
/
28416, 0000, "specify the correct keystore in the sqlnet.ora file"
// *Cause:  The keystore specified in the sqlnet.ora file was incorrect.
// *Action: When migrating to HSM, the keystore specified in sqlnet.ora file
//          should be HSM and similarly when migrating to wallet, the keystore
//          specified in sqlnet.ora should be wallet. Check if the sqlnet.ora 
//          file configuration is correct and, if not, correct it.
/
28417, 0000, "password-based keystore is not open"
// *Cause:  Password-based keystore was not opened.
// *Action: Close the auto login keystore, if required, and open a 
//          password-based keystore.
/
28418, 0000, "password-based HSM is not open"
// *Cause:  Password-based HSM was not opened.
// *Action: Close the auto login keystore, if required, and open a
//          password-based HSM.
/
28419, 00000, "migration from wallet to Hardware Security Module (HSM) failed"
// *Cause:  The TDE_MASTER_KEY_ID entry did not exist in props$ table.
//          A subsequent attempt to add TDE_MASTER_KEY_ID entry into
//          props$ failed.
// *Action: Verify why the TDE_MASTER_KEY_ID entry was deleted from the props$
//          table. Retry the command.
/
28420, 00000, "cannot open resetlogs from a restore point prior to wallet creation"
// *Cause:  The open resetlogs, open read-only, or standby activation operation 
//          failed because the restore point is prior to the wallet creation, and
//          the data file does not contain the database key information as stored
//          in the control file.
// *Action: Restore to a restore point after the wallet creation, or rebuild the
//          control file with existing data files.
/
28421, 00000, "cannot FINISH a tablespace encrypt, decrypt or rekey command which has not started"
// *Cause:  The ALTER TABLESPACE FINISH [ENCRYPT | DECRYPT | REKEY] command 
//          did not find a failed attempt for tablespace encrypt, decrypt or 
//          rekey.
// *Action: Check if tablespace already has a desired key version and reissue
//          the command without FINISH keyword if necessary.
/
28422, 00000, "operation disallowed: concurrent master key rekey"
// *Cause:    Concurrent master key rekey was detected.
// *Action:   Wait for the master key rekey operation to complete and retry
//            the command.
//
/
28423, 00000, "current operation disallowed: %s tablespace is being encrypted, decrypted, or rekeyed"
// *Cause:    The specified tablespace was being concurrently encrypted,
//            decrypted, or rekeyed.
// *Action:   Wait for the concurrent operation to complete and retry the command.
//
/
28424, 00000, "ENCRYPT, DECRYPT or REKEY option already specified"
// *Cause: In the CREATE or ALTER TABLESPACE statement, the ENCRYPT, DECRYPT
//         or REKEY option was specified more than once.
// *Action: Remove all but one of the ENCRYPT, DECRYPT or REKEY options.
/
28425, 00000, "missing a valid FILE_NAME_CONVERT clause"
// *Cause: A valid FILE_NAME_CONVERT clause was not specified with the 
//         ALTER TABLESPACE [ENCRYPT | DECRYPT | REKEY] statement. The 
//         FILE_NAME_CONVERT clause is required unless Oracle Managed Files
//         are being used.
// *Action: Specify a valid FILE_NAME_CONVERT clause and retry the command.
/
28426, 00000, "must FINISH a tablespace encrypt, decrypt or rekey command first"
// *Cause:  The ALTER TABLESPACE [ENCRYPT | DECRYPT | REKEY] command found a
//          previously failed attempt for tablespace encrypt, decrypt or rekey.
// *Action: Issue the ALTER TABLESPACE FINISH [ENCRYPT | DECRYPT | REKEY] command
//          to complete the attempt for tablespace encrypt, decrypt or rekey.
/
28427, 00000, "cannot create, import or restore unencrypted tablespace: %s in Oracle Cloud"
// *Cause:  User tablespaces were not encrypted. Oracle Cloud mandates all
//          user tablespaces must be encrypted.
// *Action: Create, import or restore an encrypted tablespace instead.
/
28428, 00000, "cannot encrypt or decrypt a data file in mount mode when the database is open elsewhere"
// *Cause:  An attempt was made to encrypt or decrypt a data file in mount mode
//          when the database was already opened by another Oracle RAC instance.
// *Action: Ensure that the database is not open anywhere and retry the command.
/
28429, 00000, "cannot encrypt or decrypt a data file on standby when it is open read-only"
// *Cause:  An attempt was made to encrypt or decrypt a data file on a standby
//          database when it was already opened in read-only mode.
// *Action: Restart the standby instance in mount mode and retry the command.
/
28430, 00000, "cannot encrypt or decrypt a data file for online tablespace %s"
// *Cause:  An attempt was made to encrypt or decrypt a data file for an
//          online tablespace.
// *Action: Bring the tablespace offline and retry the command.
/
28431, 00000, "cannot encrypt an already encrypted data file %s"
// *Cause:  An attempt was made to encrypt a data file that was already encrypted
//          in an encrypted tablespace.
// *Action: Check if the data file belongs to an encrypted tablespace.
/
28432, 00000, "cannot encrypt data file %s in seed pluggable database"
// *Cause:  An attempt was made to encrypt a data file that was part of a seed
//          pluggable database, which is not allowed.
// *Action: Check if the data file belongs to a seed pluggable database.
/
28433, 00000, "mismatched encryption property between data file %s and tablespace %s"
// *Cause:  Either an unencrypted data file in an encrypted tablespace or an 
//          encrypted data file in an unencrypted tablespace was found.
//          When bringing a tablespace online or opening the database,
//          all data files in an encrypted tablespace must be encrypted, and
//          all data files in an unencrypted tablespace must be unencrypted.
// *Action: Encrypt all of the data files in the tablespace before resuming the 
//          operation.
/
28434, 00000, "cannot decrypt an unencrypted data file %s"
// *Cause:  An attempt was made to decrypt a data file that was unencrypted.
// *Action: Check if the data file belongs to an encrypted tablespace.
/
28435, 00000, "cannot decrypt data file %s which is not encrypted with the database key"
// *Cause:  An attempt was made to decrypt a data file that was not encrypted
//          with the database key. Only data files encrypted with the ALTER
//          DATABASE DATAFILE ENCRYPT or ALTER TABLESPACE ENCRYPTION OFFLINE
//          ENCRYPT statement are encrypted with the database key.
// *Action: Check if the data file belongs to an encrypted tablespace with a
//          different key from the database key in the V$DATABASE_KEY_INFO
//          view, or use the ALTER TABLESPACE ENCRYPTION ONLINE DECRYPT
//          statement instead.
/
28436, 00000, "cannot encrypt data file %s in SYSTEM or SYSAUX tablespace"
// *Cause:  An attempt was made to encrypt a data file that was a part of the
//          SYSTEM or SYSAUX tablespace, which is not allowed in compatibility
//          lower than 12.2.
// *Action: Check if the data file belongs to SYSTEM or SYSAUX tablespace, or
//          change the database compatibility to 12.2 or later.
/
28437, 00000, "unexpected FILE_NAME_CONVERT clause with Oracle Managed Files"
// *Cause:  A FILE_NAME_CONVERT clause was specified with the 
//          ALTER TABLESPACE [ENCRYPT | DECRYPT | REKEY] statement, which is not
//          allowed when the database is using Oracle Managed Files.
// *Action: Remove the FILE_NAME_CONVERT clause and retry the command.
/
28438, 00000, "ALTER TABLESPACE %s ENCRYPTION %s%s operation not complete"
// *Cause:  The ALTER TABLESPACE [ENCRYPT | DECRYPT | REKEY] command started
//          but could not complete for all the data files of this tablespace.
// *Action: Check if all the data files are online and if the specified
//          FILE_NAME_CONVERT clause covers all the data files of this
//          tablespace, and retry the command with FINISH keyword.
/
28439, 00000, "cannot close wallet when SYSTEM, SYSAUX, UNDO, or TEMP tablespaces are encrypted"
// *Cause:  An attempt was made to close the wallet for a database
//          with an encrypted SYSTEM, SYSAUX, UNDO, or TEMP tablespace.
// *Action: Decrypt the tablespace and retry the command.
/
28440, 00000, "cannot offline encrypt or decrypt data file %s - file is in use or recovery"
// *Cause:  An attempt was made to offline encrypt or decrypt a data file
//          that was online in an open instance, being encrypted or decrypted
//          by another session, or was being recovered. 
// *Action: Ensure that the tablespace is offline and no other encrypt or
//          decrypt operation is performed on this data file, and end all
//          recovery sessions.
28441, 00000, "RMAN clone instance cannot open wallet"
// *Cause:  The RMAN clone instance failed to open the auto login wallet in an
//          operation such as a pluggable database (PDB) or tablespace
//          point-in-time recovery because the auto login wallet was
//          incorrectly configured, or did not exist.
// *Action: Check and correct the auto-login wallet configuration or create
//          an auto-login wallet from the password wallet, and retry the
//          operation.
/ 28500-28749 RESERVED FOR THE HETEROGENEOUS SERVICES
/
28500, 00000, "connection from ORACLE to a non-Oracle system returned this message:"
// *Cause:    The cause is explained in the forwarded message.
// *Action:   See the non-Oracle system's documentation of the forwarded
//            message.
//
28501, 00000, "communication error on heterogeneous database link"
// *Cause:  An unexpected communication failure occurred
//          on a heterogeneous database link to a non-Oracle system.
//          The message above will be followed by a second message generated
//          by the connected non-Oracle system.
// *Action: See the documentation for the non-Oracle system
//          for an explanation of the second error message.
//
28502, 00000, "internal communication error on heterogeneous database link"
// *Cause:  A communication error internal to ORACLE's heterogeneous
//          services has occurred.
// *Action: Contact Oracle customer support.
//
28503, 00000, "bind value cannot be translated into SQL text for non-Oracle system"
// *Cause:  A SQL statement used bind variables on a Heterogenous Services
//          database link to a non-Oracle system, but the non-Oracle system
//          does not support bind variables.
// *Action: Change your SQL statement so that it does not use bind variables.
//
28504, 00000, "ROWID not found in ROWID cache for heterogeneous database link"
// *Cause:  The ROWID cache for Heterogeneous Services held no entry that
//          corresponds to the specified ROWID. The ROWID entry may have been
//          overwritten in the ROWID cache.
// *Action: Enlarge the Heterogeneous Services ROWID cache size by increasing
//          the value of the Heterogenous Services initialization parameter
//          HS_ROWID_CACHE_SIZE.
//
28505, 00000, "cannot get non-Oracle system capabilities from %s"
// *Cause:  ORACLE was unable to retrieve capability information
//          for the non-Oracle system connected through a heterogeneous
//          database link.  This capability information should be
//          stored in data dictionary tables viewable with the
//          HS_CLASS_CAPS or HS_INST_CAPS data dictionary views.
// *Action: Contact the DBA to check the server data dictionary table
//          named in the error message.  If table contents are
//          incorrect, the DBA should restore all data dictionary content for
//          this FDS_CLASS_NAME and/or FDS_INST_NAME.  It usually is
//          sufficient to delete all current data dictionary content for this
//          class and/or instance and initiate a new connection
//          to let the connected agent upload new data dictionary content
//          to the server.
//
28506, 00000, "parse error in data dictionary translation for %s stored in %s"
// *Cause:  A reference to an ORACLE data dictionary table or view name
//          on a heterogeneous database link to a non-Oracle system
//          could not be translated. The ORACLE data dictionary tables
//          shown with view HS_CLASS_DD contain invalid SQL for the data
//          dictionary translation.
// *Action: Contact customer support of the agent vendor.
//
28507, 00000, "error in data dictionary view %s"
// *Cause:  The initialization parameter table for the Heterogeneous Services
//          was not available, or its structure (number of columns or
//          column types) was incorrect.
// *Action: Verify correct installation of the following Heterogeneous Services'
//          initialization parameter views: HS_CLASS_INIT and HS_INST_INIT.
//          If these views are not available, make sure you ran the
//          script CATHS.SQL in the $ORACLE_HOME/rdbms/admin directory.
//
28508, 00000, "invalid value %s for Heterogeneous Services initialization parameter %s"
// *Cause:  The specified Heterogeneous Services initialization parameter
//          had an invalid value when attempting to connect to a non-Oracle
//          system.
// *Action: Check the Heterogeneous Services and agent documentation to
//          determine acceptable values
//
28509, 00000, "unable to establish a connection to non-Oracle system"
// *Cause:   Initialization of a database link to a non-Oracle system
//           failed to connect to the Heterogeneous Services agent
//           process for this non-Oracle system.
// *Action:  Check the Net8 service name definition in the following
//           places:
//           --  the USING clause of the CREATE DATABASE LINK statement
//           --  the TNSNAMES.ORA file
//           --  the Oracle Names Server
//
//           The following are possible reasons for name mismatches:
//            --  The USING clause in the CREATE DATABASE LINK statement has
//                to match the service name defined in the TNSNAMES.ORA file
//                or in the Oracle Names Server.
//            --  The protocol-specific information in the service name
//                definition must match the protocol-specific definition
//                of the responding listener.
//            --  The SID= in the service name definition
//                (in the TNSNAMES.ORA file or in Oracle Names Server) must
//                match the value in the LISTENER.ORA file for the responding
//                listener.
//
28510, 00000, "heterogeneous database link initialization failed"
// *Cause:  Initialization of a heterogeneous database link to a
//          non-Oracle system failed due to an error identified
//          by the agent for this non-Oracle system.
// *Action: Make sure the non-Oracle system is up and running and that
//          all of the environment and initialization values for the agent
//          are set correctly.
//
28511, 00000, "lost RPC connection to heterogeneous remote agent using SID=%s"
// *Cause:  A fatal error occurred in one of the following places:
//          -- the connection between the ORACLE server and the agent
//          -- the heterogeneous services remote agent itself
//          -- the connection to the non-Oracle system
//          This error occurred after communication had been established
//          successfully.
// *Action: Check for network problems and remote host crashes. The problem is
//          probably in the agent software. If so, contact a customer support
//          representative of the agent vendor.
//
28512, 00000, "cannot get data dictionary translations from %s"
// *Cause:  ORACLE was unable to retrieve data dictionary translation
//          information for the non-Oracle system connected through a
//          heterogeneous database link.  This data dictionary translation
//          information should be stored in data dictionary tables viewable
//          with the HS_CLASS_DD or HS_INST_DD data dictionary views.
// *Action: Ask your DBA to check the server data dictionary table
//          named in the error message.  If table contents are
//          incorrect, the DBA should restore all data dictionary content for
//          this FDS_CLASS_NAME and/or FDS_INST_NAME.  It usually is
//          sufficient to delete all current data dictionary content for this
//          class and/or instance and initiate a new connection
//          to let the connected agent upload new data dictionary content
//          to the server.
//
28513, 00000, "internal error in heterogeneous remote agent"
// *Cause:  An internal error has occurred in the Oracle remote agent
//          supporting a heterogeneous database link.
// *Action: Make a note of how the error was produced and contact the
//          customer support representative of the agent vendor.
//
28514, 00000, "heterogeneous database link initialization could not convert system date"
// *Cause:  The system date was not retrievable.
// *Action: Verify that the ORACLE server's host machine and operating system
//          are operational.  This error should not occur unless low level
//          system functions are failing.
//
28515, 00000, "cannot get external object definitions from %s"
// *Cause:  ORACLE was unable to retrieve definitions of distributed external
//          procedures or remote libraries registered for the non-Oracle system
//          instance, probably because the underlying data dictionary table
//          does not exist or is malformed.
// *Action: Verify that the ORACLE server's Heterogeneous Services
//          data dictionary was installed correctly. If the Heterogeneous
//          Services data dictionary is not installed, execute the CATHS.SQL
//          script in the $ORACLE_HOME/rdbms/admin directory.
//
28518, 00000, "data dictionary translation has illegal translation type"
// *Cause:  A data dictionary translation definition, either in the ORACLE
//          server data dictionary or in data dictionary content uploaded
//          from a Heterogeneous Services agent, specified an illegal
//          translation type code.  Legal values are 'T' or 't' for
//          'translate', 'M' or 'm' for 'mimic'.  Information on the exact
//          data dictionary translation causing the error is written
//          to a trace (*.TRC) file for the ORACLE instance and to
//          the ORACLE instance's alert log.  This error occurs
//          when a Heterogeneous Services agent uploads data dictionary
//          content to an ORACLE server on the first connection from the server
//          to the agent.
// *Action: Contact the customer support of the agent vendor.
//
28519, 00000, "no heterogeneous data dictionary translations available"
// *Cause:  The ORACLE server's data dictionary did not define data dictionary
//          translations for the connected non-Oracle system, and automatic
//          self-registration (data dictionary upload) was disabled.
// *Action: Ask a DBA to resolve this problem.  The easiest solution is
//          to enable automatic self-registration by setting the ORACLE
//          server's HS_AUTO_REGISTER initialization parameter to TRUE.
//          An alternative is to load the Heterogeneous Services
//          data dictionary with information specific for the non-Oracle
//          system by executing a SQL script supplied by the agent vendor.
//          If the script is run and the error persists, contact the
//          customer support representative of the agent vendor.
//
28520, 00000, "error initializing heterogeneous data dictionary translations"
// *Cause:  ORACLE was unable to retrieve data dictionary translations for
//          the non-Oracle system instance, probably because the underlying
//          data dictionary table does not exist or is formed incorrectly.
// *Action: Verify that the ORACLE server's Heterogeneous Services
//          data dictionary was installed correctly. If the Heterogeneous
//          Services data dictionary is not installed, execute the CATHS.SQL
//          script in the $ORACLE_HOME/rdbms/admin directory. If the connected
//          agent, identified by FDS_CLASS_NAME, requires a custom installation
//          script for the ORACLE server, verify that the script has been run.
//          If both scripts were executed and the error persists, contact the
//          customer support representative of the agent vendor.
//
28521, 00000, "no heterogeneous capability information available"
// *Cause:  The ORACLE server's data dictionary did not contain
//          capability definitions for the connected non-Oracle system,
//          and automatic self-registration (data dictionary upload)
//          was disabled.
// *Action: Ask a DBA to resolve this problem.  The easiest resolution is
//          to enable automatic self-registration by setting the ORACLE
//          server's HS_AUTO_REGISTER initialization parameter to TRUE.
//          An alternative is to load the Heterogeneous Services
//          data dictionary with information specific for the non-Oracle
//          system by executing a SQL script supplied by the agent vendor.
//          If the script is run and the error persists, contact the
//          customer support representative of the agent vendor.
//
28522, 00000, "error initializing heterogeneous capabilities"
// *Cause:  ORACLE was unable to retrieve capability definitions for
//          the non-Oracle system instance, probably because the underlying
//          data dictionary table does not exist or is formed incorrectly.
// *Action: Verify that the ORACLE server's Heterogeneous Services
//          data dictionary was installed correctly. If the Heterogeneous
//          Services data dictionary is not installed, execute the CATHS.SQL
//          script in the $ORACLE_HOME/rdbms/admin directory.  If the connected
//          agent, identified by FDS_CLASS_NAME, requires a custom installation
//          script for the ORACLE server, verify that the script has been run.
//          If both scripts were executed and the error persists, contact the
//          customer support representative of the agent vendor.
//
28523, 00000, "ORACLE and heterogeneous agent are incompatible versions"
// *Cause:  An operation on a database link attempted to connect to
//          a non-Oracle system, but the ORACLE instance and the
//          agent process for the non-Oracle system are incompatible.
// *Action: Ask your DBA to confirm configuration of both the ORACLE
//          instance and the agent.  Additional information on the
//          version incompatibility is logged in trace (*.TRC) files,
//          the ORACLE instance and the agent, and in the ORACLE
//          instance's alert log. Check the documentation for your agent
//          to find out which releases of the Oracle Server are supported.
//
28525, 00000, "unable to create Heterogeneous Services error message text"
// *Cause:  Incorrect arguments were passed into the error message
//          creation routine.
// *Action: Contact Oracle customer support.
//
28526, 00000, "invalid describe information returned to Heterogeneous Services"
// *Cause:  The Heterogeneous Services received invalid describe
//          information for a select list, bind list, or stored procedure
//          from the Heterogeneous Services agent. This indicates a problem
//          with the Heterogeneous Services' non-Oracle system agent.
// *Action: Contact customer support of the agent vendor.
//
28527, 00000, "Heterogeneous Services datatype mapping error"
// *Cause:  Either an Oracle datatype could not be mapped to a non-Oracle
//          datatype, or a non-Oracle datatype could not be mapped
//          to an Oracle datatype. These mappings are defined as
//          capability definitions in the ORACLE server's data dictionary.
// *Action: Verify that the ORACLE server's data dictionary has been
//          initialized with correct capability definitions for the connected
//          FDS_CLASS_NAME and FDS_INST_NAME. If table contents are incorrect,
//          a DBA should restore all data dictionary content for this
//          FDS_CLASS_NAME and/or FDS_INST_NAME. It usually is sufficient
//          to delete all current data dictionary content for this class and/or
//          instance and initiate a new connection to let the connected agent
//          upload new data dictionary content to the server.  If the error
//          persists contact the customer support representative of the agent
//          vendor.
//
28528, 00000, "Heterogeneous Services datatype conversion error"
// *Cause:  Either an Oracle datatype could not be converted to a non-Oracle
//          datatype, or a non-Oracle datatype could not be converted
//          to an Oracle datatype. The following are possible reasons for
//          for the conversion failure:
//          --  overflow problems (in the case of numbers)
//          --  length limitations (in the case of character strings)
//          --  invalid values passed into the conversion routines
// *Action: Contact customer support of the agent vendor. If the problem is
//          due to size discrepancies between Oracle and the non-Oracle system,
//          it may not be possible to convert the value.
//
28529, 00000, "invalid or missing parameter in Net8 service name definition"
// *Cause:  There was an invalid or missing Heterogeneous Services parameter
//          in the Net8 service name definition stored in either the
//          TNSNAMES.ORA file or in the Oracle Names Server.
// *Action: Ask your DBA to make sure the information in the Net8 service
//          definition is correct and complete. The correct information that
//          should be included in the Net8 service definition can be found in
//          the agent's documentation.
//
28530, 00000, "Heterogeneous Services initialization error in NLS language ID"
// *Cause:  Heterogeneous Services was unable to initialize an NLS language ID.
//          Both the ORACLE server and the Heterogeneous Services agent for the
//          connected non-Oracle system must have language IDs.
// *Action: Contact Oracle customer support.
//
28533, 00000, "Heterogeneous Services coercion handling error"
// *Cause:  The Heterogeneous Services encountered an error in coercion
//          handling. The HS can, if the agent vendor so chooses, perform
//          extra processing on SQL statements that contain implicit
//          coercions or that contain coercion functions such as TO_CHAR,
//          TO_NUMBER or TO_DATE. This functionality is controlled by
//          coercion-related capabilities. HS logic reports this error
//          when it encounters an error in one of these capability
//          definitions.
// *Action: The capability table settings are controlled by the agent
//          vendor and can be modified by the DBA. Contact your DBA and
//          agent vendor and get the correct set of capabilities installed.
//
28534, 00000, "Heterogeneous Services preprocessing error"
// *Cause:  One of the things that the Heterogeneous Services can do is
//          to preprocess parts of SQL statements that contain implicit
//          coercions or calls to explicit coercion functions like TO_CHAR
//          TO_NUMBER or TO_DATE. For example, it could convert a call to
//          TO_DATE to a bind variable, pre-evaluate the TO_DATE function
//          call and pass the resulting value to the non-Oracle system as
//          the bind value. This behavior is controlled by some coercion
//          related capabilities. If the capabilities are set incorrectly,
//          the HS could encounter errors when it attempts to do the
//          preprocessing. If it does then this error will be signaled.
// *Action: The capability table settings are controlled by the agent
//          vendor and can be modified by the DBA. Contact your DBA and
//          agent vendor and get the correct set of capabilities installed.
//
28535, 00000, "invalid Heterogeneous Services context"
// *Cause:  A Heterogeneous Services agent's driver module called
//          an HS service routine with an invalid HS context value.
//          This probably is a logic error in the driver.
// *Action: Contact Oracle customer support or your agent vendor.
//
28536, 00000, "error in processing Heterogeneous Services initialization parameters"
// *Cause:   An error described by a subsequent error message
//           prevented successful processing of Heterogeneous Services
//           initialization parameters from the ORACLE server data dictionary.
// *Action:  Check server data dictionary views HS_CLASS_INIT, HS_INST_INIT, and
//           HS_ALL_INITS.  Look for conditions which could produce
//           the error identified in the error message immediately
//           following this one.
//
28537, 00000, "no more result sets"
// *Cause:   This error code was used internally within Oracle Database
//           Gateway and Heterogeneous Services code and should not be
//           reported to a client program.
// *Action:  Contact Oracle customer support.
//
28538, 00000, "result set not found"
// *Cause:   The client program tried fetching from a result set that is not
//           open anymore. Many gateways will, on execution of a stored procedure,
//           automatically close all result sets that were returned by any
//           previously executed stored procedure.
// *Action:  Check the documentation for the gateway that you are using and see
//           if it will automatically close currently open result sets each time
//           a stored procedure is executed. Then check if your client program is
//           doing anything that violates this rule. If it is, fix your program. If
//           it is not then contact Oracle customer support.
//
28539, 00000, "gateway does not support result sets"
// *Cause:   The client program tried executing a stored procedure that returns
//           one or more result sets through a gateway that does not have result
//           set support.
// *Action:  Check the documentation for the gateway that you are using and see
//           if it supports result sets returned from stored procedures. If it
//           does not, then the only way of accessing such stored procedures is
//           to upgrade to a version of the gateway that does support result
//           sets (if such a version exists). If the gateway does have result set
//           support and you are still seeing this error then contact Oracle
//           customer support.
//
28540, 00000, "internal result set error"
// *Cause:   A protocol error internal to Heterogeneous Services or Oracle
//           Database Gateway code has occurred.
// *Action:  Contact Oracle customer support.
//
28541, 00000, "Error in HS init file on line %d.\n"
// *Cause:   A syntax error occurred in the gateway initialization file.
// *Action:  Check gateway init file to correct the syntax error.
//           For further information, check the error message in the gateway
//           trace file.
//
28542, 00000, "Error in  reading HS init file \n"
// *Cause:   Reading the gateway init file generated an error.
// *Action:  Check the gateway initialization file name to see that the
//           gateway initialization file acctually exists.
//           Check the ifile parameter to see that it points to the correct
//           location.
//
28543, 00000, "Error initializing apply connection to non-Oracle system"
// *Cause:   Attempt to initialize connection to non-Oracle for heterogeneous
//           replication failed.
// *Action:  Check if the listener used to connect to the gateway is up and is
//           correctly configured. Make sure that the database link used has
//           been configured correctly and, if a tnsnames alias has been used
//           in the database link definition, make sure that the configuration
//           of the entry in tnsnames.ora has been done correctly.
//
28544, 0000, "connect to agent failed, probable Net8 administration error"
// *Cause:   Net8 reported a failure to make a RSLV connection or
//           a protocol mode error when the Oracle server attempted
//           to establish communication with a Heterogeneous Services
//           agent or an external procedure agent.  This usually is due
//           to an administration error in setting up Net8 service definitions
//           in TNSNAMES.ORA or LISTENER.ORA:  A basic network connection
//           is opened, but it connects to a program which does not use
//           the appropriate protocol.  This often is a sign that the
//           connection goes to the wrong program.
// *Action:  Check Net8 administration in the following ways:
//           --  When using TNSNAMES.ORA or an Oracle Names server, make sure
//               that the connection from the ORACLE server uses the correct
//               service name or SID.
//           --  Check LISTENER.ORA on the agent's host machine to assure that
//               the service name or SID refers to the correct agent
//               executable in its (PROGRAM=...) clause.
//           --  Confirm in TNSNAMES.ORA or the equivalent service definition
//               that sevice 'extproc_connection_data' does NOT contain
//               (HS=), or that the service definition used by a
//               Heterogeneous Services database link DOES contain (HS=).
//
28545, 0000, "error diagnosed by Net8 when connecting to an agent"
// *Cause:   An attempt to call an external procedure or to issue SQL
//           to a non-Oracle system on a Heterogeneous Services database link
//           failed at connection initialization.  The error diagnosed
//           by Net8 NCR software is reported separately.
// *Action:  Refer to the Net8 NCRO error message.  If this isn't clear,
//           check connection administrative setup in tnsnames.ora
//           and listener.ora for the service associated with the
//           Heterogeneous Services database link being used, or with
//           'extproc_connection_data' for an external procedure call.
//
28546, 0000, "connection initialization failed, probable Net8 admin error"
// *Cause:   A failure occurred during initialization of a network connection
//           from the Oracle server to a second process:  The connection
//           was completed but a disconnect occurred while trying to
//           perform protocol-specific initialization, usually due to
//           use of different network protocols by opposite sides
//           of the connection.  This usually is caused by incorrect
//           Net8 administrative setup for database links or external
//           procedure calls.   The most frequent specific causes are:
//           --  Database link setup for an Oracle-to-Oracle connection
//               instead connects to a Heterogeneous Services agent
//               or an external procedure agent.
//           --  Database link setup for a Heterogeneous Services connection
//               instead connects directly to an Oracle server.
//           --  The extproc_connection_data definition in tnsnames.ora
//               connects to an Oracle instance instead of an external
//               procedure agent.
//           --  Connect data for a Heterogeneous Services database link,
//               usually defined in tnsnames.ora, does not specify (HS=).
//           --  Connect data for an Oracle-to-Oracle database link,
//               usually defined in tnsnames.ora, specifies (HS=).
// *Action:  Check Net8 administration in the following ways:
//           --  When using TNSNAMES.ORA or an Oracle Names server, make sure
//               that the connection from the ORACLE server uses the correct
//               service name or SID.
//           --  Check LISTENER.ORA on the connection end point's host machine
//               to assure that this service name or SID connects to the
//               correct program.
//           --  Confirm in TNSNAMES.ORA or the equivalent service definition
//               that service 'extproc_connection_data' does NOT contain
//               (HS=), or that the service definition used by a
//               Heterogeneous Services database link DOES contain (HS=).
//
28547, 0000, "connection to server failed, probable Oracle Net admin error"
// *Cause:   A failure occurred during initialization of a network connection
//           from a client process to the Oracle server.  The connection
//           was completed but a disconnect occurred while trying to
//           perform protocol-specific initialization, usually due to
//           use of different network protocols by opposite sides
//           of the connection.  This usually is caused by incorrect
//           Oracle Net administrative setup for database links or external
//           procedure calls.   The most frequent specific causes are:
//           --  The connection uses a connect string which refers
//               to a Heterogeneous Services agent instead of
//               an Oracle server.
//           --  The connection uses a connect string which includes
//               an (HS=) specification.
//           --  Hitting Ctrl+C before connection initialization is
//               complete.
//           --  Using DRCP on Windows with SQLNET.AUTHENTICATION_SERVICES
//               set to NTS.
//           --  Connection timeout due to SQLNET.INBOUND_CONNECT_TIMEOUT
//               parameter when all shared servers are busy in
//               shared server configuration.
// *Action:  Check Oracle Net administration in the following ways:
//           --  When using TNSNAMES.ORA or an Oracle Names server, make sure
//               that the client connection to the Oracle server uses
//               the correct service name or SID.
//           --  Check LISTENER.ORA on the connection end point's host machine
//               to assure that this service name or SID refers
//               to the correct server.
//           --  Confirm in TNSNAMES.ORA or the equivalent service definition
//               that the connect string does not contain (HS=).
//           --  Set SQLNET.AUTHENTICATION_SERVICES to NONE when using DRCP
//               on Windows.
//
28550, 00000, "pass-through SQL: cursor not found"
// *Cause:   A value passed to a pass-through SQL function or procedure call
//           as a cursor does not identify a currently open cursor.
// *Action:  Use a cursor number returned by the pass-through SQL
//           OPEN_CURSOR call.
//
28551, 00000, "pass-through SQL: SQL parse error"
// *Cause:   A non-Oracle system rejected text supplied as a
//           pass-through SQL statement.
// *Action:  Ensure that the SQL supplied to the pass-through SQL
//           PARSE call is legal for the non-Oracle system.
//
28552, 00000, "pass-through SQL: call flow error"
// *Cause:   A pass-through SQL function was called in an invalid order.
// *Action:  Correct program flow by changing the order of API calls
//           to match the flow described in the manual.
//
28553, 00000, "pass-through SQL: invalid bind-variable position"
// *Cause:   A pass-through SQL function referring to the position
//           of a bind variable in the currently-parsed SQL statement
//           supplied an invalid bind-variable position.  Valid
//           values are 1 through n, where n is the number of
//           bind-variable place-holders in the SQL text.
// *Action:  Verify that the bind-variable position parameter is in
//           the correct range to represent a place-holder in the
//           SQL text. Confirm that the SQL text uses the correct
//           syntax for a bind-variable place-holder, as required
//           by the non-Oracle system.
//
28554, 00000, "pass-through SQL: out of cursors"
// *Cause:   The maximum number of open cursors has been exceeded.
// *Action:  Close open cursors by using the pass-through SQL
//           CLOSE_CURSOR function.
//
28555, 00000, "pass-through SQL: required parameter missing or NULL"
// *Cause:   An attempt was made to pass a NULL value to a non-NULL parameter.
// *Action:  Use a non-NULL value for the parameter.
//
28556, 00000, "authorization insufficient to access table"
// *Cause:   A query attempted to access a table in the non-Oracle system
//           that is either privileged or has privileged columns.
// *Action:  Contact the DBA for the non-Oracle system. The DBA can
//           grant permission to access the privileged table or columns.
//
28557, 00000, "unknown %s for database link to non-Oracle system"
// *Cause:   When attempting to connect to a non-Oracle system
//           through a Heterogeneous Services database link,
//           the agent supporting this non-Oracle system failed to return
//           FDS_CLASS_NAME and/or FDS_INST_NAME. ORACLE requires these
//           names to configure the heterogeneous database link.
// *Action:  Contact the DBA to check setup of the connection and
//           the Heterogeneous Services agent.
//
28558, 00000, "HS_FDS_CONNECT_STRING undefined for non-Oracle system"
// *Cause:   A database link to a non-Oracle system had no
//           HS_FDS_CONNECT_STRING initialization parameter in the ORACLE
//           server's data dictionary for Heterogeneous Services. Without
//           this parameter, the connection could not be completed.
// *Action:  Contact your DBA to verify correct setup of an
//           HS_FDS_CONNECT_STRING entry in the ORACLE Heterogeneous Services
//           data dictionary.
//
28559, 00000, "FDS_CLASS_NAME is %s, FDS_INST_NAME is %s"
// *Cause:   An associated error was reported in another message, and this
//           message supplies supplementary information to assist
//           diagnosis of that error. FDS_CLASS_NAME and FDS_INST_NAME are used
//           to access information in tables and views of the ORACLE data
//           dictionary that direct operation of Heterogeneous Services on
//           a database link to a non-Oracle data store.
// *Action:  Use the FDS_CLASS_NAME and FDS_INST_NAME values
//           to check ORACLE data dictionary contents when necessary
//           to diagnose the cause of the associated error.
//
28560, 0000, "error in configuration of agent process"
// *Cause:   An ORACLE server invoked a function not supported
//           by the connected agent (Heterogeneous Services
//           or external procedures). The most probable cause is
//           incorrect Net8 setup, resulting in use of the wrong
//           agent executable.
// *Action:  Check Net8 administration in the following ways:
//           --  When using TNSNAMES.ORA or an Oracle Names server, make sure
//               that the connection from the ORACLE server uses the correct
//               SID.
//           --  Check LISTENER.ORA on the agent's host machine to assure that
//               this SID refers to the correct agent executable in its
//               (PROGRAM=...) clause.
28561, 00000, "unable to set date format on non-Oracle system"
// *Cause:   Initialization of a Heterogeneous Services connection
//           to set the date format to be used on the connected
//           non-Oracle system.
// *Action:  If the Oracle data dictionary supplies a value for
//           the HS_NLS_DATE_FORMAT parameter, confirm that this value
//           is formatted correctly by the rules of the non-Oracle system.
//           Also check for additional information in log and trace
//           files generated by the Heterogeneous Services agent.
28562, 00000, "Heterogeneous Services data truncation error"
// *Cause:   A select operation was attempted with an insufficient data buffer
//           to satisfy the request.
// *Action:  Contact your DBA to verify whether your gateway initialization
//           parameter HS_KEEP_REMOTE_COLUMN_SIZE is set appropriately based
//           on your requirement.  If it is, make sure the sizes of bind
//           parameters are sufficient.
//           If the problem persists, contact Oracle Support Services. 
/
/ 28575 - 28600 reserved for untrusted and distributed external procedures
/
28575, 00000, "unable to open RPC connection to external procedure agent"
// *Cause:   Initialization of a network connection to the extproc agent did
//           not succeed. This problem can be caused by network problems,
//           incorrect listener configuration, or incorrect transfer code.
// *Action:  Check listener configuration in LISTENER.ORA and TNSNAMES.ORA, or
//           check Oracle Names Server.
//
28576, 00000, "lost RPC connection to external procedure agent"
// *Cause:  A fatal error occurred in either an RPC network connection,
//          the extproc agent, or the invoked 3GL after communication had
//          been established successfully.
// *Action: First check the 3GL code you are invoking; the most likely
//          cause of this error is abnormal termination of the
//          invoked "C" routine. If this is not the case, check for
//          network problems. Correct the problem if you find it. If all
//          components appear to be normal but the problem persists, the
//          problem could be an internal logic error in the RPC transfer
//          code.  Contact your customer support representative.
//
28577, 00000, "argument %s of external procedure %s has unsupported datatype %s"
// *Cause:  While transferring external procedure arguments to the agent,
//          an unsupported datatype was detected.
// *Action: Check your documentation for the supported datatypes of external
//          procedure arguments.
//
28578, 00000, "protocol error during callback from an external procedure"
// *Cause:  An internal protocol error occurred while trying to execute a
//          callback to the Oracle server from the user's 3GL routine.
// *Action: Contact Oracle customer support.
//
28579, 00000, "network error during callback from external procedure agent"
// *Cause:  An internal network error occurred while trying to execute a
//          callback to the Oracle server from the user's 3GL routine.
// *Action: Contact Oracle customer support.
//
28580, 00000, "recursive external procedures are not supported"
// *Cause:  A callback from within a user's 3GL routine resulted in the
//          invocation of another external procedure.
// *Action: Make sure that the SQL code executed in a callback does not directly
//          call another external procedure, or indirectly results in another
//          external procedure, such as triggers calling external
//          procedures, PL/SQL procedures calling external procedures, etc.
//
28581, 00000, "protocol error while executing recursive external procedure"
// *Cause:  An internal protocol error occurred while trying to execute an
//          external procedure resulting from a callback in another external
//          procedure.
// *Action: Contact Oracle customer support.
//
28582, 00000, "a direct connection to this agent is not allowed"
// *Cause:  A user or a tool tried to establish a direct connection to either
//          an external procedure agent or a Heterogeneous Services agent,
//          for example: "SVRMGR> CONNECT SCOTT/TIGER@NETWORK_ALIAS". This type
//          of connection is not allowed.
// *Action: When executing the CONNECT statement, make sure your database link
//          or network alias is not pointing to a Heterogeneous Option agent or
//          an external procedure agent.
//
28583, 00000, "remote references are not permitted during agent callbacks"
// *Cause:  A Heterogeous Services agent issued a callback to the Oracle server
//          which attemted to to access a remote system.  This is not supported.
// *Action: Make sure that SQL code issued by Heterogeneous Services agents
//          does not reference a database link.
//
28584, 00000, "heterogeneous apply internal error"
// *Cause:  The apply slave process encountered an error while trying to
//          apply changes through a gateway to a non-Oracle system.
// *Action: Make sure that the apply database link is correctly configured and
//          that the gateway listener and the non-Oracle system are correctly
//          set up and are up and running. If everything is configured correctly
//          and the problem still occurs, contact Oracle customer support.
//
// errors 28590 - 28599 are reserved for the HS agent control utility
//
28590, 00000, "agent control utility: illegal or badly formed command"
// *Cause:  The user has issued an unrecognized or syntactically incorrect
//          command.
// *Action: Refer to documentation and correct the syntax of the command.
//
28591, 00000, "agent control utility: unable to access parameter file"
// *Cause:  The agent control utility was unable to access its parameter
//          file. This could be because it could not find its admin
//          directory or because permissions on directory were not correctly
//          set.
// *Action: The agent control utility puts its parameter file in either
//          the directory pointed to by the environment variable AGTCTL_ADMIN
//          or in the directory pointed to by the environment variable
//          TNS_ADMIN. Make sure that at least one of these environment
//          variables is set and that it points to a directory that the
//          agent has access to.
//
28592, 00000, "agent control utility: agent SID not set"
// *Cause:  The agent needs to know the value of the AGENT_SID parameter
//          before it can process any commands. If it does not have a
//          value for AGENT_SID then all commands will fail.
// *Action: Issue the command SET AGENT_SID and then retry the
//          command that failed.
//
28593, 00000, "agent control utility: command terminated with error"
// *Cause:  An error occurred during the processing of the command. There
//          could be several causes. A SET or an UNSET command could have
//          been issued after the agent was started. This is illegal. The
//          user may have attempted to start two agents with the same SID
//          value or the user could have attempted to shutdown an agent
//          that is no longer running.
// *Action: If the user wishes to issue a SET or an UNSET command, he should
//          make sure the agent is shutdown first by issuing the SHUTDOWN
//          command.
//
28594, 00000, "agent control utility: invalid parameter name"
// *Cause:  The user tried to set or unset an invalid agent parameter.
// *Action: Refer to documentation and correct the parameter name.
//
28595, 00000, "Extproc agent : Invalid DLL Path"
// *Cause:  The path of DLL supplied for the extproc execution is invalid.
// *Action: Check if the DLL path is set properly using the EXTPROC_DLLS
//          environment variable.
//
28596, 00000, "Extproc agent : Invalid or disabled credential %s"
// *Cause:  The credentail of the PL/SQL library supplied for the extproc execution is invalid.
// *Action: Check if the credentail of the PL/SQL library is valid and enabled.
//
// errors 28600 - 28620 are reserved for bitmap indexes
//
28601, 00000, "invalid [no]MINIMIZE option"
// *Cause:  user didn't type this
//            alter table MINIMIZE RECORDS_PER_BLOCK
//          or
//            alter table NOMINIMIZE RECORDS_PER_BLOCK
// *Action: reenter correct sql command
//
28602, 00000, "statement not permitted on tables containing bitmap indexes"
// *Cause:  table has bitmap indexes and user is minimizing or
//          nominimizing records_per_block
// *Action: drop all bitmap indexes before changing records_per_block
//
//
28603, 00000, "statement not permitted on empty tables"
// *Cause:  table is empty and statement does not work on empty tables
// *Action: try statement after loading your data
//
28604, 00000, "table too fragmented to build bitmap index (%s,%s,%s)"
// *Cause:  The table has one or more blocks that exceed the maximum number
//          of rows expected when creating a bitmap index. This is probably
//          due to deleted rows. The values in the message are:
//          (data block address, slot number found, maximum slot allowed)
// *Action: Defragment the table or block(s). Use the values in the message
//          to determine the FIRST block affected. (There may be others).
28605, 00000, "bitmap indexes cannot be reversed"
// *Cause:  user tried to create reverse bitmap index
// *Action: don't do this; it is not supported
//
28606, 00000, "block too fragmented to build bitmap index (%s,%s)"
// *Cause:  The block(s) exceed the maximum number of rows expected when
//          creating a bitmap index. This is probably
//          due to maximum slot allowed set too low.
//          The values in the message are:
//          (slot number found, maximum slot allowed)
// *Action: alter system flush shared_pool; update tab$ set spare1 = 8192
//          where obj# = (select obj# from obj$ where NAME= AND
//          owner# = ; commit;
28611, 00000, "bitmap index is corrupted - see trace file for diagnostics"
// *Cause: Validate Index detected bitmap corruption in its argument index
// *Action: Drop this bitmap index and create a new one.
//
//
/  28650 - 28699 - Reserved for IOTs
//
28650, 00000, "Primary index on an IOT cannot be rebuilt"
// *Cause:  An attempt is made to issue alter index rebuild on IOT-TOP
// *Action: Use Alter table MOVE to reorganize the table(IOT)
28651, 00000, "Primary index on IOTs can not be marked unusable"
// *Cause:  An attempt is made to mark IOT-TOP unusable thru ALTER INDEX
// *Action: Remove the option UNUSABLE
//


28652, 00000, "overflow segment attributes cannot be specified"
// *Cause: During ALTER MOVE ONLINE of a index-organized table, the user
//        attempted to enter one or more of the following options:
//        OVERFLOW, PCTTHRESHOLD,INCLUDING.
// *Action: Remove the illegal option(s).


28653, 00000, "tables must both be index-organized"
// *Cause: Attempt to exchange a non IOT table/partition with a partition/table
//         respectively
// *Action: Ensure that non-partitioned and partitioned tables are both
//          index-organized.


28654, 00000, "table and partition not overflow compatible"
// *Cause: If one of the tables (partitioned/non-partitioned) has overflow
//         data segment and the other one doesn't.
// *Action: Ensure that non-partitioned and partitioned tables both
//          have overflow data segment or neither one does.
28655, 00000, "Alter table add overflow syntax error"
// *Cause: Syntax error
// *Action: Check the syntax.
28656, 00000, "incomplete attribute specification"
// *Cause: The attribute specification is not done for all partitions"
// *Action: Specify the storage attributes either for ALL partitions or NONE
// NLS_DO_NOT_TRANSLATE [28657,28657]
28657, 00000, "Allow IOT w/o overflow though overflow is required"
// *Cause: N/A
// *Action: THIS IS NOT A USER ERROR NUMBER/MESSAGE.  THIS DOES NOT NEED TO BE
//          TRANSLATED OR DOCUMENTED. IT IS USED ONLY BY IMPORT CODE.
28658, 00000, "This operation is supported only for Index-Organized tables"
// *Cause: Attempt to perform some IOT specific operation on a non-IOT
// *Action: don't do this. This is not supported
28659, 00000, "COMPRESS must be specified at object level first"
// *Cause: Attempt to specify COMPRESS at partition level
//         without first specifying at the table level
// *Action: Specify COMPRESS at table level. Use ALTER TABLE xxx
//          MODIFY DEFAULT ATTRIBUTES COMPRESS ...
28660, 00000, "Partitioned Index-Organized table may not be MOVEd as a whole"
// *Cause: Attempt to MOVE partitioned IOT as a whole
// *Action: don't do this. This is not supported
28661, 00000, "Object already has COMPRESS clause specified"
// *Cause: Attempt to specify compress for iot/index which already
//         has a compression clause.
// *Action: This is a 'create time only' attribute
28662, 00000, "IOT index and overflow segments must share the same LOGGING attribute"
// *Cause: Attempt to specify LOGGING for one segment and NOLOGGING for the other segment.
// *Action: don't do that
28663, 00000, "Logging/Nologging attribute can not be specified in the statement ALTER TABLE ADD OVERFLOW"
// *Cause: Attempt to specify LOGGING for a Alter Table Add Overflow.
// *Action: don't do that
28664, 00000, "a partitioned table may not be coalesced as a whole"
// *Cause:  User attempted to coalesce a partitioned IOT using
//          ALTER TABLE COALESCE statement, which is illegal
// *Action: Coalesce the table a partition at a time (using
//          ALTER TABLE MODIFY PARTITION COALESCE)
28665, 00000, "table and partition must have same compression attribute"
// *Cause:  User attempted to EXCHANGE a compression enabled
//          partition with a compression disabled table or vice versa
//          OR the # of columns compressed is different for table and partition
// *Action: Make sure the compression attributes match
//          If they don't, fix it using ALTER TABLE MOVE [PARTITION] COMPRESS
28666, 00000, "option not allowed for an index on UROWID column(s)"
// *Cause:  User attempted to build a REVERSE or COMPRESSED or GLOBAL
//          partitioned index on UROWID column(s)
// *Action: Build the index without these options
28667, 00000, "USING INDEX option not allowed for the primary key of an IOT"
// *Cause:  User attempted to define storage attributes for the primary key
//          index of an Index-Organized table with USING INDEX clause. All
//          the storage attribute defined for the (IOT)table applies to the
//          primary key index and a separate USING INDEX clause is not
//          required.
// *Action: Remove the USING INDEX clause and specify all attributes directly
//          for the table
28668, 00000, "cannot reference mapping table of an index-organized table"
// *Cause:  An attempt to directly access the mapping table of an
//          index-organized table
// *Action: Issue the statement against the parent index-organized table
//          containing the specified mapping table.
28669, 00000, "bitmap index can not be created on an IOT with no mapping table"
// *Cause:  User attempted to create a bitmap index on an index-organized
//          table without a mapping table.
// *Action: Enable bitmap indexes on the Index-organized table by creating a
//          mapping table using 'ALTER TABLE .. MOVE MAPPING TABLE'.
28670, 00000, "mapping table cannot be dropped due to an existing bitmap index"
// *Cause:  User attempted to drop the mapping table with NOMAPPING option
//          when the IOT has one or more bitmap indexed.
// *Action: Drop the bitmap index(es) before dropping the mapping table.
28671, 00000, "UPDATE BLOCK REFERENCES may not be used on a partitioned index as a whole"
// *Cause:  User attempted to UPDATE BLOCK REFERENCES on a partitioned index
//          using ALTER INDEX UPDATE BLOCK REFERENCES statement, which is
//          illegal.
// *Action: Issue a partition level operation with
//          ALTER INDEX .. PARTITION .. UPDATE BLOCK REFERENCES
28672, 00000, "UPDATE BLOCK REFERENCES may not be used on a global index"
// *Cause:  User attempted to UPDATE BLOCK REFERENCES on a global partitioned
//          or non-partitioned index. This feature is not supported for
//          non-partitioned or global partitioned index on a partitioned IOT
//          and a global partitioned index on a non-partitioned IOT.
// *Action: Use online index [partition] rebuild to fix the block references
28673, 00000, "Merge operation not allowed on an index-organized table"
// *Cause:  User attempted merge operation on an index-organized table. Merge
//          is not supported on a IOT .
// *Action: Use updates and inserts on index-organized table .
28674, 00000, "cannot reference transient index-organized table"
// *Cause:  An attempt was made to directly access a transient table created
//          created on behalf of a index-organized table partition maintenance
//          operation.
// *Action: Issue the statement against the associated permanent
//          index-organized table.
/
/ 28700-28799 RESERVED FOR CODE-BASED ACCESS CONTROL
/
28700, 00000, "Only roles can be attached to or detached from program units."
// *Cause:  An attempt was made to grant object privileges or system privileges
//          to program units.
// *Action: Grant the privileges to a role first, and then grant the role to
//          the program units.
/
28701, 00000, "Keyword PROCEDURE, FUNCTION, or PACKAGE is either missing or not correct."
// *Cause:  The keyword PROCEDURE, FUNCTION, or PACKAGE was either missing 
//          before the program unit, or it was not consistent with the type of 
//          the program unit.
// *Action: Include the correct keyword PROCEDURE, FUNCTION or PACKAGE right 
//          before each program unit according to its type. 
/
28702, 00000, "Program unit %s is not owned by the grantor."
// *Cause:  An attempt was made to attach roles to or detach roles from one or 
//          more program units by someone other than the owner or SYS. Only a 
//          program unit owner or SYS can attach roles to or detach roles from 
//          a program unit.
// *Action: Specify only the program units owned by the grantor in the command.
/
28703, 00000, "Only regular database roles can be attached to or detached from program units."
// *Cause:  An attempt was made to attach non-supported types of 
//          roles to or detach them from program units. Application roles, 
//          secure application roles, external roles, global roles, and 
//          light-weight roles cannot be attached to or detached from program 
//          units.
// *Action: Remove any application role, secure application role, external role,
//          global role, and light-weight role from the command.
/
28704, 00000, "Role %s is not directly granted to the owner of the program units."
// *Cause:  An attempt was made to attach roles that were not directly granted 
//          to the owner of the program units. The roles must be granted to the
//          owner directly in order to attach them to the owner's program units.
// *Action: Grant the role to the owner of the program unit first.
/
28705, 00000, "The grantor does not have privileges to grant the role %s to the program units."
// *Cause:  Privileges to grant a role to a program unit were insufficient.
//          The grantor must have the GRANT ANY ROLE privilege or the ADMIN
//          option or the DELEGATE option for the role to do the operation.
// *Action: Obtain the required privilege and retry.
/
28706, 00000, "duplicate program unit %s found in list"
// *Cause:  A duplicate program unit was found in the GRANTEE clause.
// *Action: Specify each program unit only once.
/
28707, 00000, "Reserved word ALL was used with roles in the REVOKE command to detach roles from program units."
// *Cause:  An attempt was made to use reserved word ALL jointly with roles 
//          in a REVOKE command to detach roles from program units.
// *Action: Do not specify roles in the privilege clause except for the 
//          reserved word ALL.
/
28708, 00000, "More than %s roles were attached to the program unit."
// *Cause:  Too many roles were currently attached to the program unit. 
// *Action: Detach some roles from the program unit. 
/
28709, 00000, "Roles with DELEGATE option can only be granted to users."
// *Cause:  One of the grantees was not a user when trying to grant roles with the DELEGATE option.
// *Action: Verify that the grantees are users and try the operation again.
/


/ $Header: security_src/mesg/nze1us.msg /main/22 2012/03/08 18:53:43 tnallath Exp $ 
/ $Header: security_src/mesg/nze1us.msg /main/22 2012/03/08 18:53:43 tnallath Exp $ 

/ Copyright (c) 1997, 1999, 2000, 2001 by Oracle Corporation 
/   NAME
/     nzeus.msg - Network Zecurity Error messages - american (US) language
/   DESCRIPTION
/     Contains error messages for the Oracle Security Server
/   RETURNS
/     None.
/
/   NOTES
/   MODIFIED   (MM/DD/YY)
/      tnallath 02/15/12 - nzupg12: enable fips
/      bhmathur 03/02/05 - Bug 2220658 Fix 
/      rchahal  11/23/04 - changes suggested by errors_us
/      rchahal  10/11/04 - pkcs11 enhancement messages
/      skalyana 08/22/03 - Error message changes
/      skalyana 05/28/03 - Errors to be documented
/      rchahal  08/14/03 - crl error messages 
/      skalyana 03/07/03 - Add messages for FIPS errors
/      skalyana 12/06/02 - Ad SSL Plus 4.2 error messages
/      supriya  10/30/01 - Fix for bug # 1691606
/      supriya  10/08/01 - Fix for bug # 1691606
/      vle      02/16/01 - fix err mesg for 29002,3
/      vle      02/09/01 - add nz mesg
/      ppovinec 02/08/01 - Net8 --> Oracle Net rename.
/      rturlapa 03/29/00 - Added Entrust error message.
/      rwessman 07/06/99 - Added SSL error messages
/      sdange   03/13/97 - ERROR NOT USER-VISIBLE
/      rwessman 03/06/97 - Corrected error numbers.
/
28750, 00000, "unknown error"
// *Cause:   An Oracle Security Server error of an unspecified type occurred.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28751, 00000, "memory allocation failure"
// *Cause:   The allocation of memory failed due to insufficient system memory.
// *Action:  Terminate other processes to free up memory or add memory to the
//           system.
/
28752, 00000, "data source initialization failure"
// *Cause:   A data source failed to initialize. Frequently, this error is caused
//           by insufficient system resources.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28753, 00000, "failure to terminate use of data source"
// *Cause:   The system failed to terminate its use of a data source. This error may
//           have been caused by memory or disk corruption, among other things.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28754, 00000, "object storage failure"
// *Cause:   Error not user-visible. 
// *Action:  
// *Document: NO
/
28755, 00000, "object retrieval failure"
// *Cause:   The system failed to retrieve information from a file or a
//           database. 
// *Action:  Check if the data source exists, or check to ensure that the correct
//           information exists. 
/
28756, 00000, "callback failure to allocate memory"
// *Cause:   A function supplied by the caller failed to allocate memory. This error could
//           have been caused by system memory exhaustion.
// *Action:  Terminate other processes to free up memory or add memory to the system.
/
28757, 00000, "system attempt to allocate 0 bytes of memory"
// *Cause:   The system attempted to allocate 0 bytes of memory because there was no 
//           available memory left to allocate. This error could have been caused by insufficient system
//           memory.
// *Action:  Terminate other processes to free up memory or add memory to the system.
/
28758, 00000, "memory release failure"
// *Cause:  The release of a memory fragment failed. This may be due to
//          memory corruption either within the application or in the
//          Oracle Security Server library.
// *Action: Enable tracing to determine the exact cause of this error.
//          Contact Oracle customer support if needed.
/
28759, 00000, "failure to open file"
// *Cause:  The system could not open the specified file.
// *Action: Enable tracing to determine the exact cause of this error.
//          Contact Oracle customer support if needed.
/
28760, 00000, "list creation failure"
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28761, 00000, "element creation failure"
// *Cause:   Error not user-visible.
// *Action:  
// *Document: NO
/
28762, 00000, "failure to add element"
// *Cause:   Error not user-visible.
// *Document: NO
// *Action:  
/
28763, 00000, "Invalid parameter type found in configuration file."
// *Cause:  A parameter in the sqlnet.ora file may have been specified incorrectly. 
// *Action: Check the sqlnet.ora file for this parameter value.
/
28764, 00000, "failure to retrieve a configuration parameter"
// *Cause:  The system failed to retrieve a configuration parameter from the sqlnet.ora file.
//          This error may have occurred because a necessary configuration parameter was
//          not specified in the sqlnet.ora file.
// *Action: Supply the needed configuration parameter in the sqlnet.ora file.
/
28765, 00000, "Data method list does not exist."
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28766, 00000, "failure to terminate use of data source"
// *Cause:  The system failed to terminate its use of a data source. This error may
//          have been caused by memory or disk corruption, or a system error.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28767, 00000, "invalid version number"
// *Cause:  Version number of the wallet was incorrect. A corrupt wallet or
//          an incompatible wallet was provided.
// *Action: Ensure that proper wallet is being used.
/
28768, 00000, "bad magic number"
// *Cause:  An invalid magic number was specified in a data file. This could have been
//          caused by a corrupted disk or by some other process overwriting the file. 
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28769, 00000, "Specified method does not exist."
// *Cause:  The data access method that was specified in the configuration file is not
//          supported.
// *Action: Specify a supported method. Consult the Oracle Security Server
//          documentation to determine the supported types.
/
28770, 00000, "Data source is already initialized."
// *Cause:  The caller attempted to initialize a data source which was already
//          initialized.
// *Action: This is a programming error. An application should not attempt to
//          initialize a data source more than once.
/
28771, 00000, "Data source is not yet initialized."
// *Cause:  The caller attempted to use a data source which had not yet been
//          initialized.
// *Action: This is a programming error. The application must always initialize
//          the data source before it can be used.
/
28772, 00000, "invalid file ID"
// *Cause:   Error not user-visible.
// *Action:  
// *Document: NO
/
28773, 00000, "failure to write magic and version numbers"
// *Cause:  Both the magic and version numbers failed to write. This usually
//          occurs because of insufficient disk space.
// *Action: Delete unnecessary files to free up disk space or add disk space
//          to the system. 
/
28774, 00000, "file cannot write to disk"
// *Cause:  The output of a file failed. This error usually occurs because of
//          insufficient disk space.
// *Action: Delete unnecessary files to free up disk space or add disk space
//          to the system.
/
28775, 00000, "file cannot close"
// *Cause:  Failed to close a file which is used by a data access method.
//          This error usually indicates memory corruption or a system error.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28776, 00000, "Output buffer supplied is too small."
// *Cause:  The data returned by a function was too large for the
//          supplied buffer.
// *Action: Call the routine again with a larger buffer.
/
28777,00000, "binding creation failure"
// *Cause:  Failed to create a binding for use in the parsing of a parameter
//          value. This error can be caused by the parameter value
//          being in an incorrect format, such as a right parenthesis was not
//          supplied where expected, or due to insufficient system memory.
// *Action: Make sure that the parameter is specified in the correct format.
//          If the format is correct, free up system memory by terminating
//          processes or adding more memory.
/
28778, 00000, "Configuration parameter is not specified in the proper format."
// *Cause:  The configuration parameter was not specified in the proper format.
// *Action: Consult the Oracle Security Server documentation for a description
//          of the proper format for this parameter.
/
28779, 00000, "no data access method specified in parameter"
// *Cause:  No method for data access was specified in the parameter value.
// *Action: Specify a method for data access in the parameter. Consult the
//          Oracle Security Server documentation for the supported data access
//          methods for this data type.
/
28780, 00000, "invalid data access method specified by the parameter"
// *Cause:  The data access method specified by the parameter value is not
//          supported.
// *Action: Specify a supported data access method. Consult the Oracle Security Server
//          documentation for the supported data access methods for this data
//          data type.
/
28781, 00000, "No data for the access method is specified in the parameter."
// *Cause:  No data was specified in the parameter for use with the specified
//          access method.
// *Action: Consult the Oracle Security Server documentation for the data
//          that must be specified for the access method.
/
28782, 00000, "data source is not allocated"
// *Cause:  No memory was allocated for a data source.
// *Action: Ensure that the application calls in the data source initialization
//          function.
/
28783, 00000, "invalid parameter"
// *Cause:   There was no match for the parameter name that was used in the 
//           configuration file.
// *Action:  Check your sqlnet.ora file for the correct parameter name.
/
28784, 00000, "file name translation failure"
// *Cause:  The translation of a file name from Oracle format to native format has
//          failed.
// *Action: Specify a correct file name. Consult your Oracle documentation for the
//          correct file name format.
/
28785, 00000, "parameter does not exist"
// *Cause:  A necessary configuration parameter was not found in the parameter file.
// *Action: Supply the required parameter.
/
28786, 00000, "decryption of encrypted private key failure"
// *Cause:  An incorrect password was used to decrypt an encrypted private key.
// *Action: Enter the correct password.
/
28787, 00000, "private key encryption failure"
// *Cause:  This may have been caused by an error in the mkwallet parameter of the
//          sqlnet.ora file.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28788, 00000, "user provided invalid information, or an unknown error"
// *Cause:  User may have responded to a prompt with unexpected input, or an
//          unknown error occurred. 
// *Action: Enter correct input, or enable tracing to check the trace file for
//          errors.
/
28789, 00000, "name type not found"
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28790, 00000, "NLS string open failure"
// *Cause:  The opening of a string for use by the NLS subsystem failed.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28791, 00000, "certificate verification failure"
// *Cause:  Verification of the certificate, which the user supplied, failed.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28792, 00000, "PL/SQL operation failure"
// *Cause:  A PL/SQL operation attempted by the Oracle Security Server failed.
// *Action: This is an internal error. Enable tracing and try the operation
//          again. Contact Oracle customer support for assistance.
// *Document: NO
/
28793, 00000, "variable bind failure"
// *Cause:   Error not user-visible.
// *Action:  
// *Document: NO
/
28794, 00000, "data type attribute did not initialize"
// *Cause:  The initialization of the attribute data type failed. This error may be
//          due to insufficient system resources.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28795, 00000, "data type attribute did not terminate"
// *Cause:  The termination of the use of the attribute data type subsystem
//          failed.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28796, 00000, "access method is not supported"
// *Cause:  The method specified to access data is not supported.
// *Action: Use a supported access method. Consult your Oracle documentation to determine
//          which access methods are supported.
/
28797, 00000, "invalid key data type"
// *Cause:  The type specified for a key is not supported.
// *Action: Correct the key type. Consult your Oracle documentation to determine which
//          key types are supported.
/
28798, 00000, "Number of sub-keys application passes to bind does not match that in the key."
// *Cause:  The number of keys passed by the application to bind does not match
//          the number used to create the key.
// *Action: This is an internal programming exception. Contact Oracle customer
//          support.
// *Document: NO
/
28799, 00000, "failure to allocate shared memory"
// *Cause:  The allocation of shared memory for use in operations involving
//          the shared server failed. This error was probably due to
//          insufficient memory heap supplied by the Oracle server.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
// *Document: NO
/
28800, 00000, "data source failed to open"
// *Cause:   A data source (a file or a database) failed to open.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28801, 00000, "invalid object type"
// *Cause:   Error not user-visible. 
// *Action:  
// *Document: NO
/
28802, 00000, "invalid mode or data source in configuration file"
// *Cause:   An invalid mode or data source has been specified in the 
//           configuration file (sqlnet.ora). 
// *Action:  Check the method parameter in the sqlnet.ora file.
//           If the parameter value is correct, then enable tracing to
//           determine the exact error.
/
28803, 00000, "I/O operation failure"
// *Cause:   The system or application failed to access a data source
//           (file or database).
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28804, 00000, "Data source cannot close."
// *Cause:   The data source, which could be either a file or a database),
//           failed to close.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28805, 00000, "Cannot retrieve information from the data source."
// *Cause:   The system or application failed to retrieve information from
//           the data source (file or database). 
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28806, 00000, "Cannot write to the data source."
// *Cause:  The system or application failed to write to the data source
//          (file or database).
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28807, 00000, "Cannot update the data source."
// *Cause:  The system or application failed to update the data source (file
//          or database). 
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28808, 00000, "Cannot retrieve method information from the configuration file."
// *Cause:  The system or application failed to retrieve method
//          information from the sqlnet.ora configuration file.
// *Action: Check the method configuration parameters in the sqlnet.ora file. 
//          If the method configuration parameters are correct, then enable
//          tracing to determine the exact error. 
/
28809, 00000, "Cannot delete information from the data source."
// *Cause:  The system or application failed to delete information from the data
//          source (file or database).  
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28810, 00000, "Cannot create key descriptor."
// *Cause:  The system failed to create a key descriptor. 
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28811, 00000, "invalid access descriptor"
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28812, 00000, "record operation failure"
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28813, 00000, "invalid record type"
// *Cause:  Error not user-visible. 
// *Action:  
// *Document: NO
/
28814, 00000, "Cannot convert a number in Oracle format to native format."
// *Cause:  Failed to convert a number from Oracle format to native format.
// *Action: This is an internal programming exception. Enable tracing to try
//          and reproduce the problem. Contact Oracle customer support and
//          supply the trace file.
/
28815, 00000, "Cannot convert a number in native format to Oracle format."
// *Cause:  Failed to convert a number from native format to Oracle portable
//          format failed.
// *Action: This is an internal programming exception. Enable tracing to try
//          and reproduce the problem. Contact Oracle customer support and
//          supply the trace file.
/
28816, 00000, "No password provided for a PL/SQL function."
// *Cause:  A required password was not passed to a PL/SQL function.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28817, 00000, "PL/SQL function returned an error."
// *Cause:  A PL/SQL function returned an error unexpectedly.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28818, 00000, "No package context provided."
// *Cause:  The context that holds the state of the security package was not
//          passed to a function or procedure that was expecting it.  
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
/
28819, 00000, "No distinguished name provided."
// *Cause:  The user's distinguished name was not provided to a PL/SQL
//          function or procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28820, 00000, "Signature or decryption/encryption state is not provided."
// *Cause:  The state of either a signature or decryption/encryption was not
//          passed to a PL/SQL function or procedure.  
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28821, 00000, "No input buffer provided."
// *Cause:  A PL/SQL function or procedure was not passed an expected buffer.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28822, 00000, "Required seed is not specified."
// *Cause:  No seed was specified to the PL/SQL seed initialization function.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28823, 00000, "Number of random bytes to generate is not specified."
// *Cause:  The number of random bytes to generate was not specified to the
//          PL/SQL random number generator.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28824, 00000, "invalid encryption/decryption/signature state passed"
// *Cause:  An invalid state was passed to a PL/SQL encryption, decryption, or
//          signature procedure or function.
// *Action: Specify a correct state value.
// *Document: NO
/
28825, 00000, "No cryptographic engine function specified."
// *Cause:  No function was specified for the cryptographic engine.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28826, 00000, "invalid cryptographic engine function passed"
// *Cause:  An incorrect cryptographic engine function was passed to a PL/SQL
//          function or procedure.
// *Action: Specify a correct engine function.
// *Document: NO
/
28827, 00000, "invalid cipher type passed"
// *Cause:  An incorrect cipher type was passed to a PL/SQL function or
//          procedure.
// *Action: Specify a correct cipher type.
// *Document: NO
/
28828, 00000, "invalid identity type passed"
// *Cause:  An incorrect identity type was passed to a PL/SQL function or
//          procedure.
// *Action: Specify a correct identity type.
// *Document: NO
/
28829, 00000, "no cipher type specified"
// *Cause:  No cipher type was passed to a PL/SQL function or procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28830, 00000, "no identity type specified"
// *Cause:  No identity type was passed to a PL/SQL function or procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28831, 00000, "no data unit format"
// *Cause:  No data unit format was passed to a PL/SQL function or procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28832, 00000, "invalid data unit format"
// *Cause:  An incorrect data unit format was passed to a PL/SQL function or
//          procedure.
// *Action: Specify a data unit format.
// *Document: NO
/
28833, 00000, "inadequate information provided"
// *Cause:  Inadequate information, which usually is in the form of parameters,
//          has been provided to a PL/SQL function.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28834, 00000, "Buffer is too small."
// *Cause:  The buffer provided by PL/SQL to an Oracle Security Server toolkit
//          function is too small for the data to be returned.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28835, 00000, "Identity descriptor is not present or is too small."
// *Cause:  An identity descriptor, which is passed to a PL/SQL function or descriptor,
//          was not provided or was not the correct size.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28836, 00000, "Wallet is not open."
// *Cause:  The wallet to be used has not yet been opened.
// *Action: Call the function that opens the wallet.
/
28837, 00000, "no wallet descriptor"
// *Cause:  No wallet descriptor was specified to a PL/SQL function or
//          procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28838, 00000, "no identity descriptor"
// *Cause:  No identity descriptor was specified to a PL/SQL function or
//          procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28839, 00000, "no persona descriptor"
// *Cause:  No persona descriptor was specified to a PL/SQL function or
//          procedure.
// *Action: This is an internal error. Enable tracing to find more
//          information. Contact Oracle customer support if needed.
// *Document: NO
/
28840, 00000, "Wallet is already open."
// *Cause:  An attempt was made to open a wallet that was already open.
// *Action: This is a programming error. A wallet should only be opened once.
/
28841, 00000, "Operation is not supported."
// *Cause:  An attempt was made to perform an operation that is not supported.
// *Action: This is a programming error. Please refer to Oracle documentation
//          to determine which operations are supported.
/
28842, 00000, "Incorrect file permissions"
// *Cause:  The subject file did not have the correct permissions for the operation. 
// *Action: Ensure that the file permissions allow the current operation.
/
28843, 00000, "Operating system error while creating/opening file"
// *Cause:  An operating system dependent error occurred while trying to create/
//          open the file or while trying to set the appropriate permissions on
//          the file.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28844, 00000, "No wallet present"
// *Cause:  There was no wallet in the location specified.
// *Action: Check to ensure that the wallet is in the correct directory
//          location.
/
28845, 00000, "No certificate"
// *Cause:  Either there is no certificate or the system cannot find it.
// *Action: Check to ensure that the certificate is in the specified wallet.
/
28846, 00000, "No private key"
// *Cause:  Either there is no private key or the system cannot find it.
// *Action: Check to ensure that the private key is in the specified wallet.
/
28847, 00000, "No clear private key file"
// *Cause: Failed to retrieve private key from SSO wallet
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28848, 00000, "No encrypted private key file"
// *Cause: Failed to retrieve private key from the wallet
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28849, 00000, "No Trustpoints"
// *Cause: The wallet does not have any trusted certificates
// *Action: Ensure that the wallet/keystore has trusted certificates.
/
28850, 00000, "No clear trustpoint file"
// *Cause: 
// *Action:
// *Document: NO
/
28851, 00000, "No encrypted trustpoint file"
// *Cause:
// *Action:
// *Document: NO
/
28852, 00000, "Bad password"
// *Cause: The password created for an obfuscated wallet exceeds the maximum
//         password length limit.
// *Document: NO
// *Action:
/
28853, 00000, "Initialization failure"
// *Cause:  Either initialization or module loading has failed. 
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28854, 00000, "Memory allocation failure"
// *Cause:  The allocation of memory failed due to insufficient system memory.
// *Action: Terminate other processes to free up memory or add memory to the
//          system.
/
28855, 00000, "Unsupported SSL operation"
// *Cause:  An unsupported operation was attempted, for example, an attempt was
//          made to select a mode of operation that is not allowed.
// *Action: Refer to the SSL chapter in the product's documentation.
//           
/
28856, 00000, "Buffer overflow error"
// *Cause:  A buffer overflow error occurred during SSL handshake.
// *Action: This error is not normally visible to the user. Enable tracing
//          and attempt the connection again. Then contact Oracle customer
//          support with the trace output.
// *Document: NO
/
28857, 00000, "Unknown SSL error"
// *Cause:  An unknown SSL error occurred.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28858, 00000, "SSL protocol error"
// *Cause:  An error occurred while negotiating the SSL handshake between two processes.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28859, 00000, "SSL negotiation failure"
// *Cause:  An error occurred during negotiation between two processes
//          as part of the SSL protocol. This error will occur if the two sides to
//          the connection do not support a common cipher suite.
// *Action: Configure each process so they support a common cipher suite.
//          Then attempt the connection again. If error occurs again, enable
//          tracing and retry the connection. Then contact Oracle customer
//          support with the trace output.
/
28860, 00000, "Fatal SSL error"
// *Cause:  An error occurred during the SSL connection to the peer. It is likely
//          that this side sent data which the peer rejected.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
28861, 00000, "SSL connection would block"
// *Cause:  This error is informational. It should never be communicated
//          to the user.
// *Action:  Enable tracing and retry the connection to determine the exact
//           cause of the error.  Contact Oracle customer support if needed.
/
28862, 00000, "SSL connection failed"
// *Cause:  This error occurred because the peer closed the connection.
// *Action: Enable tracing on both sides and examine the trace output.
//          Contact Oracle Customer support with the trace output.
/
28863, 00000, "SSL session not found"
// *Cause:  This error is informational. It indicates that a specified
//          session does not exist.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
28864, 00000, "SSL connection closed gracefully"
// *Cause:  This error is informational. It indicates that the connection
//          closed without error.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact Oracle
//          customer support.
/
28865, 00000, "SSL connection closed"
// *Cause:  The SSL connection closed because of an error in the underlying
//          transport or because the peer process quit unexpectedly.
// *Action: Enable tracing and retry the connection. The trace output
//          should indicate how the failure occurred.
/
28866, 00000, "Invalid peer certificate encoding"
// *Cause:  A field from a certificate in the peer's certificate chain could not be
//          recognized.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to obtain the
//          peer's certificate. Then contact Oracle customer support with the peer's 
//          certificate chain.
/
28867, 00000, "Integer value is too big."
// *Cause:  The certificate presented had an integer field whose value was
//          too large.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to obtain the
//          peer's certificate. Then contact Oracle customer support with the peer's 
//          certificate chain.
/
28868, 00000, "Peer certificate chain check failed."
// *Cause:  The check of the certificate list presented by the peer
//          failed. Possible causes include:
//          1. the expiration of one of the certificates;
//          2. a certificate authority in a certificate was not recognized as
//             a trust point;
//          3. the signature in a certificate could not be verified.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to open
//          your wallet and ensure that:
//          1. all of the certificates installed in your wallet are current
//          2. a certificate authority's certificate from your peer's certificate chain
//             is added as a trusted certificate in your wallet
/
28869, 00000, "Peer's certificate is expired."
// *Cause:  The certificate being used to authenticate a client or server
//          has expired.
// *Action: Obtain a new certificate, which is unexpired, and attempt the
//          connection again.
/
28870, 00000, "Name comparison failure"
// *Cause:  A comparison of the names contained in two certificates failed.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact Oracle
//          customer support.
/
28871, 00000, "Peer certificate chain is incomplete."
// *Cause:  The peer certificate chain presented was incomplete because it did not
//          end with a self-signed root certificate.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to open
//          your wallet and ensure that:
//          1. the certificate authority's root certificate is self-signed.
//          2. a certificate authority's certificate from your peer's certificate chain
//             is added as a trusted certificate in your wallet
/
28872, 00000, "Invalid peer certificate format"
// *Cause:  The peer certificate does not conform to the X.509v3 standard.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to get the
//          peer certificate. Then contact Oracle customer support with the peer's
//          certificate.
/
28873, 00000, "Invalid parameter"
// *Cause:  A function was presented with a null parameter.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact
//          Oracle customer support.
// *Document: NO
/
28874, 00000, "SSL: I/O closed - override goodbye kiss"
// *Cause:  This error is informational. It indicates that the connection closed
//          without error.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact
//          Oracle customer support.
/
28875, 00000, "SSL: use server-gated cryptographic suites"
// *Cause:  This is used as a internal status indicator and not really
//          an error.
// *Action: This message is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact
//          Oracle customer support.
/
28876, 00000, "Internet Explorer SGC Error"
// *Cause:  An error occurred when processing a certificate sent from
//          Microsoft Internet Explorer.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact
//          Oracle customer support.
/
// 28877, 00000, "UNUSED"
// *Cause:   
//           
// *Action:  
//           
/
// 28878, 00000, "UNUSED"
// *Cause:   
//           
// *Action:  
//           
/
28879, 00000, "no protocol side set"
// *Cause:  An application attempted to provide credentials to an SSL
//          connection but had not previously stated whether the process
//          was a client or a server.
// *Action: This error is not normally visible to the user. Enable tracing
//          and retry the connection. If the error persists, contact
//          Oracle customer support.
/
// 28880, 00000, "UNUSED"
// *Cause:   
// *Action:  
// *Document: NO
/
// 28881, 00000, "UNUSED"
// *Cause:   
// *Action:  
// *Document: NO
/
28882, 00000, "UNUSED"
// *Cause:   
// *Action:  
// *Document: NO
/
28883, 00000, "UNUSED"
// *Cause:   
// *Action:  
// *Document: NO
/
28884, 00000, "invalid cipher suite"
// *Cause:  An invalid cipher suite string has been specified in the
//          product's configuration file.
// *Action: Refer to the product documentation for information about
//          supported cipher suites.
/
28885, 00000, "No certificate with the required key usage found."
// *Cause:  Certificate not created with the appropriate X509v3 key usage
//          extension.
// *Action: Refer to Oracle Wallet Manager documentation to find out the
//          supported key usages.
/
28890, 00000, "Entrust Login Failed"
// *Cause:  An application failed to log in to an Entrust Profile.
//          Possible causes include:
//          1. Entrust Admin/Authority was not online.
//          2. Invalid password for Entrust profile was specified.
//          3. Invalid path to Entrust profile was specified
//          4. Invalid Entrust initialization file was specified.
//          5. Entrust Server Login program was not executed (server-side only).
// *Action: Make sure that:
//          1. Entrust Authority is online;
//          2. Password for Entrust profile is specified correctly;
//          3. Path to Entrust profile is specified correctly;
//          4. A valid Entrust initialization file is provided;
//          5. Entrust Server Login program is run before the database startup.
//          For more information, enable tracing and examine the trace output
//          to get exact the Entrust failure codes.
/
29000, 00000, "Certificate not installed"
// *Cause:  Trying to delete a certificate which has not been installed.
// *Action: Refer to the Oracle Wallet Manager documentation for information
//          about delete option.
/
29001, 00000, "UNUSED"
// *Cause:
// *Action:
// *Document: NO
/
29002, 00000, "SSL transport detected invalid or obsolete server certificate."
// *Cause:  The client detected a mismatch between the server's distinguished name
//          specified on the server's certificate and the server's SID or service name.
// *Action: Refer to the SSL chapter in Oracle Advanced Security Administrator's Guide
//          for information about enabling server distinguished name matching.
//          Contact your administrator to perform the appropriate action.
/
29003, 00000, "SSL transport detected mismatched server certificate."
// *Cause:  The client detected a mismatch between the server's distinguished name
//          specified on the server's certificate and the server's SID or service name.
// *Action: Refer to the SSL chapter in Oracle Advanced Security Administrator's Guide
//          for information about enabling server distinguished name matching.
//          Contact your administrator to perform the appropriate action.
/
29004, 00000, "Callback Failure"
// *Cause:  The alert callback returns this error; it is not fatal.
// *Document: NO
// *Action:
/
29005, 00000, "The certificate is invalid."
// *Cause:  The peer certificate encoding is invalid when using SSL 2.0.
// *Action: Refer to Oracle Wallet Manager documentation to find out how to obtain the
//          peer's certificate. Then contact Oracle customer support with the peer's 
//          certificate chain.
/
29006, 00000, "The certificate request message is invalid when using SSL 2.0."
// *Cause:  There is an error processing the SSL 2.0 REQUEST-CERTIFICATE message.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29007, 00000, "Bad Clear Key Length when using SSL 2.0"
// *Cause: The clear key length of an SSL 2.0 Client Master key handshake message
//         is invalid.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29008, 00000, "Bad DH Param key length"
// *Cause: The length of the Diffie-Hellman params exceeds export restrictions.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29009, 00000, "Bad encrypted key length when using SSL 2.0"
// *Cause: The encrypted key length of an SSL 2.0 Client Master key handshake
//         message is invalid.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29010, 00000, "Export key length does not meet export restrictions."
// *Cause:  The server sent a ServerKeyExchange message with an export key which
//          does not meet export restrictions. For RSA, the export key must
//          be exactly 512 bits.
// *Action: Obtain a certificate with the appropriate key length.
/
29011, 00000, "Finished message is incorrect."
// *Cause:  The FINISHED message data verification failed. 
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29012, 00000, "Bad key argument length when using SSL 2.0"
// *Cause: The key argument length of an SSL 2.0 Client Master Key handshake message
//         is invalid.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29013, 00000, "SSL MAC verification failure"
// *Cause:  Verification of SSL Record MAC failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29014, 00000, "Maximum fragment length extension is incorrect."
// *Cause: The maximum fragment length extension specified is incorrect.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29015, 00000, "incorrect message length"
// *Cause:  The message length is not correct.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29016, 00000, "inadequate PKCS1 message padding"
// *Cause:  The message was not properly padded before encryption.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29017, 00000, "The premaster secret length is incorrect."
// *Cause:  The premaster secret sent by the peer has an incorrect length.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29018, 00000, "The premaster secret contains an incorrect version number."
// *Cause:  The premaster secret must contain the same version number as the ClientHello.
//          The version sent by the client was incorrect.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29019, 00000, "The protocol version is incorrect."
// *Cause:  There is a protocol version mismatch between the two peers.
// *Action: Specify the correct protocol version in the product's configuration
//          file.
/
29020, 00000, "The handshake record length is too long."
// *Cause:  The handshake record length exceeds the maximum that is allowed by the
//          SSL specification.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29021, 00000, "Secret key length is incorrect when using SSL 2.0."
// *Cause: The length of the decrypted ENCRYPTED-KEY is incorrect.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29022, 00000, "Operation is being attempted on the wrong side of the client/server connection."
// *Cause:  The SSL network layer has detected that the operation has been attempted on
//          the wrong side of the client/server connection.
// *Action: Select the protocol side (of this protocol) to be the same as the one selected
//          with a previous protocol.
/
29023, 00000, "The buffers are not empty."
// *Cause: Trying to free buffers that are not empty.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29024, 00000, "Certificate validation failure"
// *Cause:  The certificate sent by the other side could not be validated. This may occur if
//          the certificate has expired, has been revoked, or is invalid for another reason.
// *Action: Check the certificate to determine whether it is valid. Obtain a new certificate,
//          alert the sender that the certificate has failed, or resend.
/
29025, 00000, "Error found in certificate check callback."
// *Cause: The application callback failed during additional certificate
//         validation. Additional checks include CRL validation and extension checking.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29026, 00000, "Decryption failure"
// *Cause:  SSL record decryption failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29027, 00000, "Error in entropy collection"
// *Cause: The internal entropy collection failed to generate enough seed data.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29028, 00000, "Server verification failure when using SSL 2.0"
// *Cause: Processing of an SSL 2.0 SERVER-VERIFY message failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29029, 00000, "SSL handshake already completed"
// *Cause:  The system is trying to initiate a handshake when it has already been completed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29030, 00000, "SSL handshake is requested."
// *Cause: The peer sends this message if it wishes to renegotiate. The application
//         can either proceed with the renegotiation or reject the request.
// *Action: This is not an error. To find out more details enable tracing
//          and retry the connection. Contact Oracle customer support with the
//          trace output.
/
29031, 00000, "SSL handshake is required."
// *Cause:  Renegotiation cannot proceed before the SSL handshake is completed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29032, 00000, "The given identity is not complete."
// *Cause:  The certificate list does not contain both private key and certificate.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29033, 00000, "Invalid PFX"
// *Cause:  The PFX is invalid for this operation containing either no certificates
//          and private key or multiple private keys. However, the API which returns
//          this error is not used in our code.
// *Document: NO
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29034, 00000, "Correct cipher suite or client authentication is needed."
// *Cause:  Before installing a private key, a cipher suite or client authentication suite
//          using the same key exchange algorithm must be installed first. This has not
//          been done.
// *Action: Install a cipher suite or client authentication suite that uses the same key
//          exchange algorithm as the private key before re-installing the private key.
/
29035, 00000, "Pseudo Random Number Generator is needed"
// *Cause: PRNG not set yet. A PRNG must be installed first.
// *Document: NO
// *Action:
/
29036, 00000, "This feature is not supported"
// *Cause:  Operation is not supported by the current connection parameters. 
// *Action: Check the Oracle documentation to determine the appropriate
//          connection parameters required for this operation.
/
29037, 00000, "No certificate is present"
// *Cause:  The other client or server sent a certificate message that contained
//          no certificates.
// *Action: Check the other side (client or server) to ensure they have
//          appropriate credentials.
/
29038, 00000, "There are no matching certificates."
// *Cause:  The other client or server sent a certificate message that contained
//          a certificate which was not signed by a trusted certificate authority (CA).
// *Action: Check to ensure that the other client or server sends a certificate which is
//          signed by a CA that is in your trusted list.  Or, include the CA
//          certificate for the other client or server's certificate as a trustpoint
//          in your wallet.
/
29039, 00000, "There are no matching cipher suites."
// *Cause:  Neither end of the handshake can agree on a cipher suite.
// *Action: Check to ensure that both sides of the handshake select cipher suites
//          that are supported.
/
29040, 00000, "There are no supported cipher suites."
// *Cause:  This end of the handshake cannot support any cipher suites. This
//          connection and the peer have some matching cipher suites, however,
//          these cipher suites cannot be negotiated because they cannot be supported
//          by the connection.
// *Action: Check to ensure that both sides of the handshake select cipher suites
//          that are supported by the connection. Refer to Oracle documentation for
//          supported cipher suites.
/
29041, 00000, "The callback is NULL."
// *Cause: A NULL callback was passed.
// *Document: NO
// *Action:
/
29042, 00000, "Read buffer is not empty."
// *Cause: There is an attempt to free a read buffer that is not empty.
// *Document: NO
// *Action: 
/
29043, 00000, "Read is required."
// *Cause:  Renegotiation with the peer has not yet started. There is
//          application data which must be processed before the
//    handshake can proceed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29044, 00000, "Renegotiation has already been requested."
// *Cause:  Renegotiation has already been requested.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29045, 00000, "Renegotiation request has been refused."
// *Cause:  A renegotiated handshake has been refused by the peer.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29046, 00000, "Session is resumable."
// *Cause:  Server is trying to resume a session with different session parameters.
// *Action: Server should resume the session with the correct session parameters.
/
29047, 00000, "Mismatch in Transport Layer Security extension"
// *Cause:  Neither side can agree on a TLS extension.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29048, 00000, "Unexpected message received."
// *Cause:  An unexpected message has been received.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29049, 00000, "Unknown record"
// *Cause:  The record type is unknown.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29050, 00000, "Installed client authentication mode is not supported."
// *Cause:  The enabled client authentication mode(s) cannot be used within
//          the selected cipher suite.
// *Action: Enable a client authentication mode that can be used within the selected
//          cipher suite.
/
29051, 00000, "The given public key type is not supported."
// *Cause:  The public key in the first certificate is not supported.
// *Action: Check to ensure that the certificate complies with the X.509v3 standard.
/
29052, 00000, "Write buffer is not empty."
// *Cause: There is an attempt to free a write buffer that is not empty.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29084, 00000, "The parameter specified is illegal."
// *Cause:  The parameter is not correct. For example, it could be bad input,
//          or an invalid message.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29095, 00000, "Index is not correct."
// *Cause: The instance identified by the index parameter doesn't exist.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29096, 00000, "The given length is incorrect."
// *Cause: The specified length is too small or is invalid.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29100, 00000, "Cannot create local key ID."
// *Cause:  Creation of local key identifier for the certificate or the private key
//          failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29101, 00000, "Cannot add private key bag."
// *Cause: The private key could not be added to the PKCS#12 object. Possible reasons
//         are: (i) A required parameter is NULL (ii) The PKCS#12 construct is not
//         supported (iii) An ASN.1 encoding error occurred in the certificate.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29102, 00000, "Cannot add certificate bag."
// *Cause: Creation of certificate bag failed. The application could have
//         run out of memory.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29103, 00000, "Cannot create PKCS #12 wallet."
// *Cause:  Creation of PKCS#12 wallet failed possibly due to memory allocation
//          failure.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29104, 00000, "Cannot add certificate request."
// *Cause:  Adding certificate request to the PKCS#12 wallet failed.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29105, 00000, "Cannot export PKCS #12 wallet."
// *Cause:  A required parameter is NULL or the PKCS#12 construct is not supported.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29106, 00000, "Cannot import PKCS #12 wallet."
// *Cause:  A required parameter is NULL or the BER-encoding is malformed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29107, 00000, "Cannot create PKCS #12 wallet."
// *Cause:  PKCS#12 wallet creation failed.  The application may have
//          run out of memory.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29108, 00000, "Cannot initialize random object."
// *Cause:  The random object could not be initialized or seeded. Either memory
//          allocation has failed or the pseudo random number generator module
//          has not been installed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29109, 00000, "Cannot create private key object."
// *Cause:  The private key object could not be created. Memory allocation may have
//          failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29110, 00000, "Invalid PKCS #12 bag type"
// *Cause:  The PKCS #12 bag type is invalid. Either one of the required parameters
//          is NULL or the requested OID is not in the list.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29111, 00000, "Invalid index"
// *Cause:  The index passed for getting the bag type is less than 1.
// *Action: Check to ensure that the index is greater than 1.
/
29112, 00000, "Cannot access attributes from a PKCS #12 certificate bag."
// *Cause:  The certificate cannot be accessed.  One of the required parameters is
//          probably NULL, or the index specified by the application does not contain
//          a certbag, or the certificate could be malformed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29113, 00000, "Cannot access attributes from a PKCS #12 key bag."
// *Cause: Retrieval of the private key failed. One of the required parameters
//         is probably NULL or the index specified by the application does not
//         contain a key bag.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29114, 00000, "Cannot import private key."
// *Cause: The private key could not be imported. One of the required parameters
//         could be NULL or the encoded private key could be malformed.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29115, 00000, "Cannot export private key."
// *Cause:  The private key could not be exported. Either the application ran out
//          of memory or the key type is not valid.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29116, 00000, "Cannot get PKCS #12 attributes."
// *Cause:  Retrieval of an attribute failed. One of the required parameters could
//          be NULL.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29117, 00000, "Cannot add PKCS #12 attributes."
// *Cause:  Could not add an attribute. The attribute parameter could be NULL.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29118, 00000, "Cannot create PKCS #12 attributes."
// *Cause:  Creation of the attributes failed, possibly due to a memory
//          allocation error.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29119, 00000, "Cannot import certificate."
// *Cause:  The certificate cannot be imported. One of the required parameters could
//          be NULL or the certificate has an invalid X.509 BER or DER encoding.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29120, 00000, "Cannot export certificate."
// *Cause:  The certificate cannot be exported. One of the required parameters could
//          be NULL.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29122, 00000, "could not add pkcs11 info to the pkcs12 wallet"
// *Cause:  Failed while adding pkcs11 information into a pkcs12 wallet.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29123, 00000, "could not get pkcs11 info from the pkcs12 wallet"
// *Cause: An error was encountered while retrieving pkcs11 information from
//         the wallet.
// *Action:  Enable tracing to determine the exact cause of this error.
//           Contact Oracle customer support if needed.
/
29124, 00000, "pkcs11 library name already set"
// *Cause:  pkcs11 library information was already set in the wallet.
// *Action: Use a different wallet that does not have this information.
//          If issue persists, enable tracing to determine the exact cause of
//          the error. Contact Oracle customer support if needed.
/
29125, 00000, "pkcs11 token label already set"
// *Cause: pkcs11 token label information was already set in the wallet.
// *Action: Use a different wallet that does not have this information.
//          If issue persists, enable tracing to determine the exact cause of
//          the error. Contact Oracle customer support if needed.
/
29126, 00000, "pkcs11 token passphrase already set"
// *Cause: The pkcs11 token passphrase can be set only once in the wallet.
// *Action: Use a different wallet that does not have this information.
//          If issue persists, enable tracing to determine the exact cause of
//          the error. Contact Oracle customer support if needed.
/
29127, 00000, "unknown pkcs11 information"
// *Cause: An unknown pkcs11 information type was encountered. The wallet may
//          have been corrupted due to a system error or memory corruption.
// *Action: Enable tracing and retry the failed operation.
//          Contact Oracle customer support with the trace output.
/
29128, 00000, "pkcs11 library name not set"
// *Cause: The wallet does not have pkcs11 library information.
// *Action: Ensure that the wallet was created with valid library location or
//          update the wallet with this information.
/
29129, 00000, "pkcs11 token label not set"
// *Cause: The wallet does not have pkcs11 token label information.
// *Action: Ensure that the wallet was created with valid token label
//          information or update the wallet with this information.
/
29130, 00000, "pkcs11 token passphrase not set"
// *Cause: The wallet does not have pkcs11 token passphrase.
// *Action: Ensure that the wallet was created with valid token passphrase
//          information or update the wallet with this information.
/
29131, 00000, "pkcs11 certificate label already set in wallet"
// *Cause: The pkcs11 certificate label was already set in the wallet.
// *Action: Use an empty wallet (created with orapki).

29135, 00000, "Seed generation for Random Number Generator failed."
// *Cause:  Generation of seed for random number generator failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29136, 00000, "The allocated buffer is too small."
// *Cause: The output buffer is too small.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29137, 00000, "The global context is incorrect."
// *Cause:  The global context is incorrectly configured or invalid. 
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output. 
/
29140, 00000, "Cannot create certificate object."
// *Cause:  Creation of the certificate object failed. The application could have
//          run out of memory.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29141, 00000, "Cannot import in the der format."
// *Cause:  Cannot import the certificate into the certificate object. The reason
//          could be a malformed certificate.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29150, 00000, "DES self-test failure"
// *Cause:  DES power up self-test has failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29151, 00000, "3DES self-test failure"
// *Cause:  3DES power up self-test has failed. 
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29152, 00000, "SHA-1 self-test failure"
// *Cause:  The SHA-1 power up self-test has failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29153, 00000, "RSA self-test failure"
// *Cause:  The RSA power up self-test has failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29154, 00000, "deterministic RNG self-test failure"
// *Cause:  The deterministic Random Number Generator power up self-test has failed.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29155, 00000, "continuous key pair consistency check self-test failure"
// *Cause:  The public-private key pair check test failed.  
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29156, 00000, "conditional RNG self-test failure"
// *Cause:  Continuous Random Number Generator test, which is needed in FIPS mode,
//          has failed. 
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29157, 00000, "Unable to build an absolute path to the library."
// *Cause:  Not able to construct an absolute path to the
//          location of the library.
// *Action: Enable tracing and attempt the connection again. Contact
//          Oracle customer support with the trace output.
/
29158, 00000, "Unable to open library."
// *Cause:  Opening of the library failed.
// *Action: Check to ensure that the library is present in the location
//          specified, and that it has the appropriate file permissions.
/
29159, 00000, "Unable to read library."
// *Cause:  Not able to read the library on which the DAC check has
//          to be performed. Read call failed.
// *Action: Check if the library has the appropriate file permissions.
/
29160, 00000, "NZ library being used is different."
// *Cause:  The NZ library being used at runtime is not the
//          same one on which the digest was computed for the
//          software integrity check.
// *Action: Check to ensure that the library being used is the same as the one on 
//          which the digest was pre-computed.
/
29161, 00000, "software integrity self-test failure"
// *Cause:  The software integrity check test on the NZ shared library
//          has failed.
// *Action: Check to ensure that the library being used is the same as the one on
//    which the digest was pre-computed. 
/
29162, 00000, "Non-FIPS cipher suites being used in FIPS mode."
// *Cause:  The cipher suite being used does not contain FIPS-approved
//          algorithms.
/
// *Action: Use cipher suites that contain FIPS-approved algorithms.
/
29163, 00000, "Third party PKI vendor is not supported in FIPS mode."
// *Cause:  Third party PKI vendors like Entrust and MCS are not supported
//          in FIPS mode. 
// *Action: Use only Oracle PKI when running in FIPS mode. 
/
29164, 00000, "External PKCS #12 wallet is not supported in FIPS mode."
// *Cause:  PKCS #12 wallets created using third party software cannot be
//    used in FIPS mode.
// *Action: Use only PKCS #12 wallets created by Oracle Wallet Manager when running in
//          FIPS mode. 
/
29166, 00000, "Bad key size in FIPS mode."
// *Cause:  User attempted to use a key size that is not allowed in FIPS mode
// *Action: Ensure that the key size meets FIPS usage requirement. For example, 
//          RSA key modulus cannot be less than 1024 bits in FIPS mode.
/
29176, 00000, "CRL signature verification failed"
// *Cause: A CRL is verified before being used. CRL signature cannot be
//         verified.
// *Action: Get a new CRL from CA
/
29177, 00000, "certificate serial number is not in CRL"
// *Cause: Cert is not revoked
// *Action:
/
29178, 00000, "certificate serial number is in CRL"
// *Cause: Cert has been revoked
// *Action: Reject the certificate
/
29179, 00000, "certificate validation check failed"
// *Cause: Could not complete checking certificate status with a CRL.
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29180, 00000, "Unsupported validation protocol"
// *Cause: The certificate validation protocol is not supported
// *Action: Make sure a supported certificate validation protocol is specified
/
29181, 00000, "ldap_open failed"
// *Cause: Could not connect to the LDAP server
// *Action: Ensure that correct LDAP information was provided. Enable tracing
//          to find more information. Contact Oracle customer support if needed.
/
29182, 00000, "ldap_bind failed"
// *Cause: Could not log in to the LDAP server
// *Action: Ensure that correct LDAP credentials were provided. Enable tracing
//          to find more information. Contact Oracle customer support if needed.
/
29183, 00000, "ldap_search failed"
// *Cause: Failed to complete search operation in LDAP server
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29184, 00000, "ldap_result failed"
// *Cause: Failed to retrieve results from LDAP operation
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29185, 00000, "ldap_first_attribute failed"
// *Cause: Could not get the first attribute from LDAP entry.
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29186, 00000, "ldap_get_values_len failed"
// *Cause: Failed to retrieve attribute values from LDAP entry
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29187, 00000, "unsupported validation mechanism"
// *Cause: The validation mechanism specified in OID is not supported
// *Action: Make sure a supported validation mechanism is set in OID
/
29188, 00000, "ldap_count_entries failed"
// *Cause: Failed to get count of entries from a search result chain.
// *Action: Enable tracing to find more information on this error.
//          Contact Oracle customer support if needed.
/
29189, 00000, "No entry found in OID"
// *Cause: CRL not found in OID
// *Action: Upload the CRL to OID
/
29190, 00000, "Multiple entries in OID"
// *Cause: For a given issuer name there should be only one CRL in OID
// *Action: Make sure there is only one CRL for a given issuer name in OID
/
29191, 00000, "OID connection information not set"
// *Cause: To connect to OID the connection information must be available
// *Action: Set the OID connection information.
/
29192, 00000, "Validation mechanism not set in OID"
// *Cause: The validation mechanism to be used is not set in OID
// *Action: Set validation mechanism to be used in OID at
//          cn=ValidationMechanism, cn=Validation, cn=PKI, cn=Products,
//          cn=OracleContext
/
29193, 00000, "no CRL found using CRLDP mechanism"
// *Cause: A CRL could not fetched using CRL Distribution point (CRLDP)
// *Action: Contact the CA
/
29194, 00000, "no CRL found in cache"
// *Cause: CRL not in cache
// *Action:
/
29195, 00000, "CRL is expired"
// *Cause: CRL nextUpdate time is in the past
// *Action: Get a new CRL from the CA
/
29222, 00000, "Distinguished name does not match."
// *Cause:  Distinguished name (DN) on certificate doesn't match user.
// *Action: Create the global user in the database with the DN that matches with the
//          one in the user certificate on the client side.
/
29223, 00000, "Cannot create certificate chain."
// *Cause:  Unable to create a certificate chain with the existing trust points
//          for the certificate that is to be installed.
// *Action: Install the trust point that signed the certificate.
/
29224, 00000, "Cannot locate matching certificate request."
// *Cause:  No matching certificate request for the certificate was found.
// *Action: Install the correct certificate.
/
29225, 00000, "Certificate already installed."
// *Cause:  Attempting to install a certificate into a persona which already has it.
// *Action: Do not install the certificate.
/
29226, 00000, "No matching private key found."
// *Cause:  Could not locate a matching private key
//          in the persona for the given certificate (public key).
// *Action: 
/
29227, 00000, "Certificate is expired."
// *Cause:  Certificate is no longer valid..
// *Action: Obtain another certificate or renew this certificate.
/
29228, 00000, "Cannot calculate the number of bytes for output."
// *Cause:  The cryptographic engine is confused about the algorithm.
// *Action: Check the parameters being used with the cryptographic functions.
/
29229, 00000, "the magic number found in the header does not match expected"
// *Cause:  The input TDU has either been corrupted or is not being
//          used correctly.
// *Action: Check that the TDU is being used from the beginning.  If
//          possible, compare the size of the TDU upon generation to
//          the size being used.
/
29230, 00000, "the header length is not sufficient for message header"
// *Cause:  The input TDU has either been corrupted or it is not being
//          used correctly.
// *Action: Check that the TDU is being used from the beginning.  If
//          possible, compare the size of the TDU upon generation to
//          the size being used.
/
29231, 00000, "the cryptographic engine failed to initialize"
// *Cause:  During initialization of the cryptographic engine, some
//          failure occurred.  Possible causes include running out of memory and
//          trying to seed the random number generator.
// *Action: Make sure the executable has been linked with compatible
//          library versions, and that you are not running out of swap
//          space.
/
29232, 00000, "the cryptographic engine key initialization failed"
// *Cause:  During initialization of a key for cryptography, some
//          failure occurred.  This includes running out of memory and
//          passing illegal arguments.
// *Action: Make sure the executable has been linked with compatible
//          library versions, and that the correct parameters are
//          being used for the cryptographic functions.
/
29233, 00000, "the key object could not be encoded"
// *Cause:  The key object may be corrupted or may be an unsupported type.
// *Action: Check the key object being passed to the encoding routine.
/
29234, 00000, "a key object was not extracted from encoding"
// *Cause:  The encoding may be corrupted or may not be a key object
//          at all.
// *Action: Check the encoding and parameters passed to decoding
//          routine.
/
29235, 00000, "the key information could not be retrieved"
// *Cause:  The key may be corrupted or may be an unsupported type.
// *Action: Check the parameters being used with the cryptographic
//          functions.
/
29236, 00000, "the random number generator will not accept seed"
// *Cause:  The cryptographic engine may have run out of memory.
// *Action: Make sure the executable has been linked with compatible
//          library versions.
/
29237, 00000, "the cryptographic engine could not finish the algorithm"
// *Cause:  The cryptographic engine does not have enough information
//          to correctly finish applying the algorithm.
// *Action: Check the parameters being used with the cryptographic
//          functions.
/
29238, 00000, "the cryptographic engine could not apply the algorithm"
// *Cause:  The cryptographic engine does not have enough information
//          to correctly apply the algorithm.
// *Action: Check the parameters being used with the cryptographic
//          functions.
/
29239, 00000, "the cryptographic engine could not initialize the algorithm"
// *Cause:  The cryptographic engine does not have enough information
//          to correctly initialize the algorithm.
// *Action: Check the parameters being used with the cryptographic
//          functions.
/
29240, 00000, "the cryptographic engine does not recognize the algorithm"
// *Cause:  The application may be passing wrong parameters.
// *Action: Check the parameters being used with the cryptographic
//          functions.
/
29241, 00000, "a buffer block needs more space but its length is fixed"
// *Cause:  The application has preallocated an output buffer that is
//          too short for the operation and has specified that the
//          buffer should not grow as needed.
// *Action: Either preallocate a larger buffer or allow the toolkit to
//          grow the output buffer as needed.
/
29242, 00000, "the asymmetric key is too short to be used with the data."
// *Cause:  An asymmetric key must be at least 11 bytes longer than
//          the data it is being used to encrypt.
// *Action: Use an asymmetric key with more bits or break the data
//          into smaller pieces.
/
29243, 00000, "the toolkit does not recognize the type of key being used"
// *Cause:  The application may be passing wrong parameters.
// *Action: Check the parameters being used with the toolkit functions.
/
29245, 00000, "the toolkit does not recognize the function being used"
// *Cause:  The application is probably passing the wrong parameters.
// *Action: Check the parameters being used with the toolkit functions.
/
29246, 00000, "the toolkit could not parse the tdu"
// *Cause:  The TDU could be corrupted.
// *Action: Check the parameters being used with the toolkit functions.
/
29247, 00000, "an unopen toolkit object was used before it was opened"
// *Cause:  Some toolkit objects must be opened before they can be
//          used.
// *Action: Check the parameters being used with the toolkit functions.
/
29248, 00000, "an unrecognized WRL was used to open a wallet"
// *Cause:  WRL's have a specific set of types and must be formatted
//          correctly. 
// *Action: Check the parameters being used with the toolkit
//          functions.
/
29249, 00000, "an unrecognized state was passed to a cryptographic function"
// *Cause:  The application is probably passing the wrong parameters.
// *Action: Check the parameters being used with the toolkit functions.
/
/
/ 29250-29299 RESERVED FOR MORE PL/SQL AND UTILITY PACKAGE ERRORS
/
29250, 00000, "Invalid index specifed in call to dbms_sql.bind_array"
// *Cause:  An invalid index was specified in a call to bind_array of
//          dbms_sql.  The index may have been null or of an improper
//          value.
// *Action: Correct the index value by modifying your PL/SQL program and try
//          the bind_array call again.
29251, 00000, "Index1 is greater than Index2 in call to dbms_sql.bind_array"
// *Cause:  The value of index1 was greater than the value for index2 in
//          the call to bind_array.  This is illegal since the elements of
//          the table that will be bound are those with indexes greater
//          than or equal to index1 and less than or equal to index2.
// *Action: Correct the value of the two indexes and try the call to
//          again bind_array.
29252, 00000, "collection does not contain elements at index locations in call to dbms_sql.bind_array"
// *Cause:  The bound table does not contain elements at both index locations
//          in call to bind_array of dbms_sql.  This is illegal.
//          Both index locations must contain elements.
//          In other words tab.exists(index1) and tab.exists(index2) must
//          both return true.
// *Action: Either modify the two indexes or the contents of the table
//          and try the call again.
29253, 00000, "Invalid count argument passed to procedure dbms_sql.define_array"
// *Cause:  The count argument specified in the call to procedure define_array
//          of package dbms_sql had an invalid value.  Invalid values are
//          negative numbers and nulls.  The argument must be a positive
//          integer.
// *Action: Correct your PL/SQL program so that only valid arguments are passed
//          to define_array and try again.
29254, 00000, "Invalid lower_bound argument passed to procedure dbms_sql.define_array"
// *Cause:  The lower_bound argument specified in the call to procedure
//          define_array had an invalid value.  Legal values are all 
//          integers (both positive and negative) including zero.  The null
//          value is illegal.
// *Action: Correct your PL/SQL program so that only valid arguments are passed
//          to define_array and try again.
29255, 00000, "Cursor contains both bind and define arrays which is not permissible"
// *Cause:  Both define_array and bind_array have been called on this cursor.
//          This is illegal.  It is not possible for a cursor to both contain
//          array binds and array defines.  The semantics of this setting are
//          nonsensical.  Array defines are used to move data from select
//          queries into PL/SQL tables and array binds to bind PL/SQL tables
//          to non-select queries.
// *Action: Modify your PL/SQL program to only perform calls to one of the two
//          functions depending on the kind of cursor at hand.
29256, 00000, "Cursor contains both regular and array defines which is illegal"
// *Cause:  Both define_array and define_column have been called on this
//          cursor.  This is illegal.  It is not possible for a cursor
//          to both contain regular and array defines.  The semantics of this
//          setting are nonsensical.  Array defines are used to move data
//          from select queries into PL/SQL tables and regular defines to
//          move data from select queries into PL/SQL variables.
// *Action: Modify your PL/SQL program to only perform calls to one of the two
//          functions depending on the situation at hand.
29257, 00000, "host %s unknown"
// *Cause:  The specified host was unknown.
// *Action: Check the spelling of the host name or the IP address.  Make sure
//          that the host name or the IP address is valid.
29258, 00000, "buffer too small"
// *Cause:  The input or output buffer was too small for the operation.
// *Action: Increase the size of the buffer and retry the operation.
29259, 00000, "end-of-input reached"
// *Cause:  The end of the input was reached.
// *Action: If the end of the input is reached prematurely, check if the input
//          source terminates prematurely.  Otherwise, close the connection
//          to the input.
29260, 00000, "network error: %s"
// *Cause:  A network error occurred.
// *Action: Fix the network error and retry the operation.
29261, 00000, "bad argument"
// *Cause:  A bad argument was passed to the PL/SQL API.
// *Action: Check the arguments passed to the PL/SQL API and retry the call.
29262, 00000, "bad URL"
// *Cause:  An improperly formed URL was passed to the PL/SQL API.
// *Action: Check the URL and retry the call.
29263, 00000, "HTTP protocol error"
// *Cause:  A HTTP protocol error occured during the HTTP operation.
// *Action: Check the HTTP server that the HTTP operation was performed to
//          make sure that it follows the HTTP protocol standard.
29264, 00000, "unknown or unsupported URL scheme"
// *Cause:  The URL scheme was unknown or unsupported.
// *Action: Check the URL to make sure that the scheme is valid and supported.
29265, 00000, "HTTP header not found"
// *Cause:  The requested HTTP header was not found.
// *Action: Check to make sure that the requested HTTP header is present.
29266, 00000, "end-of-body reached"
// *Cause:  The end of the HTTP response body was reached.
// *Action: If the end of the HTTP response is reached prematurely, check if
//          the HTTP response terminates prematurely.  Otherwise, end the
//          HTTP response.
29267, 00000, "illegal call"
// *Cause:  The call to the PL/SQL API was illegal at the current stage of
//          the operation.
// *Action: Retry the call at a different stage of the operation.
29268, 00000, "HTTP client error %s"
// *Cause:  The HTTP response indicated that the HTTP client error occurred.
// *Action: Fix the HTTP client error and retry the HTTP request.
29269, 00000, "HTTP server error %s"
// *Cause:  The HTTP response indicated that the HTTP server error occurred.
// *Action: Fix the HTTP server error and retry the HTTP request.  Contact
//          the admistrator of the HTTP server when necessary.
29270, 00000, "too many open HTTP requests"
// *Cause:  Too many HTTP requests were opened.
// *Action: End some HTTP requests and retry the HTTP request.
29271, 00000, "not connected"
// *Cause:  The network connection was not made while the network operation was
//          attempted.
// *Action: Retry the network operation after the network connection is made
//          successfully.
29272, 00000, "initialization failed"
// *Cause:  The UTL_HTTP package failed to initialize.
// *Action: Free up some memory or other system resources and retry the
//          operation.
29273, 00000, "HTTP request failed"
// *Cause:  The UTL_HTTP package failed to execute the HTTP request.
// *Action: Use get_detailed_sqlerrm to check the detailed error message.
//          Fix the error and retry the HTTP request.
29274, 00000, "fixed-width multibyte character set not allowed for a URL"
// *Cause:  The character set used as an encoding of the URL is a fixed-width
//          multibyte character set and is not allowed for a URL.
// *Action: Use the corresponding variable-width multibyte character set for
//          the URL instead.
29275, 00000, "partial multibyte character"
// *Cause:  The requested read operation could not complete because a partial
//          multibyte character was found at the end of the input.
// *Action: Ensure that the complete multibyte character is sent from the
//          remote server and retry the operation. Or read the partial
//          multibyte character as RAW.
29276, 00000, "transfer timeout"
// *Cause:  Timeout occurred while reading from or writing to a network
//          connection.
// *Action: Check the remote server or the network to ensure that it responds
//          within the timeout limit. Or increase the timeout value.
29277, 00000, "invalid SMTP operation"
// *Cause:  The SMTP operation was invalid at the current stage of the SMTP
//          transaction.
// *Action: Retry the SMTP operation at the appropriate stage of the SMTP
//          transaction.
29278, 00000, "SMTP transient error: %s"
// *Cause:  A SMTP transient error occurred.
// *Action: Correct the error and retry the SMTP operation.
29279, 00000, "SMTP permanent error: %s"
// *Cause:  A SMTP permanent error occurred.
// *Action: Correct the error and retry the SMTP operation.
29280, 00000, "invalid directory path"
// *Cause:  A corresponding directory object does not exist.
// *Action: Correct the directory object parameter, or create a corresponding
//          directory object with the CREATE DIRECTORY command.
29281, 00000, "invalid mode"
// *Cause:  An invalid value was specified for file open mode.
// *Action: Correct the mode to be one of the values: 'r','a', or 'w'.
29282, 00000, "invalid file ID"
// *Cause:  A file ID handle was specified for which no corresponding
//          open file exists.
// *Action: Verify that the file ID handle is a value returned from a
//          call to UTL_FILE.FOPEN.
29283, 00000, "invalid file operation"
// *Cause:  An attempt was made to read from a file or directory that does
//          not exist, or file or directory access was denied by the 
//          operating system.
// *Action: Verify file and directory access privileges on the file system,
//          and if reading, verify that the file exists.
29284, 00000, "file read error"
// *Cause:  An attempt to read from a file failed.
// *Action: Verify that the file exists, and that it is accessible, and 
//          that it is open in read mode.
29285, 00000, "file write error"
// *Cause:  Failed to write to, flush, or close a file.
// *Action: Verify that the file exists, that it is accessible, and that 
//          it is open in write or append mode.
29286, 00000, "internal error"
// *Cause:  A fatal error occurred while allocating PL/SQL session memory.
// *Action: Verify that the PL/SQL session is connected and that 
//          adequate memory resources are available.
29287, 00000, "invalid maximum line size"
// *Cause:  An invalid maximum line size value was specified.
// *Action: Correct the maximum line size to be in the range [1, 32767].
29288, 00000, "invalid file name"
// *Cause:  A NULL or zero length file name was specified.
// *Action: Correct the file name to be a nonzero length string.
29289, 00000, "directory access denied"
// *Cause:  A directory object was specified for which no access is granted.
// *Action: Grant access to the directory object using the command
//          GRANT READ ON DIRECTORY [object] TO [username];.
29290, 00000, "invalid offset specified for seek"
// *Cause:  An attempt was made to seek past the end of the file, or
//          both the absolute and relative offsets were NULL, or
//          absolute offset was less than zero.
// *Action: If specifying an absolute offset, ensure it is in the range
//          [0, ], or
//          if specifying a relative offset, ensure it is no greater than the
//          current byte position plus the number of bytes remaining in the
//          file.
29291, 00000, "file remove operation failed"
// *Cause:  A file deletion attempt was refused by the operating system.
// *Action: Verify that the file exists and delete privileges granted on
//          the directory and the file.
29292, 00000, "file rename operation failed"
// *Cause:  A file rename attempt was refused by the operating system
//          either because the source or destination directory does not 
//          exist or is inaccessible, or the source file isn't accessible, 
//          or the destination file exists.
// *Action: Verify that the source file, source directory, and destination 
//          directory exist and are accessible, and that the destination
//          file does not already exist.
29293, 00000, "A stream error occurred during compression or uncompression."
// *Cause:  The stream state was discovered to be invalid during compression
//          or uncompression, or an invalid compression quality was requested
//          or a NULL or invalid compression parameter was detected.
// *Action: Verify that quality is within the range [0,9] and that valid
//          input source data exists.
29294, 00000, "A data error occurred during compression or uncompression."
// *Cause:  An error occurred while compressing or uncompressing input source.
// *Action: Verify that source data is a valid compressed or uncompressed
//          data set.


29295, 00000, "invalid mime header tag"
// *Cause:  An error occurred while scanning string for mime header tag
// *Action: Verify that source data is a valid mime header string, in the
//          format: =????=
29296, 00000, "invalid encoded string"
// *Cause:  An error occurred while decoding the input string
// *Action: Verify that source data is a valid encoded string.
29297, 00000, "The compressed representation is too big"
// *Cause:  The compressed output is too big to return.
// *Action: Do not attempt to compress source data.
29298, 00000, "Character set mismatch"
// *Cause:  The character set mode in which the file was opened did
//          not match the character set of the read or write operation.
// *Action: Use the correct UTL_FILE read and write procedures which
//          coorespond to the character set mode in which the file was 
//          opened.
29299, 00000, "Invalid handle for piecewise compress or uncompress"
// *Cause:  The process program opened too many handles, and the specified
//          handle was either uninitialized or outside a valid range.
// *Action: Close some handles and verify that the specified handle is opened
//          or within a valid range.


/
/
/ 29300 - 29399 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.
/
/ 29300 - 29354 RESERVED FOR THE DBMS_SQL PACKAGE
/
29300, 00000, "ORACLE error, tablespace point-in-time recovery"
// *Cause: Another ORACLE error occured in the DBMS_PITR package.
// *Action: See the text of the error message for a description of the error.
/
29301, 00000, "wrong DBMS_PITR package function/procedure order"
// *Cause: The DBMS_PITR package function/procedure was called in an incorrect
//         order.
// *Action: Restart tablespace point-in-time recovery with a correct procedure.
/
29302, 00000, "database is not open clone"
// *Cause: The database was not opened as a clone database.
// *Action: Mount the database clone and open the database.
/
29303, 00000, "user does not login as SYS"
// *Cause: The user did not log in as SYS to perform tablespace point-in-time
//         recovery in a clone database.
// *Action: Log in as SYS and restart tablespace point-in-time recovery.
/
29304, 00000, "tablespace '%s' does not exist"
// *Cause: The selected tablespace does not exist in the database.
// *Action: Check the list of tablespaces in V$TABLESPACE and select a valid
//          tablespace.
/
29305, 00000, "cannot point-in-time recover tablespace '%s'"
// *Cause: An attempt was made to ALTER the tablespace to be read only.
// *Action: Check if the tablespace is SYSTEM or with online rollback segment.
/
29306, 00000, "datafile %s is not online"
// *Cause: The selected datafile was not online.
// *Action: Bring the the datafile online and rename it if necessary.
/
29307, 00000, "datafile %s error, %s"
// *Cause: The datafile is not ready for tablespace point-in-time recovery.
// *Action: Check the correct tablespace point-in-time recovery procedure.
/
29308, 00000, "view TS_PITR_CHECK failure"
// *Cause: Some objects which crossed the boundary of the recovery set were
//         not allowed in the tabelspace point-in-time recovery.
// *Action: Query TS_PITR_CHECK and resolve the boundary crossing objects.
/
29309, 00000, "export dump file was generated by different version of DBMS_PITR package"
// *Cause: The version of DBMS_PITR is different from the version of the 
//         cloned database.
// *Action: Load the version of DBMS_PITR which matches the version of the 
//          cloned database.
/
29310, 00000, "database is not open, or opened as a clone"
// *Cause: Either the database was not open, or an attempt was made to open it
//         as a cloned database.
// *Action: Open the production database instead.
/
29311, 00000, "export dump file was not generated by this database, %s does not match"
// *Cause: The export dump files were imported to an incorrect database. 
// *Action: Open the correct production database and try the import again.
/
29313, 00000, "tablespace '%s' cannot be imported twice"
// *Cause: This is an internal error.
// *Action: Contact your database administrator.
/
29314, 00000, "tablespace '%s' is not OFFLINE FOR RECOVER nor READ ONLY"
// *Cause: Tablespace clean SCN is either 0 or invalid.
// *Action: ALTER the tablespace OFFLINE FOR RECOVER.
/
29315, 00000, "tablespace '%s' has been recreated"
// *Cause: An attempt was made to recover a tablespace to a point-in-time
//         before it was recreated. 
// *Action: Choose a different point in time for recovery.
/
29316, 00000, "datafile %s been imported twice"
// *Cause: This is an internal error.
// *Action: Contact your database administrator.
/
29317, 00000, "datafile %s does not exist"
// *Cause: The specified datafile could not be found in the production
//         database.
// *Action: Copy the datafile from the clone database.
/
29318, 00000, "datafile %s is online"
// *Cause: The datafile is online.
// *Action: Take the datafile offline.
/
29319, 00000, "datafile %s is not correct"
// *Cause: An incorrect datafile was copied to the production database. The
//         datafile information in the export dump file differs with the
//         information in the datafile in the production database. 
// *Action: Copy the datafile from the clone database to the production 
//          database.
/
29320, 00000, "datafile header error"
// *Cause: An error occured during reading datafile header.
// *Action: Copy the correct datafile from the clone database to the
//          production database, then retry the operation.
/
29321, 00000, "too many datafiles added since the point-in-time"
// *Cause: Too many datafiles were added to the recovery set since the 
//         point-in-time recovery.
// *Action: Divide the recovery set into smaller subsets and retry.
/
29322, 00000, "SCN string size too long -- maximum size 58 bytes/characters"
// *Cause: Too many characters in specifying the SCN string
// *Action: Remove all unnecessary characters. Only 15 characters are required
//          for both the hex and decimal representation of the 48 bit SCN.
/
29323, 00000, "ALTER DATABASE SET COMPATIBILITY command not supported by %s"
// *Cause: The ALTER DATABASE SET COMPATIBILITY command failed because one 
//         or more instances do not support dynamic compatible setting change. 
// *Action:  No action required.
29324, 00000, "SET COMPATIBILITY release string format is wrong"
// *Cause: It should be of the form x.x.x
// *Action: Use the correct format. 
/
29325, 00000, "SET COMPATIBILITY release number lower than %s"
// *Cause: The SET COMPATIBILITY release compatibility release number was lower
//         than the current compatible setting.
// *Action: Specify a higher release number.
/
29326, 00000, "SET COMPATIBILITY release number higher than %s"
// *Cause: The ALTER DATABASE SET COMPATIBILITY command failed because one 
//         or more instances had a lower release number.
// *Action: Specify a lower release number.
/
29327, 00000, "unsupported client compatibility mode used when talking to the server" 
// *Cause: The client compatibility mode is higher than the 
//         version of the server. 
// *Action: Using SET COMPATIBILITY command, specify the same 
//          release number as the server. 
/
29328, 00000, "too many datafiles in this tablespace '%s'"
// *Cause: Too many datafiles in this bitmap tablespace.  ORACLE does not  
//         support at this moment.
// *Action: Call Oracle Support.
/
29329, 00000, "Table not of type XMLType"
// *Cause: Table is not XMLType table
// *Action: Ensure table is a XMLType table
/
/
/   29330 - 29334 Reserved for DBMS_SQLPLUS_SCRIPT and UTL_HTTP packages
/
29330, 00000, "Source script length too big"
// *Cause: Source script length exceeded the maximum size of 4 Gigabytes.
// *Action: Make sure source script length is not greater than 4 Gigabytes.
/
29331, 00000, "HTTP redirection %s"
// *Cause: The HTTP response indicated a redirection to another location.
// *Action: Retry the HTTP request at the redirected location.
/
/
/   29335 - 29349 Reserved for Pluggable Tablespace errors.
/
29335, 00000, "tablespace '%s' is not read only"
// *Cause: The tablespace is not read only. 
// *Action: Make the tablespace read only and retry the operation.
/
29336, 00000, "Internal error [%s] [%s] from DBMS_PLUGTS"
// *Cause:  Internal error from package DBMS_PLUGTS.
// *Action: Call Oracle Support.
/
29337, 00000, "tablespace '%s' has a non-standard block size (%s)"
// *Cause:  The tablespace has a non-standard block size and making 
//          such a tablespace read-write is not permitted.
// *Action: Use some other mechanism to import the data
/
29338, 00000, "datafile %s is in an undesired state (%s, %s)"
// *Cause:  The referred datafile is not in a state ready for tablespace
//          copy operation. For example, the datafile may be offline.  The
//          datafile needs to be ONLINE, and either READ ONLY or READ WRITE.
// *Action: Put the datafile into the desired state.
/
29339, 00000, "tablespace block size %s does not match configured block sizes"
// *Cause:  The block size of the tablespace to be plugged in or
//          created does not match the block sizes configured in the 
//          database.
// *Action:Configure the appropriate cache for the block size of this 
//         tablespace using one of the various (db_2k_cache_size, 
//         db_4k_cache_size, db_8k_cache_size, db_16k_cache_size, 
//         db_32K_cache_size) parameters.
/
29340, 00000, "export file appears to be corrupted: [%s] [%s] [%s]"
// *Cause:  This is caused either by a corrupted export file or by an
//          Oracle internal error.
// *Action: Make sure the export file used for transportable tablespace
//          is not corrupted.  If the error still occurs, call Oracle support.
/
29341, 00000, "The transportable set is not self-contained"
// *Cause:  The set of objects in the set of tablespaces selected are
//          not self-contained.
// *Action: Consider using different export options, or removing some 
//          of the pointers that caused the violation, or selecting a 
//          different set of tablespaces.
/
29342, 00000, "user %s does not exist in the database"
// *Cause:  The referred user is one of the owners of data in the 
//          pluggable set. This user does not exist in the database.
// *Action: Consider either creating the user in the database or map 
//          the user to a different user via FROM_USER and TO_USER
//          import options.
/
29343, 00000, "user %s (mapped from user %s) does not exist in the database"
// *Cause:  The referred user is one of the owners of data in the 
//          pluggable set. This user does not exist in the database.
// *Action: Consider either creating the user or map the original user to
//          a different user.
/
29344, 00000, "Owner validation failed - failed to match owner '%s'"
// *Cause:  The system failed to match the referred owner. There are two
//          cases that this may occur. (1) This user owns data in the 
//          transportable set, but this user is not specified in the TTS_OWNERS
//          list of the import command line option, assuming that TTS_OWNERS
//          is specified. (2) This user is specified in the TTS_OWNER list,
//          but this user does not own any data in the transportable set.
// *Action: Retry import with a different OWNER list.
/
29345, 00000, "cannot plug a tablespace into a database using an incompatible character set"
// *Cause:  Oracle does not support plugging a tablespace into a database 
//          using an incompatible character set.
// *Action: Use import/export or unload/load to move data instead.
/
29346, 00000, "invalid tablespace list"
// *Cause:  the tablespace list supplied to dbms_tts.transport_set_check
//          PL/SQL routine is in an incorrect format.
// *Action: Check the manual and use the correct format.
/
29347, 00000, "Tablespace name validation failed - failed to match tablespace '%s'"
// *Cause:  The system failed to match the referred tablespace.  There are
//          2 cases that this may happen. (1) This tablespace is in the
//          transportable set, but it is not specified in the TABLESPACES 
//          list of the import command line option, assuming that TABLESPACES
//          is specified. (2) This tablespace is in the TABLESPACES list, but
//          it is not in the transportable set.
// *Action: Retry the operation with the correct TABLESPACES list.
/
29348, 00000, "You must specify the datafiles to be plugged in"
// *Cause:  The datafiles to be plugged in are not specified.
// *Action: Specify the datafiles via the import DATAFILES command
//          line option.
/
29349, 00000, "tablespace '%s' already exists"
// *Cause:  Tried to plug-in a tablespace which already exists. 
// *Action: Drop the offending tablespace if possible. Otherwise use a
//          different method (e.g., import/export) to move data.
/
29350, 00000, "server version %s incompatible with package %s version %s"
/
29351, 00000, "can not transport system, sysaux, or temporary tablespace '%s'"
// *Cause:  The referred tablespace is either the system tablespace, the
//          sysaux tablespace, or a temporary tablespace.
// *Action: Do not include this tablespace in the transportable set.
29352, 00000, "event '%s' is not an internal event"
// *Cause:  The DBMS_SYSTEM.WAIT_FOR_EVENT procedure was called with an event 
//          name that is not an internal event. 
// *Action: Check the list of events from X$KSLED and verify the event name 
//          parameter passed to the WAIT_FOR_EVENT procedure.
29353, 00000, "The transportable list is too long."
// *Cause:  The transportable list exceeds the buffer size of 32767.
// *Action: Reduce the list of tablespaces to transport.
/
29354, 00000, "cannot transport rekeying tablespace '%s'"
// *Cause:  An attempt to transport a tablespace, or unplug a pluggable
//          database containing a tablespace in the middle of a tablespace
//          encrypt, decrypt, or rekey failed.
// *Action: Wait for the tablespace rekey to finish, or use the ALTER
//          TABLESPACE ENCRYPTION FINISH [ ENCRYPT | DECRYPT | REKEY ] command
//          to resume and finish the encrypt, decrypt, or rekey operation first.  
/
/ 29355 - 29399 RESERVED FOR DBMS RESOURCE MANAGER PACKAGES
/
29355, 00000, "NULL or invalid %s argument specified"
// *Cause:  The named argument was either invalid or specified as a NULL
// *Action: Specify non-null, valid arguments.
/
29356, 00000, "These parameters can be specified only for directives that refer to consumer groups."
// *Cause:  A parameter was specified as an argument to procedure
//          CREATE_PLAN_DIRECTIVE or UPDATE_PLAN_DIRECTIVE of package
//          DBMS_RESOURCE_MANAGER that is not allowed when the
//          GROUP_OR_SUBPLAN is a plan.
//          Only the following parameters are allowed when
//          GROUP_OR_SUBPLAN is a plan:
//           - MGMT_P1, MGMT_P2, MGMT_P3, MGMT_P4
//             MGMT_P5, MGMT_P6, MGMT_P7, MGMT_P8
//           - UTILIZATION_LIMIT
// *Action: Specify only these parameters when GROUP_OR_SUBPLAN is a plan.
/
29357, 00000, "object %s already exists"
// *Cause:  The name specified as an argument to procedure CREATE_PLAN, 
//          CREATE_CDB_PLAN, CREATE_CONSUMER_GROUP,
//          or CREATE_CATEGORY of package DBMS_RESOURCE_MANAGER
//          was already in use.
// *Action: Specify an unused name.
/
29358, 00000, "resource plan %s does not exist"
// *Cause:  An invalid plan name was specified as an argument to procedure 
//          UPDATE_PLAN or UPDATE_CDB_PLAN of package DBMS_RESOURCE_MANAGER.
// *Action: Specify an existing plan name.
/
29359, 00000, "invalid method name %s specified for resource plan %s"
// *Cause:  An invalid method was specified as an argument to 
//          procedure CREATE_PLAN or UPDATE_PLAN of package 
//          DBMS_RESOURCE_MANAGER.
// *Action: Specify a valid method name.
/
29360, 00000, "resource plan %s contains multiple directives for subplan %s"
// *Cause:  A resource plan and its subplans had more than one directive 
//          for a particular subplan. 
// *Action: Modify the resource plan or its subplans so that there is at most 
//          one directive for this subplan.
/
29361, 00000, "value %s for %s is outside valid range of 0 to 100"
// *Cause:   An invalid value was specified for a plan directive parameter.
// *Action:  Specify a value between 0 and 100 inclusive.
/
29362, 00000, "plan directive %s, %s does not exist"
// *Cause:  A nonexistent plan directive was specified for procedure 
//          UPDATE_PLAN_DIRECTIVE or UPDATE_CDB_PLAN_DIRECTIVE
//          of package DBMS_RESOURCE_MANAGER.
// *Action: Specify an existing plan directive for update.
/
29363, 00000, "plan directive %s, %s is mandatory and cannot be modified or deleted"
// *Cause:  An attempt was made to modify a mandatory plan directive.
// *Action: Do not attempt to modify mandatory plan directives because they
//          are required by the Resource Manager and cannot be modified.
/
29364, 00000, "plan directive %s, %s already exists"
// *Cause:  An attempt was made to create a plan directive that already exists.
// *Action: Retry the create operation using different values.
/
29365, 00000, "parameters %s and %s cannot both be set"
// *Cause:  An attempt was made to set both parameters.
// *Action: Only set one of parameters or neither of them.
29366, 00000, "invalid CONSUMER_GROUP argument specified"
// *Cause:  An invalid consumer group name was specified.
// *Action: Specify a non-NULL, valid consumer group name.
/
29367, 00000, "object %s does not exist"
// *Cause:  A non-existent object name was specified as an argument to procedure
//          CREATE_PLAN_DIRECTIVE of package DBMS_RESOURCE_MANAGER.
// *Action: Specify a valid plan or consumer group name.
/
29368, 00000, "consumer group %s does not exist"
// *Cause:  An non-existent consumer group was specified.
// *Action: Specify an existing consumer group.
/
29369, 00000, "invalid method name %s specified for consumer group %s"
// *Cause:  An invalid method name was specified as an argument to 
//          procedure CREATE_CONSUMER_GROUP or UPDATE_CONSUMER_GROUP of package 
//          DBMS_RESOURCE_MANAGER.
// *Action: Specify a valid method name.
/
29370, 00000, "pending area is already active"
// *Cause:    An attempt was made to activate a pending area that is 
//            already active.
// *Action:   Wait until the pending area is no longer active; then, retry
//            the operation.
/
29371, 00000, "pending area is not active"
// *Cause:    An attempt was made to make changes without creating a pending
//            area.
// *Action:   Invoke procedure CREATE_PENDING_AREA before making any changes.
/
29372, 00000, "value for argument %s is too long; it must be less than %s characters"
// *Cause:    An attempt was made to specify a string that exceeds
//            the maximum length for that parameter.
// *Action:   Use a value that fits within the specified limit.
/
29373, 00000, "resource manager is not on"
// *Cause:    An attempt was made to execute an operation that cannot be
//            executed with the resource manager being off
// *Action:   Turn on the resource manager and try again.
/
29374, 00000, "resource plan %s in top-plan %s has no plan directives"
// *Cause:    A plan was created in the pending area that is an orphan or 
//            stand-alone.
// *Action:   Create plan directives if needed. Otherwise, delete the plan.
/
29375, 00000, "sum of values %s for level %s, plan %s exceeds %s"
// *Cause:    The sum of plan directive parameter values for the specified 
//            plan level exceeded the limit specified.
// *Action:   Alter the values for the level so that the sum is less
//            than the limit specified.
/
29376, 00000, "number of consumer groups %s in plan %s exceeds %s"
// *Cause:    The number of consumer groups in the specified plan was 
//            more than the limit specified.
// *Action:   Change the plan so that the number of consumer groups
//            is less than the limit specified.
/
29377, 00000, "consumer group %s is not part of top-plan %s"
// *Cause:    OTHER_GROUPS was not included as part of the specified top-plan.
//            Each top plan must include the built-in consumer group 
//            OTHER_GROUPS.
// *Action:   Create a plan directive with the argument GROUP_OR_SUBPLAN 
//            being OTHER_GROUPS somewhere in the top-plan.
/
29378, 00000, "invalid consumer group mapping priorities"
// *Cause:    The mapping priorities were not unique integers within the 
//            valid range.
// *Action:   Set the mapping priorities to unique integers within the 
//            documented range.
/
29379, 00000, "resource plan %s is involved in a loop in top-plan %s"
// *Cause:    A loop was discovered while validating a top-plan.
// *Action:   Check the plans that have the specified plan as a GROUP_OR_SUBPLAN,
//            and remove the plan directive that causes the loop.
/
29380, 00000, "resource plan %s is currently active and cannot be deleted"
// *Cause:    An attempt was made to delete an active plan in the pending area.
//            No changes can be made to active plans.
// *Action:   Delete the plan when it is not in use.
/
29381, 00000, "plan/consumer_group %s referred to by another plan and cannot be deleted"
// *Cause:    An attempt was made to delete a plan or consumer group that is 
//            referred to by another plan.
// *Action:   Remove all plan directives that have the plan or consumer group as 
//            GROUP_OR_SUBPLAN; then delete the plan or consumer group.
/
29382, 00000, "validation of pending area failed"
// *Cause:    Invalid changes were attempted in the pending area.
// *Action:   See documentation and the error messages that follow this one.
/
29383, 00000, "all leaves of top-plan %s must be consumer groups"
// *Cause:    An attempt was made to create or modify the specified top-plan
//            but it has some plans as leaves.
// *Action:   To identify which plans and/or plan directives need to be modified,
//            look at all plans that have no plan directives. Then, alter the 
//            top-plan so that all its leaves are consumer groups.
/
29384, 00000, "number of consumer groups and subplans for plan %s exceeds %s"
// *Cause:    An attempt was made to create or modify the specified plan, but
//            the plan has more than 28 consumer groups or subplans.
// *Action:   Make sure the specified plan points to no more than 28 distinct
//            consumer groups or subplans.
/
29385, 00000, "cannot create plan directive from %s to %s"
// *Cause:    An attempt was made to create a plan directive from a plan to
//            itself.
// *Action:   Make sure the arguments PLAN and GROUP_OR_SUBPLAN to procedure
//            CREATE_PLAN_DIRECTIVE of package DBMS_RESOURCE_MANAGER are 
//            different.
/
29386, 00000, "plan or consumer group %s is mandatory and cannot be deleted or modified"
// *Cause:    An attempt was made to delete or modify the specified mandatory 
//            plan or consumer group.
// *Action:   Do not attempt to delete or modify mandatory plans and 
//            consumer groups.
/
29387, 00000, "no top-plans found in the pending area"
// *Cause:    The VALIDATE_PENDING_AREA procedure found that either the 
//            intended top-plan(s) are involved in a loop or there are no 
//            top-plans.
// *Action:   Check all edges going from a subplan to the intended top-plan.
//            Make sure the top plan does not have any plan referring to it.
/
29388, 00000, "plan/consumer_group %s is part of more than one top-plan"
// *Cause:    An attempt was made to delete a subtree that includes a plan or 
//            consumer group that is part of more than one top-plan as part 
//            of procedure DELETE_PLAN_CASCADE or package DBMS_RESOURCE_MANAGER.
//            Such a plan or consumer group cannot be deleted.
// *Action:   Check the ancestors of the plan or consumer group and make sure 
//            it is only part of the top-plan that includes the subtree being 
//            deleted.
/
29389, 00000, "too many errors during validation"
// *Cause:    The number of errors detected during validation is too high.
// *Action:   Perform the necessary actions to remove some errors, and retry 
//            validation.
/
29390, 00000, "some resource plans are not part of any top-plan"
// *Cause:    An attempt was made to create or modify some plans in the
//            pending area that are not part of any top-plan
// *Action:   Remove these plans are try validation again.
/
29391, 00000, "%s and %s must be mandatory to create a mandatory plan directive"
// *Cause:    An attempt was made to create a mandatory plan directive where 
//            either PLAN or GROUP_OR_SUBPLAN or both were not mandatory
// *Action:   Recreate these objects as mandatory and then create the plan
//            directive.
/
29392, 00000, "cpu parameters for level %s for plan %s must be zero"
// *Cause:    The cpu parameters for the specified level had a non-zero value,
//            which is not a valid value for the plan's current cpu policy.
// *Action:   Change the cpu level parameters for the specified level to zero 
//            or change the plan cpu policy. 
/
29393, 00000, "user %s does not exist or is not logged on"
// *Cause:    An invalid user name was specified as argument to procedure
//            SET_INITIAL_CONSUMER_GROUP of package DBMS_RESOURCE_MANAGER 
//            or SWITCH_CONSUMER_GROUP_FOR_USER of package DBMS_SYSTEM or
//            the specified user was not logged on.
// *Action:   Specify a valid user name.
/
29394, 00000, "session id %s and serial# %s do not exist"
// *Cause:    Invalid session id and serial# were specified as arguments to
//            procedure SWITCH_CONSUMER_GROUP_FOR_SESS of package
//            DBMS_SYSTEM.
// *Action:   Specify valid values from the view V$SESSION.
/
29395, 00000, "cannot set the initial consumer group to %s"
// *Cause:    An attempt was made to set the initial consumer group of a user to
//            OTHER_GROUPS or an INTERNAL_USE group.
// *Action:   Certain groups are only for the resource manager's internal use.
//            Specify another consumer group.
/
29396, 00000, "cannot switch group to %s"
// *Cause:    An attempt was made to switch the consumer group of a user or
//            a session to OTHER_GROUPS or an INTERNAL_USE group.
// *Action:   Certain groups are only for the resource manager's internal use.
//            Specify another consumer group.
/
29397, 00000, "cannot grant/revoke switch privilege for %s"
// *Cause:    An attempt was made to grant or revoke the privilege to switch 
//            to OTHER_GROUPS or an INTERNAL_USE group.
// *Action:   Certain groups are only for the resource manager's internal use.
//            Specify another consumer group.
/
29398, 00000, "invalid privilege name specified"
// *Cause:    An invalid privilege name was specified as an argument to
//            procedure GRANT_SYSTEM_PRIVILEGE or REVOKE_SYSTEM_PRIVILEGE of
//            package DBMS_RESOURCE_MANAGER_PRIVS.
// *Action:   Specify a valid privilege name.
/
29399, 00000, "user %s does not have privilege to switch to consumer group %s"
// *Cause:    An attempt was made to set the initial consumer group of the 
//            specified user but the user does not have the privilege to
//            switch to that group.
// *Action:   Grant the privilege to switch to the consumer group to the user
//            and then set the initial group.
/
/ 29400 - 29469 Reserved for Oracle8 Data Cartridges
/
29400, 00000, "data cartridge error\n%s"
// *Cause:  An error has occurred in a data cartridge external procedure.
//          This message will be followed by a second message giving
//          more details about the data cartridge error.
// *Action: See the data cartridge documentation
//          for an explanation of the second error message.
29401, 00000, "data cartridge internal error [%s]"
// *Cause:  The data cartridge encountered an unexpected condition.
//          The argument is a string that identifies the internal
//          error to Oracle development.
//          This argument and the database version number are critical in
//          identifying the root cause.
// *Action: Contact Oracle Support Services.
/
/
/ 29470 - 29489 RESERVED FOR THE DBMS_SQL PACKAGE
/
29470, 00000, "Effective userid or roles are not the same as when cursor was parsed"
// *Cause:  The effective userid or roles on this call to DBMS_SQL are not the
//          same as those at the time the cursor was parsed.
// *Action: Make sure the effective userid and roles are the same as when cursor
//          was pared.

29471, 00000, "DBMS_SQL access denied" 
// *Cause:  DBMS_SQL access was denied due to security concerns.
// *Action: Check the alert log and trace file for more information.

29472, 00000, "DBMS_SQL.OPEN_CURSOR failed. security_level is outside the valid range of 0 to 2" 
// *Cause:  An invalid security_level value was specified.
// *Action: Specify a valid range of 0 to 2. 

29473, 00000, "privilege checking level specified for '%s' must be between 0 and 2" 
// *Cause:  Invalid privilege checking level specified.
// *Action: Correct the privilege checking level specified.

29474, 00000, "DBMS_SQL.OPEN_CURSOR failed. security_level of 0 is not allowed" 
// *Cause:  Security level of 0 is specified with DBMS_SQL.OPEN_CURSOR.
// *Action: Specify a valid security level. 
29475, 00000, "useLogonRoles=>TRUE not permitted with userid=>NULL" 
// *Cause:  An unsupported combination of argument values was present in a call
//          to DBMS_SYS_SQL.PARSE_AS_USER.
// *Action: Specify a valid combination of argument values.
29476, 00000, "DBMS_SQL.CLOSE_CURSOR failed"
// *Cause:  An attempt was made to close a DBMS_SQL cursor while it was
//          executing under its own context.
// *Action: Rewrite the program so that it does not attempt to close a 
//          DBMS_SQL cursor while it is executing under its own context.
29477, 00000, "SQL statement size in bytes is too big"
// *Cause:  The size of the SQL statement exceeded 4 gigabytes -1. 
// *Action: Reduce the size of the SQL statement.
29478, 00000, "Implicit result cannot be returned through this statement."
// *Cause:  An attempt was made to return an implicit result through a
//          statement type other than a PL/SQL or DML statement.
// *Action: Implicit results can only be returned through a PL/SQL or DML
//          statement.
29479, 00000, "Cannot return any more implicit results, limit 2,147,483,647 reached."
// *Cause:  An attempt was made to return more than the maximum number of
//          implicit results permitted.
// *Action: Ensure the number of implicit results does not exceed
//          2,147,483,647.
29480, 00000, "No more implicit results to retrieve."
// *Cause:  An attempt was made to retrieve implicit results when none were
//          available.
// *Action: This is an internal error.
29481, 00000, "Implicit results cannot be returned to client."
// *Cause:  An attempt was made to return implicit results to an older version
//          client that is not capable of receiving these implicit results.
// *Action: Upgrade the Oracle Database Client software.
/
29482, 00000, "Cannot specify both userid or username and xs_sessionid"
// *Cause:  An unsupported combination of argument values was present in a call
//          to DBMS_SYS_SQL.PARSE_AS_USER.
// *Action: Specify a valid combination of argument values.
/
29483, 00000, "Cannot specify both userid and username"
// *Cause:  An unsupported combination of argument values was present in a call
//          to DBMS_SYS_SQL.PARSE_AS_USER.
// *Action: Specify a valid combination of argument values.
/
29484, 00000, "Cannot specify both xs_sessionid and useLogonRoles=>TRUE" 
// *Cause:  An unsupported combination of argument values was present in a call
//          to DBMS_SYS_SQL.PARSE_AS_USER.
// *Action: Specify a valid combination of argument values.
/
29485, 00000, "Complex type bind or define is not a linked type."
// *Cause:  A complex type bound or defined in one container, where cursor 
//          execution occurs in another container, was not an object or 
//          metadata linked type.
// *Action: Verify that all complex types that are bound or defined in one 
//          container while execution occurs in another container are 
//          object or metadata linked types.
/
/ 29490 - 29499 RESERVED FOR THE DBMS_PARALLEL_EXECUTE PACKAGE
/
29490, 00000, "insufficient privilege" 
// *Cause:  The ADM_PARALLEL_EXECUTE role needed to execute the subprogram was not granted.
// *Action: Obtain ADM_PARALLEL_EXECUTE role and try again.
/
29491, 00000, "invalid table for chunking" 
// *Cause:  An attempt was made to chunk a table by ROWID, but the table was not a physical table or the table was an IOT.
//          physical table or the table is an IOT.
// *Action: Use a table which has physical ROWID.
/
29492, 00000, "invalid state for create chunk" 
// *Cause:  An attempt was made to create chunks on a task which was not in the CREATED state.
// *Action: Make sure that the task is in the CREATED state.
/
29493, 00000, "invalid status" 
// *Cause:  An attempt was made to set an invalid value to the chunk status.
// *Action: Make sure that the status value is valid.
/
29494, 00000, "invalid state for run task" 
// *Cause:  An attempt was made to execute the task which was not in the CHUNKED state.
// *Action: Make sure that the task is in the CHUNKED state.
/
29495, 00000, "invalid state for resume task" 
// *Cause:  An attempt was made to resume execution but the task was not the FINISHED_WITH_ERROR or CRASHED state.
// *Action: Make sure that the task is in the FINISHED_WITH_ERROR or CRASHED
//          state.
/
29496, 00000, "Parameter [%s] is null or its value length exceeds the maximum limit [%s]"
// *Cause:  The input argument was null, or it exceeded the maximum length limit.
// *Action: Make sure that the argument is not null, and its length is within the limit.
/
29497, 00000, "duplicate task name" 
// *Cause:  A task with the same name was already in existence.
// *Action: Use another name.
/
29498, 00000, "task not found" 
// *Cause:  The task did not exist.
// *Action: Use an existing task.
/
29499, 00000, "chunk not found" 
// *Cause:  The specified chunk did not exist.
// *Action: Specify an existing chunk.
/


/ 29500 - 29699 Reserved for DDL and other integration for
/               embedding Aurora group's Java VM in the server
/
29500, 00000, "NAMED keyword is invalid in CREATE JAVA CLASS"
// *Cause: A NAMED keyword was specified in the CREATE JAVA CLASS
//          statement.  NAMED keywords are valid only in CREATE JAVA
//          SOURCE or RESOURCE statements.
// *Action: Remove the NAMED keyword from the CREATE JAVA
//           CLASS statement.
/
29501, 00000, "invalid or missing Java source, class, or resource name"
// *Cause: The required name for a Java source, class, or resource
//          was invalid or missing.
// *Action: Specify a valid name.
/
29502, 00000, "NAMED keyword required in CREATE JAVA RESOURCE"
// *Cause: The name for a Java resource was not specified. The name
//          must be specified with the NAMED keyword.
// *Action: Specify a valid name with the NAMED keyword.
/
29503, 00000, "SCHEMA keyword not valid with NAMED keyword"
// *Cause: SCHEMA and NAMED keywords were used together in the same
//          CREATE JAVA command, but only one may be used in a
//          CREATE JAVA command.
// *Action: Remove either the NAMED or the SCHEMA keyword.
/
29504, 00000, "invalid or missing schema name"
// *Cause: The required schema name was invalid or missing.
// *Action: Specify a valid schema name.
/
29505, 00000, "AS keyword is invalid in CREATE JAVA CLASS or RESOURCE"
// *Cause: The AS keyword was used in CREATE JAVA CLASS or RESOURCE.
//         The AS keyword is valid only in CREATE JAVA SOURCE.
// *Action: Use the USING keyword in CREATE JAVA CLASS or RESOURCE.
/
29506, 00000, "invalid query derived from USING clause"
// *Cause: The USING clause did not form a valid query.
// *Action: Correct the USING clause.
/
29507, 00000, "query derived from USING clause found zero or many rows"
// *Cause: The USING clause defined a query that either did not return any 
//         values, or returned more than one value. 
// *Action: Correct the USING clause.
/
29508, 00000, "query derived from USING clause did not select a value of type %s"
// *Cause: The USING clause did not form a query that selects a value of
//          the type specified by the term following the USING keyword.
// *Action: Correct the USING clause.
/
29509, 00000, "incorrectly formed Java binary class definition"
// *Cause: An attempt was made to create a Java class using data expected
//          to be in binary (Java .class) format.  The data was found not
//          to be in this format, or to be incorrectly formed.
// *Action: Correct the definition data.
/
29510, 00000, "name, %s.%s, already used by an existing object"
// *Cause: A CREATE JAVA command attempted to create a source, class,
//          or resource object with a name that is already in use.
// *Action: Drop the existing object that is using the desired name,
//          or use a different name for the new object.
/
29511, 00000, "could not resolve Java class"
// *Cause: A CREATE AND RESOLVE NOFORCE JAVA CLASS command specified
//          definition data that could not be resolved, or resolution
//          failed for some referenced class.
// *Action: Remove the NOFORCE option or remove impediments to resolution.
/
29512, 00000, "incorrectly formed name resolver specification"
// *Cause: A name resolver was not specified in the required
//          form: (( , ) ...)
// *Action: Correct the specification.
/
29513, 00000, "referenced class name too long"
// *Cause: An attempt was made to import a .class file containing a
//          class name of length greater than %d. The .class file
//          could not be imported because the referenced class name
//          was too long.
// *Action: Shorten the referenced class name in the .class file.
/
29514, 00000, "class name contains illegal character"
// *Cause: An attempt was made to import a .class file containing a
//          character that cannot be converted to the server character
//          set. The .class file could not be imported because of the
//          illegal character.
// *Action: Correct the illegal character in the .class file.
/
29515, 00000, "exit called from Java code with status %s"
// *Cause: Java code included a call to
//          java.lang.Runtime.exitInternal.
// *Action: Do not include this call unless non-local exit is desired.
/
29516, 00000, "Aurora assertion failure: %s"
// *Cause: An internal error occurred in the Aurora module.
// *Action: Contact Oracle Worldwide Support.
/
29517, 00000, "recursive resolution failed for a referenced class"
// *Cause: An attempt to resolve a referenced class failed.
// *Action: Review the errors for referenced classes and complete the
//          necessary actions to correct them.
/
29518, 00000, "name %s resolved to an object in schema %s that is not a Java class"
// *Cause: A referenced name was resolved to an object that is not
//          a Java class.
// *Action: Adjust name resolver or add missing Java class.
/
29519, 00000, "name %s resolved via a synonym in schema %s to a class with a different name"
// *Cause: A referenced name was resolved to a synonym, which translated to
//          a class whose name does not match the referenced name.
// *Action: Adjust name resolver or add missing Java class.
/
29520, 00000, "name %s resolved to a class in schema %s that could not be accessed"
// *Cause: An attempt to access a referenced class failed.
// *Action: Adjust authorizations or name resolution.
/
29521, 00000, "referenced name %s could not be found"
// *Cause: Name resolution failed to find an object with the indicated name.
// *Action: Adjust name resolver or add missing Java class.
/
29522, 00000, "authorization error for referenced name %s.%s"
// *Cause: An attempt was made to resolve a class that is not authorized
//         to use the indicated referenced class.
// *Action: Adjust authorizations or name resolution.
/
29523, 00000, "authorization error for unknown referenced name"
// *Cause: An attempt was made to resolve a class that is not authorized
//         to use a referenced class. The name of the referenced class
//         could not be determined.
// *Action: Adjust authorizations or name resolution.
/
29524, 00000, "wrong types of arguments in call to '%s'"
// *Cause: A method was called with argument(s) of incompatible type(s).
// *Action: Adjust caller.
/
29525, 00000, "referenced name is too long: '%s'"
// *Cause: An attempt was made to create a class that references a name
//         longer than 4000 characters. The class could not be created
//         because the name is too long.
// *Action: Adjust the definition.
/
29526, 00000, "created Java class %s\"%s\""
// *Cause: An informational message, not an error.
// *Action: None.
/
29527, 00000, "created Java source %s\"%s\""
// *Cause: An informational message, not an error.
// *Action: None.
/
29528, 00000, "invalid Java call in trigger %s"
// *Cause: The Java method specified in trigger does not exist or cannot be
//          called as used.
// *Action: Adjust trigger definition.
/
29529, 00000, "invalid function or method call %s in trigger %s"
// *Cause: The function or method specified in Java trigger call expression
//          could not be resolved.
// *Action: Adjust trigger definition.
/
29530, 00000, "could not create shortened name for %s"
// *Cause: Insert into shortened name translation table failed.
// *Action: Retry the insert.
/
29531, 00000, "no method %s in class %s"
// *Cause: An attempt was made to execute a non-existent method in a
//          Java class.
// *Action: Adjust the call or create the specified method.
/
29532, 00000, "Java call terminated by uncaught Java exception: %s"
// *Cause: A Java exception or error was signaled and could not be
//          resolved by the Java code.
// *Action: Modify Java code, if this behavior is not intended.
/
29533, 00000, "attempt to overwrite class or resource %s while defining or compiling %s.%s"
// *Cause: A class or resource defined by a SQLJ source conflicted with an existing object.
// *Action: Remove existing object, or modify SQLJ source.
/
29534, 00000, "referenced object %s.%s could not be resolved"
// *Cause: Name resolution determined that the indicated object is referenced
//          but could not be resolved.
// *Action: Correct name resolver or address resolution problems in the
//          referenced class, or correct compilation problems in its source.
/
29535, 00000, "source requires recompilation"
// *Cause: The reason the current class object was invalid is recorded
//          with the source object from which it was compiled.
// *Action: Inspect errors in the source object and take the necessary
//          corrective actions.
/
29536, 00000, "badly formed source: %s"
// *Cause: An attempt was made to create a Java source object with text
//          that could not be parsed adequately to determine the class(es)
//          defined by it.
// *Action: Correct errors in source.
/
29537, 00000, "class or resource cannot be created or dropped directly"
// *Cause: An attempt was made to create or drop a Java class or resource that
//          is known to result from compilation of an existing Java source object.
// *Action: Act on the class or resource by acting on the source, or change
//          the source so that it no longer defines the class or resource.
/
29538, 00000, "Java not installed"
// *Cause: An attempt was made to use a Java command when Java is not installed.
// *Action: Install Java, or do not use the command.
/
29539, 00000, "Java system classes already installed" 
// *Cause:  An attempt was made to use the CREATE JAVA SYSTEM command in a
//          database where the Java system classes already are installed.
// *Action: Use CREATE OR REPLACE JAVA SYSTEM.

29540, 00000, "class %s does not exist"  
// *Cause: Java method execution failed to find a class with the indicated name.  
// *Action: Correct the name or add the missing Java class.  
/  
29541, 00000, "class %s.%s could not be resolved"  
// *Cause: An attempt was made to execute a method in a Java class 
//         that had not been previously and cannot now be compiled 
//         or resolved successfully. 
// *Action: Adjust the call or make the class resolvable.  

29542, 00000, "class %s already defined by source %s"  
// *Cause: An attempt was made to create a Java source object that
//         would define a class that is already defined by a different
//         Java source object.
// *Action: Either drop the old source or modify the new source.

29543, 00000, "Java command %s not yet implemented"   
// *Cause: An attempt was made to use a Java command that is   
//         not yet implemented.   
// *Action: Do not use the command.  
/
29544, 00000, "invalid type"
// *Cause: The type argument in a call to a Java export or import command
//         did not have a recognized value.
// *Action: Correct the value.  
/
29545, 00000, "badly formed class: %s"
// *Cause: An attempt was made to create a Java class object with bytecodes
//         that were rejected by the Java verifier.
// *Action: It is possible that an attempt was made to create the Java class
//          from a damaged class file, in which case the CREATE should be
//          reattempted with a correct class file.  It is also possible that
//          the message is the result of using "-" in the resolver so that
//          the verifier could not check the correctness of some code.  In
//          that case, the class needs to be created with a resolver.
/
29546, 00000, "badly formed resource: %s"
// *Cause: An attempt was made to create a Java resource object with data
//         that was rejected by the Java verifier.
// *Action: Correct the data.
/
29547, 00000, "Java system class not available: %s"
// *Cause: An attempt was made to use a command that requires a Java system
//         class that was not yet present or was invalid.
// *Action: Load the system classes, or do not use the command.
/
29548, 00000, "Java system class reported: %s"
// *Cause: A command that uses a Java system class was aborted due to an
//         error reported by the Java system class.
// *Action: Correct the error that was reported.
/
29549, 00000, "class %s.%s has changed, Java session state cleared"
// *Cause: A class in use by the current session was redefined or dropped,
//         invalidating the current Java session state and requiring that
//         it be cleared.
// *Action: No action required.
/
29550, 00000, "Java session state cleared"
// *Cause: The Java state in the current session became inconsistent and
//         was cleared.
// *Action: No action required.
/
29551, 00000, "could not convert %s to Unicode"
// *Cause: A string in the database character set could not be converted
//         to Unicode, as required for use by Java.
// *Action: Correct the string.
/
29552, 00000, "verification warning: %s"
// *Cause: An attempt was made to create a Java class object with bytecodes
//         that caused the Java verifier to issue a warning.
// *Action: It is possible that the Java class was created from a damaged
//          class file, in which case the CREATE should be reattempted
//          with a correct class file.  It is also possible that the message
//          is the result of using "-" in the resolver so that the verifier
//          could not check the correctness of some code. In that case, the
//          class needs to be created with a resolver.
/
29553, 00000, "class in use: %s.%s"
// *Cause: An attempt was made to modify a Java class that is in use in the
//         current call.
// *Action: Correct the code in use in this call.
/
29554, 00000, "unhandled Java out of memory condition"
// *Cause: The session encountered an out of memory condition in Java
//         from which it could not recover.  Java session state was cleared.
// *Action: No action required.
/
29555, 00000, "Java source, class or resource is not allowed here"
// *Cause:  A Java source, class, or resource was specified in an
//          inappropriate place in a statement.
// *Action: Make sure the name is correct or remove it.
/
29556, 00000, "object type has changed"
// *Cause:  A database object name that named a Java source, class, or resource
//          now names an object of a different type.
// *Action: No action required.
/
29557, 00000, "Java system class %s cannot be modified"
// *Cause: A command was attempted that would have modified a Java system class.
// *Action: No action required.
/
29558, 00000, "JAccelerator (NCOMP) not installed. Refer to Install Guide for instructions."
// *Cause:  JAccelerator (NCOMP) is not installed.
// *Action: Please refer to the Post-installation Tasks section in the 
//          Database Install Guide for instructions on how to install 
//          JAccelerator (NCOMP).
/
29561, 00000, "Java VM JIT not supported on this platform."
// *Cause:  Java VM JIT is not supported on this platform.
// *Action: No action required.
/
29655, 00000, "USING clause is incompatible with its supertype"
// *Cause:  The USING clause of a type has to be the same as its supertype or
//          compatible with it. 
// *Action: Make sure the USING clause is compatible with its supertype.
/
29656, 00000, "Invalid option for USING"
// *Cause:  The class has to implement the required interface for the value
//          of the option for USING.
//          
// *Action: Make sure the USING clause is supported.
/
29657, 00000, "class defined in EXTERNAL NAME clause is used in another subtype"
// *Cause:  The supertype has an existing type that has the same value
//          for the EXTERNAL NAME.
// *Action: Make sure the EXTERNAL NAME clause is unique among subtypes.
/
29658, 00000, "EXTERNAL NAME clause is not compatible with its supertype"
// *Cause:  The EXTERNAL NAME clause of the type is not a subclass of the
//          supertype EXTERNAL NAME.
// *Action: Make sure the EXTERNAL NAME clause of the type is a subclass of
//          the EXTERNAL NAME of its supertype.
/
29659, 00000, "SQLJ Object Type validation failed to get default connection"
// *Cause:  Unable to connect using the JDBC default connection.
//          
// *Action: No action required.
/
29660, 00000, "Unable to find the class defined in the EXTERNAL NAME clause"
// *Cause:  The class is not loaded in the database.
//          
// *Action: Make sure the EXTERNAL NAME corresponds to a loaded class in the
//          the database.
/
29661, 00000, "Unable to find the superclass of the defined in the EXTERNAL NAME"
// *Cause:  The class is not loaded in the database.
//          
// *Action: Make sure the superclass of the EXTERNAL NAME is loaded in the
//          the database.
/
29662, 00000, "Unable to find a field that matches one or more of the attributes" 
// *Cause:  The EXTERNAL NAME option of one or more attributes do not match
//          any fields in the defined class.
//          
// *Action: Make sure the EXTERNAL NAME option of each attribute matches
//          a field in the defined in the defined class.
/
29663, 00000, "Unable to find a method that matches one or more of the functions" 
// *Cause:  The EXTERNAL NAME option of one or more functions do not match
//          any method in the defined class.
//          
// *Action: Make sure the EXTERNAL NAME option of each function matches
//          a method in the defined in the defined class.
/
29664, 00000, "Unable to generate the helper class for the defined type"
// *Cause:  The helper class used for supporting SQLJ Object Type is not
//          generated.
//          
// *Action: No Action is required.
/
29665, 00000, "Java thread deadlock detected"
// *Cause:  The Java VM has detected a thread deadlock.
//
// *Action: Modify the Java program to avoid the deadlock condition.
/
/ 29700-29799 reserved for Global Enqueue Service
/
29701, 00000, "unable to connect to Cluster Synchronization Service"
// *Cause: Connect to CSS failed or timed out.
// *Action: Verify the state of the CSS.  If the CSS was not started,
//          start it and then retry the database startup. If the CSS died
//          or is not responding, check the Oracle and CSS trace files for
//          errors and contact Oracle Support Services.
29702, 00000, "error occurred in Cluster Group Service operation"
// *Cause: An unexpected error occurred while performing a CGS operation.
// *Action: Verify that the LMON process is still active. 
//          Check the Oracle LMON trace files for errors.
//          Also, check the related CSS trace file for errors.
29703, 00000, "error occurred in global enqueue service operation"
// *Cause: An unexpected error occurred while performing a global enqueue
//         service operation.
// *Action: Check oracle trace files for errors.
29704, 00000, "cannot specify ACTIVE_INSTANCE_COUNT in 8.1.5 or earlier release"
// *Cause: The ACTIVE_INSTANCE_COUNT parameter was specified when one of the
//         instances in the cluster was running Oracle 8.1.5 or an earlier 
//         release.
// *Action: Restart the instance without specifying the ACTIVE_INSTANCE_COUNT
//          parameter. Or, upgrade all instances to Oracle 8.1.6 or later
//          release and then specify the parameter.
29705, 00000, "ACTIVE_INSTANCE_COUNT is %s which is incompatible with the value in other instances" 
// *Cause: The value of the ACTIVE_INSTANCE_COUNT parameter must be the same
//         in all Oracle cluster database instances.
// *Action: Check your initialization parameter files in all instances and 
//          ensure that the ACTIVE_INSTANCE_COUNT parameter has the same value. 
//          Then restart the instance.
29706, 00000, "incorrect value %s for parameter ACTIVE_INSTANCE_COUNT"
// *Cause: The ACTIVE_INSTANCE_COUNT parameter must be set to 1 in a two
//         node cluster database configuration or unspecified if a secondary
//         instance is not needed.
// *Action: Check your initialization parameter files and correct the value
//          of the ACTIVE_INSTANCE_COUNT parameter. If you are configuring a
//          two node primary/secondary cluster database, set this value to 1. 
//          Otherwise, do not specify any value for the parameter.
29707, 00000, "inconsistent value %s for initialization parameter %s with other instances"
// *Cause: The value of the initialization parameter in error must be
//         identical on all Oracle cluster database instances and was not.
// *Action: Check your INIT.ORA files on all instances and ensure that the
//          initialization parameters in error have the same value.
29708, 00000, "error occurred in Cluster Synchronization Services"
// *Cause: An unexpected error occurred while performing a CSS operation.
// *Action: Verify the state of the CSS. If the CSS died or 
//          is not responding, check the ORACLE and CSS trace 
//          files for errors and contact Oracle Support Services.
29709, 00000, "Communication failure with Cluster Synchronization Services" 
// *Cause: Could not communicate with CSS to complete the operation.
// *Action: Verify the state of the CSS. If the CSS died or
//          is not responding, check the ORACLE and CSS trace
//          files for errors and contact Oracle Support Services.
29710, 00000, "Current operation aborted by Cluster Synchronization Services"
// *Cause: The operation could not be performed or CSS was shutting down.
// *Action: Check the log file of Cluster Synchronization Services daemon 
//          to verify the state of the service. Start the service if needed;
//          otherwise, contact Oracle Support Services.
29711, 00000, "error occurred during registration of Oracle process with CSS"
// *Cause: An unexpected error occurred while performing a Cluster
//         Synchronization Services (CSS) operation.
// *Action: Confirm that the database, and any ASM instances on which it
//          depends, is operating normally. An outage in one of these can
//          cause this error and it is an expected result. Otherwise, contact
//          Oracle Support Services.
29712, 00000, "enable global enqueue service cancel event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service cancel.
29713, 00000, "enable global enqueue service close event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service close.
29714, 00000, "enable global enqueue service state object event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service state object.
29715, 00000, "enable global enqueue internal error checking event"
// *Document: NO
// *Cause:
// *Action: check for internal errors in global enqueue service
29717, 00000, "enable global resource directory freeze/unfreeze event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global resource directory freeze/unfreeze.
29718, 00000, "enable global enqueue service CGS interface event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service CGS interface.
29719, 00000, "enable IMR split brain test event"
// *Document: No
// *Cause:
// *Action: Enable specific test scenerios for various split brain tests
29720, 00000, "enable global enqueue service SCN service event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service SCN service.
29722, 00000, "enable global enqueue service process death event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue service process death.
29723, 00000, "Failed to attach to the global enqueue service (status=%s)"
// *Document: NO
// *Cause:
// *Action:
29724, 00000, "enable global enqueue heartbeat and CSS/GIPC event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for global enqueue heartbeat operations and CSS/GIPC
29725, 00000, "KA tracing"
// *Document: NO
// *Cause:
// *Action: Enable trace and field levels for KA diagnostics
29730, 00000, "use global enqueue converts to determine highest held mode"
// *Document: NO
// *Cause:
// *Action: Use global enqueue converts instead of inquiry messages to 
//          obtain highest held mode of a resource.
29733, 00000, "enable multiple recovery domains event trace"
// *Document: NO
// *Cause:
// *Action: Dump trace for ges/gcs multiple recovery domains
29735, 00000, "instance specified no longer exists"
// *Cause: A client of the global enqueue service specified an instance
//         that no longer existed. 
// *Action: Process aborts current operation due to termination of 
//          an instance
29736, 00000, "Instances running in the cluster are only read-mostly or read-only instances."
// *Cause: The instances that were running were only read-mostly or read-only instances
//         which causes the whole cluster to shut down.
// *Action: Start the regular read/write instances and then restart
//          read-mostly or read-only instances.
29737, 00000, "statement not allowed for read-mostly instances"
// *Document: NO
// *Cause: 
// *Action: 
29738, 00000, "This feature is not allowed on read-mostly instances."
// *Cause: The attempted feature was not allowed on read-mostly instances.
// *Action: The feature is not supported on read-mostly instances
//          as this can be achieved on the other cluster instances which
//          are not read-mostly.
29739, 00000, "Read-mostly and Read-only instances cannot be part of same cluster"
// *Cause: The Read-mostly and Read-only instances were part of the same cluster. 
// *Action: Start the instance using an instance mode of the already existing 
//          Read-only Instance Mode nodes.


29740, 00000, "evicted by instance number %s, group incarnation %s"
// *Cause: This instance was evicted from the group by another instance of the
//         cluster database group for one of several reasons, which may 
//         include a communications error in the cluster and failure to issue
//         a heartbeat to the control file.
// *Action: Check the trace files of other active instances in the cluster
//          group for indications of errors that caused a reconfiguration.
29741, 00000, "IMR active for some, but not all members of cluster"
// *Cause: The IMR feature is not active for this instance, but is active
//         for another instance in the cluster database.
// *Action: Ensure that all instances have the same value for the _imr_active
//          init.ora parameter
29742, 00000, "incompatible Instance Membership Recovery protocol among instances"
// *Cause: The selected Instance Membership Recovery protocol was not
//         compatible with other running instances in the cluster database.
// *Action: Check the Instance Membership Recovery initialization parameters
//          of all instances to ensure their consistency.
29743, 00000, "exiting from instance membership recovery protocol because this instance is not in good health"
// *Cause: This instance did not participate in the instance membership 
//         recovery protocol because it was not in good health. Some or all
//         of its receivers were not making progress. Therefore, this instance
//         terminated itself.
// *Action: Check the alert log, LMON and LMHB trace files for any errors and 
//          contact Oracle Support Services
29745, 00000, "Perform IMR test"
// *Document: NO
// *Cause:
// *Action: Simulate various scenarios for IMR testing.
29746, 0000, "Cluster Synchronization Service is being shut down."
// *Cause: The administrator has shut down the Cluster Synchronization
//         Service daemon.  This error message is intended to be informative
//         to users on the status of the service.
// *Action: Check the log file of the Cluster Synchronization Service daemon
//          to verify the state of the service.
29748, 00000, "Cluster Group Service Communication Trace Event"
// *Document: NO
// *Cause: Communication Layer and Group Sync Layer are tracing so much
//           information together.
// *Action: Trace only the Communication Layer when this event is set in the 
//          init.ora parameter file.
29749, 00000, "Cluster Group Service Membership Trace Event"
// *Document: NO
// *Cause: Communication Layer and Group Sync Layer are tracing so much
//         information together.
// *Action: Trace only the Group Sync Layer when this event is set in the 
//          init.ora parameter file.
29750, 00000, "enable CGS name service event trace"
// *Document: NO
// *Cause:
// *Action: Dump CGS name service tracing
29760, 00000, "instance_number parameter not specified"
// *Cause: The init.ora file did not contain a value for the instance_number
//         which is required to identify this instance to other instances of
//         the database running on the same cluster
// *Action: Assign a value to the instance_number parameter in the init.ora
//          parameter file
29770, 00000, "global enqueue process %s (OSID %s) is hung for more than %s seconds"
// *Cause: The specified process mades no progress within the maximum
//         allowed time.
// *Action: Check the alert file and relevent trace files and
//          contact Oracle Support Services with the incident information.
29771, 00000, "process %s (OSID %s) blocks %s (OSID %s) for more than %s seconds"
// *Cause: The specified process blocked a global enqueue process for 
//         the maximum allowed time.
// *Action: Check the alert file and relevent trace files and contact
//          Oracle Support Services with the incident information.
29775, 00000, "GCR Tracing"
// *Document: NO
// *Cause:
// *Action: Enable trace and field levels for GCR diagnostics.
/
/ 29780 -29789 Reserved for Gpnp Generic modules
/
29780, 00000, "unable to connect to GPnP daemon [%s]"
// *Cause:    Attempt to connect to the GPnP deamon failed with the error
//            reported.
// *Action:   Take the corrective action to resolve the error reported. Refer
//            to GPnP logs and documentation to figure out why the call 
//            failed. 
29781, 00000, "invalid GPnP attribute [%s]"
// *Document: NO
// *Cause:    The GPnP attribute specified was not recognized as a valid
//            attribute.
// *Action:   Correct the attribute type and retry the operation.
29782, 00000, "GPnP operation failed with error [%s]"
// *Document: NO
// *Cause:   The GPnP operation failed with the specified error.
// *Action:  Contact Oracle Support Services.
29783, 00000, "GPnP attribute SET failed with error [%s]"
// *Cause:   An attempt to set the Grid Plug and Play (GPnP) attribute failed. 
//           See the brackets for the reason.
// *Action:  Resolve the problem in the included message and retry the request.
29784, 00000, "Attribute update operation not permitted"
// *Cause:   The update operation for attributes was not permitted because 
//           Cluster Synchronization Services (CSS) was not running on the 
//           host.
// *Action:  Start Cluster Synchronization Services (CSS) and retry the 
//           operation.
29785, 00000, "GPnP attribute GET failed with error [%s]"
// *Cause:   An attempt to get the Grid Plug and Play (GPnP) attribute failed. 
//           See the brackets for the reason.
// *Action:  Resolve the problem in the included message and retry the request.
29786, 00000, "SIHA attribute GET failed with error [%s]"
// *Cause:   An attempt to get the Single-Instance High Availability (SIHA) 
//           attribute failed. See the brackets for the reason.
// *Action:  Resolve the problem in the included message and retry the request.
29787, 00000, "SIHA attribute SET failed with error [%s]"
// *Cause:   An attempt to set the Single-Instance High Availability (SIHA) 
//           attribute failed. See the brackets for the reason.
// *Action:  Resolve the problem in the included message and retry the request.
29788, 00000, "Network interface query failed with error [%s]"
// *Cause:   Attempt to get the network information failed. 
//           See the brackets for the reason.
// *Action:  Resolve the problem in the included message and retry the request.
29789, 00000, "internal test event"
// *Document: NO
// *Cause:   This is an internal test event. Set only under guidance of 
//           development.
// *Action:  Follow up with the Oracle Support Services using the traces 
//           generated by this event.
/
29790, 00000, "Cannot change user session parameters for a non-user session"
// *Cause:  An attempt was made to change user session parameters for a 
//          non-user session.
// *Action: Execute the operation when connected with a user session
//
29791, 00000, "Transactions cannot be replayed"
// *Cause:  The user attempted to replay a transaction.
// *Action: Reconnect and re-execute the transaction.
//
29797, 00000, "Enable AC performance optimization, only for internal testing"
// *Document: NO
// *Cause:
// *Action:
29798, 00000, "Dump diagnostics for HA only during internal testing."
// *Document: NO
// *Cause:
// *Action:
29799, 00000, "crash for soft assert macros in global enqueue service layer"
// *Document: NO
// *Cause:
// *Action: 
/ 29800 - 29999 Reserved for Extensible Indexing project
/
/   sub-ranges  29800 - 29824   Operator DDL
/               29825 - 29849   Indextype DDL
/               29850 - 29874   Index DDL
/               29875 - 29899   Index DML
/               29900 - 29924   Query
/               29925 - 29999   Optimizer & common errors 
/
29800,00000, "invalid name for operator"
// *Cause: The name specified for the operator is incorrect.
// *Action: Specify a correct name for the operator.
29801,00000, "missing RETURN keyword"
// *Cause: The RETURN keyword has not been specified.
// *Action: Specify the RETURN keyword or check the SQL statement.
29802,00000, "missing CONTEXT keyword"
// *Cause: The CONTEXT keyword has not been specified.
// *Action: Specify the CONTEXT keyword or check the SQL statement.
29803,00000, "missing ANCILLARY keyword"
// *Cause: The ANCILLARY keyword has not been specified.
// *Action: Specify the ANCILLARY keyword or check the SQL statement.
29804,00000, "missing DATA keyword" 
// *Cause: The DATA keyword has not been specified.
// *Action: Specify the DATA keyword or check the SQL statement.
29805, 00000, "missing COLUMN keyword"
// *Cause: Keyword COLUMN is expected .
// *Action: Either specify the COLUMN keyword or specify another option. 
29806,00000, "specified binding does not exist"
// *Cause: The operator binding which has been specified does not exist.
// *Action: Ensure that the operator binding that has been specified does
//          exist.
29807,00000, "specified operator does not exist"
// *Cause: The operator which has been specified does not exist.
// *Action: Ensure that the operator that has been specified does exist.
29808,00000, "specified primary operator binding does not exist"
// *Cause: The specified binding for the primary operator does not exist.
// *Action: Ensure that the specified binding for the primary operator exists.
29809,00000, "cannot drop an operator with dependent objects"
// *Cause: The operator which is being dropped has some dependent objects.
// *Action: Either drop the dependent objects first and then issue the DROP 
//          OPERATOR command or specify the FORCE option with DROP OPERATOR.
29810,00000, "inadequate operator privileges"
// *Cause: The user does not have the appropriate privileges to perform the 
//         specified operation on the operator.
// *Action: Grant the appropriate privileges to the user and then reissue the
//          statement.
29811,00000, "missing STATISTICS keyword"
// *Cause: This is not a valid option with the ASSOCIATE command.
// *Action: Specify STATISTICS keyword after the ASSOCIATE command.
29812,00000, "incorrect object name specified"
// *Cause: The specified name is not a valid name. 
// *Action: Specify the correct name of the object with for which an 
//          association needs to be defined.
29813,00000, "non-supported object type with associate statement"
// *Cause: The type of object specified is not supported with the associate 
//         statistics statement. 
// *Action: Use a valid object type with the associate command. 
29814,00000, "expecting USING or DEFAULT keyword"
// *Cause: Expecting the USING or DEFAULT keyword after the names of object(s).
// *Action: Provide the USING or DEFAULT keyword.
29815,00000, "object being associated is not present"
// *Cause: The object for which the association is being defined is not 
//         present. 
// *Action: Ensure that all the objects for which the association is being 
//          defined are present. 
29816,00000, "object being disassociated is not present"
// *Cause: Object which is being disassociated is not present. 
// *Action: Ensure that the object which needs to be disassociated is 
//          present.
29817,00000, "non-supported option with disassociate statement"
// *Cause: The type of object specified is not supported with the disassociate
//         statistics statement. 
// *Action: Use a object type which is supported with the disassociate command.
29818,00000, "column name not properly specified"
// *Cause: Name of the column should contain the table and the column name.
// *Action: Specify a valid column name.
29819,00000, "cannot associate default values with columns"
// *Cause: User tried to associate DEFAULT values with columns which is not 
//         a valid option .
// *Action: Specify a valid option. 
29820,00000, "the statistics type is not present"
// *Cause: The statistics type which is being associated with object(s) is 
//         not present. 
// *Action: Ensure that the type which contains the statistics functions is 
//          present.
29821,00000, "specified primary operator does not exist"
// *Cause: The specified primary operator does not exist.
// *Action: Check the primary operator and the signature specified.
29822,00000,"selectivity cannot be specified for the type of object"
// *Cause: User tried to associate selectivity with index or indextypes which 
//         is not allowed . 
// *Action: Specify a valid option. 
29823,00000,"object being analyzed is not a table "
// *Cause: The object being analyzed is not a table and is not supported
// *Action: Specify only a supported option. 
29824,00000, "operator is invalid"
// *Cause: The operator is invalid.
// *Action: Drop and recreate the operator.
29825, 00000, "invalid name for indextype"
// *Cause: Indextype name or Indextype schema name has invalid characters.
// *Action: Verify that the name has valid characters and it is not a reserved
//          word.
29826, 00000, "keyword FOR is missing"
// *Cause: FOR keyword must be provided with Create Indextype statement.
// *Action: Use FOR keyword and provide relevant operator information.
29827, 00000, "keyword USING is missing"
// *Cause: USING keyword and corresponding implementation details must be provided.
// *Action: Provide USING keyword and relevant implementation details with Create
//          Indextype statement.
29828, 00000, "invalid name for implementation type"
// *Cause: Implementation type or Implementation schema name is invalid.
// *Action: Verify that the name has valid characters and it is not a reserved
//          word.
29829, 00000, "implementation type does not exist"
// *Cause: The implementation type specified with USING clause could not
//         be found.
// *Action: Check to see if the type exists and the user has EXECUTE
//          privilege on this type.
29830, 00000, "operator does not exist"
// *Cause: The operator could not be found.
// *Action: Verify that the operator exists and the user has EXECUTE
//          privilege for this operator.
29831, 00000, "operator binding not found"
// *Cause: The specified binding for the operator is not available
//         from the operator schema object.
// *Action: Verify that the operator with the specified binding exists.
29832, 00000, "cannot drop or replace an indextype with dependent indexes"
// *Cause: One or more indexes are dependent upon the indextype.
// *Action: Drop all the indexes which are dependent upon the indextype
//          before dropping the indextype itself.
29833, 00000, "indextype does not exist"
// *Cause: There is no indextype by the specified name.
// *Action: Use public views for the indextypes to see if an
//          indextype by the specified name has been created.
29834, 00000, "REF datatype not supported with operators"
// *Cause : The user specified a REF datatype which is not supported in CREATE 
//          OPERATOR.
// *Action: Reissue the CREATE OPERATOR statement without the REF datatype.
29835, 00000, "ODCIGETINTERFACES routine does not return required interface(s)"
// *Cause : The ODCIObjectList returned by the ODCIGetInterfaces routine
//          does not contain the interface(s) required by the current usage.
// *Action : Ensure that the ODCIGetInterfaces routine returns the name(s)
//           of the required interface(s).
29836, 00000, "failed to validate referenced operators"
// *Cause: One of the operators referenced cannot be compiled.
// *Action: Try to recompile the operators which are referenced by this 
//          indextype. Use USER_INDEXTYPE_OPERATORS view to find out the 
//          referenced operators.
29837, 00000, "insufficient privileges to execute implementation type"
// *Cause: User does not have privileges to execute the implementation type.
// *Action: The owner of the implementation type must grant appropriate
//          privileges to the user.
29838, 00000, "insufficient privileges to execute the operator(s)"
// *Cause: User does not have privileges to execute one of the operators.
// *Action: The owner of the operators must grant appropriate privileges 
//          to the user .
29839, 00000, "failed to validate implementation type"
// *Cause: Implementation type cannot be compiled.
// *Action: Try to compile the implementation type.
29840, 00000, "indextype and implementation type are not in same schema"
// *Cause: Indextype and implementation type are in different schema.
// *Action: Put the indextype and implementation type in the same schema.
29841, 00000, "invalid option for ALTER INDEXTYPE" 
// *Cause: The user specified an invalid option with the ALTER INDEXTYPE 
//         command
// *Action: Choose a valid option with the ALTER INDEXTYPE command
29842, 00000, "option not supported with the version %s of the indextype interface"
// *Cause : User specified an option which is not supported with the 
//          version of the indextype interface provided
// *Action: User should either not request for this option or should provide 
//          an implementation type that implements the correct version of the 
//          indextype interface. 
29843, 00000, "indextype should support atleast one operator"
// *Cause : User attempted to drop all the operators from the indextype
// *Action : Do not drop all the operators from the indextype
29844, 00000, "duplicate operator name specified" 
// *Cause : User attempted to add an operator name to an indextype which is already 
//          supported by the indextype
// *Action: Remove the duplicate operator and retry the command 
29845, 00000, "indextype does not support local domain index on %s partitioned table"
// *Cause : User specified a create local domain index statement using an 
//          indextype that does not support local domain indexes on 
//          tables partitioned with the given method
// *Action: Use a different indextype or build a global domain index
29846, 00000, "cannot create a local domain index on a %s partitioned table"
// *Cause : User specified a create local domain index statement on a
//          table partitioned using a method not supported by domain indexes
// *Action: Build a global domain index on the partitioned table
29847, 00000, "cannot create a local domain index on a partitioned index-organized table"
// *Cause : User specified a create local domain index statement on a
//          partitioned index-organized table
// *Action: Build a global domain index on the partitioned index-organized 
//          table
29848, 00000, "error occurred in the execution of ODCIINDEXMERGEPARTITION routine"
// *Cause: Failed to successfully execute the ODCIIndexMergePartition routine.
// *Action: Check to see if the routine has been coded correctly.
29849, 00000, "error occurred in the execution of ODCIINDEXSPLITPARTITION routine"
// *Cause: Failed to successfully execute the ODCIIndexSplitPartition routine.
// *Action: Check to see if the routine has been coded correctly.
29850, 00000, "invalid option for creation of domain indexes"
// *Cause: The user specified an invalid option like ASC, DESC, SORT or a
//         parallel clause, partitioning clause or physical attributes clause.
// *Action: Choose one of the valid clauses for creation of domain indexes.
29851, 00000, "cannot build a domain index on more than one column"
// *Cause: User attempted to build a domain index on more than one column.
// *Action: Build the domain index only on a single column.
29852, 00000, "keyword IS is missing"
// *Cause: IS keyword must be specified with Create Index statement for domain
//         indexes.
// *Action: Use IS keyword and then specify the indextype name.
29853, 00000, "keyword UNIQUE may not be used in creating domain indexes"
// *Cause: An attempt was made to create a domain index with the
//         UNIQUE attribute.
// *Action: Remove UNIQUE from the CREATE INDEX statement.
29854, 00000, "keyword BITMAP may not be used in creating domain indexes"
// *Cause: An attempt was made to create a domain index with the
//         BITMAP attribute.
// *Action:  Remove BITMAP from the CREATE INDEX statement.
29855, 00000, "error occurred in the execution of ODCIINDEXCREATE routine"
// *Cause: Failed to successfully execute the ODCIIndexCreate routine.
// *Action: Check to see if the routine has been coded correctly.
29856, 00000, "error occurred in the execution of ODCIINDEXDROP routine"
// *Cause: Failed to successfully execute the ODCIIndexDrop routine.
// *Action: Check to see if the routine has been coded correctly.
29857, 00000, "domain indexes and/or secondary objects exist in the tablespace"
// *Cause: An attempt was made to drop a tablespace which contains secondary
//         objects and/or domain indexes.
// *Action: Drop the domain indexes in his tablespace. Also, find the domain
//          indexes which created secondary objects in this tablespace and
//          drop them. Then try dropping the tablespace.
29858, 00000, "error occurred in the execution of ODCIINDEXALTER routine"
// *Cause: Failed to successfully execute the ODCIIndexAlter routine.
// *Action: Check to see if the routine has been coded correctly.
29859, 00000, "error occurred in the execution of ODCIINDEXTRUNCATE routine"
// *Cause: Failed to successfully execute the ODCIIndexTruncate routine.
// *Action: Check to see if the routine has been coded correctly.
29860, 00000, "cannot truncate a table with domain indexes marked LOADING"
// *Cause: The table has domain indexes defined on it that are marked LOADING.
//* Action: Wait to see if the ongoing index DDL ends and the index state
//          changes from LOADING state. Else ,drop the domain indexes marked as
//          LOADING with the FORCE option.
29861, 00000, "domain index is marked LOADING/FAILED/UNUSABLE"
// *Cause: An attempt has been made to access a domain index that is
//         being built or is marked failed by an unsuccessful DDL
//         or is marked unusable by a DDL operation.
// *Action: Wait if the specified index is marked LOADING
//          Drop the specified index if it is marked FAILED
//          Drop or rebuild the specified index if it is marked UNUSABLE.
29862, 00000, "cannot specify FORCE option for dropping non-domain index"
// *Cause: A DROP INDEX FORCE was issued for a non-domain index.
// *Action: Reissue the command without the FORCE option.
29863, 00000, "warning in the execution of ODCIINDEXCREATE routine"
// *Cause: A warning was returned from the ODCIIndexCreate routine.
// *Action: Check to see if the routine has been coded correctly
//          Check user specified log tables for greater detail.
29864, 00000, "analyzing domain indexes marked LOADING/FAILED not supported"
// *Cause: Tried to analyze a domain index which was marked as LOADING or
//         FAILED.
// *Action: If the index was marked LOADING, wait till it is marked valid
//          before retrying the analyze. If index was marked FAILED, drop it 
//          OR rebuild it and retry the analyze.
29865,00000, "indextype is invalid"
// *Cause: The indextype is invalid.
// *Action: Drop and recreate the indextype.
29866, 00000, "cannot create domain index on a column of index-organized table"
// *Cause: Tried to create a domain index on a column of an index-organized
//         table.
// *Action: Do not attempt to create a domain index on columns of an
//         index-organized table.
29867, 00000, "cannot create a domain index on a LONG column"
// *Cause: The user attempted to create a domain index on a column of LONG 
//         datatype.
// *Action: Do not create a domain index on a LONG column.
29868, 00000, "cannot issue DDL on a domain index marked as LOADING"
// *Cause: Tried to issue a DROP/ALTER/TRUNCATE on a domain index in a LOADING state.
// *Action: Wait till the index operation completes
//          OR issue a DROP INDEX FORCE to drop the index.
29869, 00000, "cannot issue ALTER without REBUILD on a domain index marked FAILED"
// *Cause: Tried to issue a DROP/ALTER on a domain index in a FAILED state.
// *Action: Truncate the table to mark the index as valid 
//          OR do ALTER INDEX REBUILD to rebuild the index.
29870, 00000, "specified options are only valid for altering a domain index"
// *Cause: Specified the ONLINE or PARAMETERS clause with a non-domain index.
// *Action: Reissue the statement with the correct syntax for alter.
29871, 00000, "invalid alter option for a domain index"
// *Cause: The user specified an invalid option for altering a domain index.
// *Action: Reissue the alter statement with a valid option.
29872, 00000, "parameters clause cannot be combined with the specified options"
// *Cause: The user combined PARAMETERS clause with other alter index options.
// *Action: Reissue the statement with the correct syntax for alter.
29873, 00000, "warning in the execution of ODCIINDEXDROP routine"
// *Cause: A waring was returned from the ODCIIndexDrop routine.
// *Action: Check to see if the routine has been coded correctly
//          Check the user defined warning log tables for greater details.
29874, 00000, "warning in the execution of ODCIINDEXALTER routine"
// *Cause: A waring was returned from the ODCIIndexAlter routine.
// *Action: Check to see if the routine has been coded correctly
//          Check the user defined warning log tables for greater details.
29875, 00000, "failed in the execution of the ODCIINDEXINSERT routine"
// *Cause: Failed to successfully execute the ODCIIndexInsert routine.
// *Action: Check to see if the routine has been coded correctly.
29876, 00000, "failed in the execution of the ODCIINDEXDELETE routine"
// *Cause: Failed to successfully execute the ODCIIndexDelete routine.
// *Action: Check to see if the routine has been coded correctly.
29877, 00000, "failed in the execution of the ODCIINDEXUPDATE routine"
// *Cause: Failed to successfully execute the ODCIIndexUpdate routine.
// *Action: Check to see if the routine has been coded correctly.
29878, 00000, "warning in the execution of ODCIINDEXTRUNCATE routine"
// *Cause: A warning was returned from the ODCIIndexTruncate routine.
// *Action: Check to see if the routine has been coded correctly
//          Check the user defined warning log tables for greater details.
29879, 00000, "cannot create multiple domain indexes on a column list using same indextype"
// *Cause: An attempt was made to define multiple domain indexes on the same 
//         column list using identical indextypes.
// *Action: Check to see if a different indextype can be used or if the index
//          can be defined on another column list.
29880, 00000, "such column list already indexed using another domain index and indextype"
// *Cause: An attempt was made to create multiple domain indexes on a column 
//         list using indextypes which do not have disjoint operators.
// *Action: Check to see if the operator sets for the indextypes can be made
//          disjoint.
29881, 00000, "failed to validate indextype"
// *Cause: Indextype cannot be compiled.
// *Action : Try to compile the indextype which is referenced by
//           the domain index.
29882, 00000, "insufficient privileges to execute indextype"
// *Cause: User does not have privileges to execute the indextype.
// *Action: The owner of the indextype must grant appropriate
//          privileges to the user.
29883, 00000, "cannot create a domain index on column expressions"
// *Cause : User specified an expression in the column list.
// *Action : Specify only simple columns in the column list for domain index.
29884, 00000, "domain index is defined on the column to be dropped"
// *Cause : An ALTER TABLE DROP COLUMN was issued on a column on which
//          a domain index exists.
// *Action : Drop the domain index before attempting to drop the column.
29885, 00000, "domain index is defined on the column to be modified"
// *Cause : An ALTER TABLE MODIFY COLUMN was issued on a column on which
//          a domain index exists.
// *Action: Drop the domain index before attempting to modify the column.
29886, 00000, "feature not supported for domain indexes"
// *Cause : Feature is not supported for domain indexes.
// *Action : No action required.
29887, 00000, "cannot support row movement if domain index defined on table"
// *Cause : An ALTER TABLE ENABLE ROW MOVEMENT was issued on a table which
//          has a domain index defined on it.
// *Action : Drop the domain index if you want to enable row movement and
//           then reissue the command.
29888, 00000, "cannot create domain index on a table with row movement enabled"
// *Cause : A create domain index statement was issued on a table that has
//          row movement enabled.
// *Action : Disable the row movement in the table and then reissue the
//           create domain index statement.
// NLS_DO_NOT_TRANSLATE[29889,29889]
29889, 00000, "allow a secondary object creation"
// *Document: NO
// *Cause: For internal use only
// *Action: THIS IS NOT A USER ERROR NUMBER/MESSAGE.  THIS DOES NOT NEED TO BE
//          TRANSLATED OR DOCUMENTED. IT IS USED ONLY BY IMPORT CODE.
29890,00000, "specified primary operator does not have an index context"
// *Cause: The primary operator does not have an index and scan contexts.
// *Action: Create the primary operator with a context clause.
// NLS_DO_NOT_TRANSLATE[29891,29891]
29891, 00000, "enable debugging in ODCI user-defined routines"
// *Document: NO
// *Cause: For internal use only
// *Action: THIS IS NOT A USER ERROR NUMBER/MESSAGE.  THIS DOES NOT NEED TO BE
//          TRANSLATED OR DOCUMENTED. IT IS USED FOR SETTING A NEW EVENT FOR
//          DEBUGGING SUPPORT IN ODCI USER-DEFINED ROUTINES  
29892,00000, "indextypes with array DML do not support the given data type"
// *Cause: The user specified a REF or a LONG datatype which is not supported 
//         in CREATE/ALTER INDEXTYPE WITH ARRAY DML (DATA_TYPE, VARRAY_TYPE).
// *Action: Reissue the CREATE/ALTER INDEXTYPE statement without the REF or
//          LONG datatype.
29893,00000, "indextypes without column data do not need the given data type"
// *Cause:  WITH ARRAY DML (DATA_TYPE, VARRAY_TYPE) option and WITHOUT COLUMN 
//          DATA option conflicted in an alter indextype statement
// *Action: Reissue the ALTER INDEXTYPE statement without the conflict.
29894, 00000, "base or varray datatype does not exist"
// *Cause: One of the base and varray datatypes specified in WITH ARRAY DML 
//         (DATA_TYPE, VARRAY_TYPE) clause could not be found.
// *Action: Check to see if the datatype exists and the user has EXECUTE
//          privilege on this datatype.
29895, 00000, "duplicate base datatype specified" 
// *Cause : User attempted to add a base datatype to an indextype with ARRAY
//          DML which is already supported by the indextype
// *Action: Remove the duplicate base datatype and retry the command 
29896, 00000, "Length of PARAMETER string longer than %s characters"
// *Cause : An attempt was made to specify a parameter value that is
//          longer than the allowed maximum.
// *Action: Reduce the parameter value length.
29897, 00000, "invalid domain index \"%s\" found on the same column"
// *Cause : An attempt was made to create a domain index on the same column 
//          where an invalid domain index exists.
// *Action: Drop the invalid index and reissue the CREATE INDEX statement.
29900, 00000, "operator binding does not exist"
// *Cause: There is no binding for the current usage of the operator.
// *Action: Change the operator arguments to match any of the existing
//          bindings or add a new binding to the operator.
29901, 00000, "function underlying operator binding does not exist"
// *Cause: The function underlying the operator binding does not exist.
// *Action: Ensure that the function corresponding to the operator
//          invocation exists.
29902, 00000, "error in executing ODCIIndexStart() routine"
// *Cause: The execution of ODCIIndexStart routine caused an error.
// *Action: Examine the error messages produced by the indextype code and
//          take appropriate action.
29903, 00000, "error in executing ODCIIndexFetch() routine"
// *Cause: The execution of ODCIIndexFetch routine caused an error.
// *Action: Examine the error messages produced by the indextype code and
//          take appropriate action.
29904, 00000, "error in executing ODCIIndexClose() routine"
// *Cause: The execution of ODCIIndexClose routine caused an error.
// *Action: Examine the error messages produced by the indextype code and
//          take appropriate action.
29905, 00000, "method %s does not exist in type %s.%s"
// *Cause: A required method with the required signature does not exist
//         in the specified type.
// *Action: Add the required method to the type.
29906, 00000, "indextype %s.%s does not exist"
// *Cause: The indextype does not exist.
// *Action: Create the indextype.
29907, 00000, "found duplicate labels in primary invocations"
// *Cause: There are multiple primary invocations of operators with
//         the same number as the label.
// *Action: Use distinct labels in primary invocations.
29908, 00000, "missing primary invocation for ancillary operator"
// *Cause: The primary invocation corresponding to an ancillary operator
//         is missing.
// *Action: Add the primary invocation with the same label as the
//          ancillary operator.
29909, 00000, "label for the ancillary operator is not a literal number"
// *Cause: The label used for invoking the ancillary operator is not
//         a literal number.
// *Action: Use a literal number as the label.
29910, 00000, "invalid callback operation"
// *Cause: Encountered an invalid callback operation.
// *Action: Ensure that all the callbacks executed from callouts are
//          valid in the statement context.
29911, 00000, "null scan context returned by ODCIIndexStart() routine"
// *Cause: The ODCIIndexStart() routine returned a null scan context
// *Action: Ensure that the ODCIIndexStart() routine returns a non-null
//          scan context.
29912, 00000, "event for turning off direct invocation of Contains/Score"
// *Document: NO
// *Cause: For internal use only
// *Action: Not a user error
29913, 00000, "error in executing %s callout"
// *Cause: The execution of the specified callout caused an error.
// *Action: Examine the error messages take appropriate action.


29914,00000,"ODCIGETINTERFACES routine does not return required stream version"
// *Cause: The ODCIObjectList returned by the ODCIGetInterfaces routine
//         does not contain the required stream version for external tables.
// *Action: Ensure that the ODCIGetInterfaces routine returns the required
//          stream version.
29915,00000,"cannot select FOR UPDATE from collection operand"
// *Cause: Collection operands cannot be updated
// *Action: Remove FOR UPDATE clause
29916, 00000, "event for turning on RAW pointer arg to table function"
// *Document: NO
// *Cause: For internal use only
// *Action: Not a user error
29917, 00000, "cannot lock a table which gets its rows from a collection operand"
// *Cause: Tables which gets its rows from a collection operand cannot be locked
// *Action: Don't lock the table
29918, 00000, "cannot create domain indexes on temporary tables"
// *Cause : An attempt was made to create a domain index on a temporary table
// *Action: Either create another type of index on the temporary
//          table or change the table from temporary to a permanent table
29919, 00000, "failed in the execution of the ODCIINDEXUPDPARTMETADATA routine"
// *Cause: Failed to successfully execute the ODCIINDEXUPDPARTMETADATA routine.
// *Action: Check to see if the routine has been coded correctly.
29920, 00000, "failed in the partition maintenance operation of secondary table"
// *Cause: Failed to successfully execute the partition maintenance operation 
//         of a secondary table in system managed domain index.
// *Action: Check to see if the partition of a secondary table exists.
29921, 00000, "Ancillary operator not supported with set view query block"
// *Cause : Outer view query block contains ancillary operator and view query
//          block contains union all. 
// *Action: Define the union-all view query to contain the primary 
//          and ancillary query terms. i.e. have the operators within the view 
//          definition rather than in the query outside the view.
29922, 00000, "Invalid rowid returned by the user-defined query methods"
// *Cause: An invalid row identifier was returned by the user-defined query
//         methods. 
// *Action: Check the implementation of the indextype methods to make sure
//           that the index creation and query methods are correct.
29925, 00000, "cannot execute %s"
// *Cause: The specified function does not exist or does not have an
//         appropriate signature.
// *Action: Implement the function with the appropriate signature.
29926, 00000, "association already defined for the object"
// *Cause: The object for which the association is being defined, already 
//         has a statistics type associated with it.
// *Action: Disassociate the object and then associate the object.
29927, 00000, "error in executing the ODCIStatsCollect / ODCIStatsDelete routine"
// *Cause:  The ODCIStatsCollect / ODCIStatsDelete function is causing an 
//          error.
// *Action: Check the ODCIStatsCollect / ODCIStatsDelete function.     
29928, 00000, "duplicate default selectivity specified"
// *Cause:  The keyword DEFAULT SELECTIVITY can only be specified once.
// *Action: Remove the duplicate keyword.
29929, 00000, "missing SCAN Keyword"
// *Cause: The scan context is not specified.
// *Action: Supply the SCAN keyword.
29930, 00000, "COMPUTE ANCILLARY DATA specified without the INDEX CONTEXT clause"
// *Cause: The COMPUTE ANCILLARY DATA option was specified without the 
//         WITH INDEX CONTEXT clause.
// *Action: Specify the WITH INDEX CONTEXT option.
29931, 00000, "specified association does not exist"
// *Cause: One or more of the object(s) that have been specified to be 
//         disassociated, do not have an association defined for them. 
// *Action: Verify the objects which have an association defined and issue 
//          the disassociate command again. 
29932, 00000, "the type being dropped is a statistics type"
// *Cause: Some objects have defined their statistics methods in the type 
//         being dropped.
// *Action: First drop the relevant associations using the DISASSOCIATE 
//          command and then retry the DROP command, or use the FORCE option 
//          with DROP TYPE command.
29933, 00000, "object being disassociated has some user defined statistics stored"
// *Cause: There are some user defined statistics collected for the object 
//        being disassociated.
// *Action: First delete the user defined statistics and then reissue the
//          DISASSOCIATE command or specify the FORCE option with DISASSOCIATE.
29934, 00000, "index specified for association is not a domain index"
// *Cause: The user issued an ASSOCIATE STATISTICS command with an index 
//          which is not a  domain index. 
// *Action: Issue an ASSOCIATE STATISTICS WITH INDEXES command on a domain 
//          index only
29935,00000, "missing FROM keyword"
// *Cause: The keyword FROM is missing.
// *Action: Specify the FROM keyword or check the SQL statement.
29936, 00000, "NULL association is allowed only with a column or an index"
// *Cause: User tried to use the ASSOCIATE command with a schema object 
//         other than a column or an index
// *Action: Specify the NULL clause only with a column or an index 
29937, 00000, "domain index cannot be system-managed"
// *Cause: An ASSOCIATE STATISTICS command was issued with a domain index 
//          which is system-managed.
// *Action: Check to see if the domain index has been implemented with
//          system-managed storage tables. To associate statitics with a 
//          system-managed domain index, issue ASSOCIATE STATISTICS command 
//          with the indextype of this domain index.
29938, 00000, "both indextype and statistics type should be system-managed"
// *Cause: Either an ASSOCIATE STATISTICS WITH SYSTEM MANAGED STORAGE TABLES 
//          command was issued with an indextype which is not system-managed,
//          or an ASSOCIATE STATISTICS command was issued with an indextype 
//          which is system-managed.
// *Action: Check to see if both indextype and statistics type are implemented
//          with system-managed storage tables.
29939, 00000, "could not implicitly transform user-managed domain index to system-managed domain index"
// *Cause: Implicit validation of a user-managed domain index with a 
//         system-managed indextype failed.
// *Action: Issue an ALTER INDEX COMPILE command on the domain index.
29940, 00000, "User-managed domain indexes are not allowed on interval-partitioned tables."
// *Cause: An attempt was made to create a local user-managed domain index on 
//         an interval-partitioned table.
// *Action: Convert the underlying index type to system-managed.
29941, 00000, "Cannot convert a table with user-managed local domain indexes to interval partitioning."
// *Cause: An attempt was made to convert a range-partitioned table with local
//         user-managed domain indexes to interval partitioning.
// *Action: Either convert the underlying index type to system-managed or 
//          drop the local user-managed domain index before converting the
//          table to interval partitioning.
29950, 00000, "warning in the execution of ODCIINDEXMERGEPARTITION routine"
// *Cause: A warning was returned from the ODCIIndexMergePartition routine.
// *Action: Check to see if the routine has been coded correctly
//          Check user specified log tables for greater detail.
29951, 00000, "warning in the execution of ODCIINDEXSPLITPARTITION routine"
// *Cause: A warning was returned from the ODCIIndexSplitPartition routine.
// *Action: Check to see if the routine has been coded correctly
//          Check user specified log tables for greater detail.
29952, 00000, "cannot issue DDL on a domain index partition marked as LOADING"
// *Cause: Tried to issue a DROP/ALTER/TRUNCATE on a domain index partition
//         in a LOADING state.
// *Action: Wait till the index partition operation completes
//          OR issue a DROP INDEX FORCE to drop the index
//          OR issue a ALTER TABLE DROP PARTITION to drop the partition.
29953, 00000, "cannot issue DDL on a domain index partition marked as FAILED"
// *Cause: Tried to issue a DROP/ALTER on a domain index partition in a 
//         FAILED state.
// *Action: do ALTER INDEX REBUILD PARTITION to rebuild the index partition 
//          OR ALTER TABLE TRUNCATE PARTITION to mark the index partition 
//          as valid. 
29954, 00000, "domain index partition is marked LOADING/FAILED/UNUSABLE"
// *Cause: An attempt has been made to access a domain index that is
//         being built or is marked failed by an unsuccessful DDL
//         or is marked unusable by a DDL operation.
// *Action: Wait if the specified index partition is marked LOADING
//          Rebuild the specified index partition if it is marked FAILED 
//          or UNUSABLE.
29955, 00000, "error occurred in the execution of ODCIINDEXEXCHANGEPARTITION routine"
// *Cause: Failed to successfully execute the ODCIIndexExchangePartition routine.
// *Action: Check to see if the routine has been coded correctly.
29956, 00000, "warning in the execution of ODCIINDEXEXCHANGEPARTITION routine"
// *Cause: A warning was returned from the ODCIIndexExchangePartition routine.
// *Action: Check to see if the routine has been coded correctly
//          Check user specified log tables for greater detail.
29957, 00000, "cannot create a function-based domain index on a %s table"
// *Cause: User specified an unsupported create function-based domain index 
//          statement.
// *Action: Issue the create function-based domain index statement only on
//          supported types of tables.
29958, 00000, "fatal error occurred in the execution of ODCIINDEXCREATE routine"
// *Cause: Failed to successfully execute the ODCIIndexCreate routine.
// *Action: Check to see if the routine has been coded correctly.
29959, 00000, "error in the execution of the %s routine for one or more of the index partitions"
// *Cause: An error occurred during execution of the routine for one or more of
//         the index partitions
// *Action: Check the *_IND_PARTITIONS view to see which partitions are marked
//          FAILED. 
//          Rebuild or Truncate the FAILED index partitions
29960, 00000, "line %s, %s"
// *Cause:  The ODCIIndex DDL routine has put a warning message into 
//          table SYS.ODCI_WARNINGS$
// *Action: Check the warning message
29961, 00000, "too many warnings occurred in the execution of ODCIIndex DDL routine"
// *Cause:  The number of warnings during the ODCIIndex DDL routine is 
//          too high.
// *Action: Query table SYS.ODCI_WARNINGS$ to get more warning messages 
29962, 00000, "fatal error occurred in the execution of ODCIINDEXALTER routine"
// *Cause: Failed to successfully execute the ODCIIndexAlter routine.
// *Action: Check to see if the routine has been coded correctly.
29963, 00000, "missing BINDING keyword"
// *Cause: Keyword BINDING is expected .
// *Action: Specify the BINDING keyword or check the SQL statement. 
29964, 00000, "missing ADD or DROP keyword"
// *Cause: One of the keywords ADD or DROP is expected.
// *Action: Specify the ADD or DROP keyword or check the SQL statement.
29965, 00000, "The specified binding does not exist"
// *Cause: The binding specified in the DROP BINDING clause is not a valid
//         binding for this operator.
// *Action: Specify an existing binding for this op in DROP BINDING clause.
29966, 00000, "The only binding of an operator cannot be dropped"
// *Cause: This operator only has one binding.  It cannot be dropped using 
//         Alter Operator Drop Binding.
// *Action: If you wish to drop the entire operator, call Drop Operator.
29967, 00000, "Cannot drop an operator binding with dependent objects"
// *Cause: The operator binding that is being dropped has dependent objects.
// *Action: Either drop the dependent objects first and then issue the ALTER 
//          OPERATOR DROP BINDING command or specify the FORCE option with 
//          ALTER OPERATOR DROP BINDING.
29968, 00000, "No primary operator bindings found for ancillary binding #%s"
// *Cause: At least one ancillary binding of the specified operator could 
//         not be validated because all of its associated primary operator
//         bindings have been dropped.
// *Action: Either drop the ancillary binding whose primary operators are 
//          missing, or drop the entire operator, if this is the only binding.
//          This binding cannot be re-validated.
/
/29970 - 29999 Reserved for DB Change notification
29970, 00000, "Specified registration id does not exist"
// *Cause: An incorrect regid value was passed to dbms_chnf procedure.
// *Action: pass the correct regid value.
/
29971, 0000, "Specified table name not found or does not have any registrations"
// *Cause: The database could not locate the passed in table name
// *Action: CHeck the table name passed in.
/
29972, 0000, "user does not have privilege to change/ create registration"
// *Cause: User passed in an incorrect or someone else's regid/ handle.
// *Action: Check the passed in regid/ reg handle
/
29973, 0000, "Unsupported query or operation  during change notification registration"
// *Cause: The user attempted to register an unsupported query type
//          or an unsupported operation like a DML/DDL for change notification.
// *Action: Please check the statement being executed and refer to the
//          documentation.
/
29974, 0000, "Internal event for PL/SQL debugging"
// *Cause: None
// *Action: none
/
29975, 0000, "Cannot register a query in the middle of an active transaction"
// *Cause: User tried to register a query within an uncommitted transction.
// *Action: Commit the transaction and retry.
/
29976, 0000, "Unsupported query for registration in guaranteed mode"
// *Cause: An operator or expression in the query was incompatible
//         with query registration in the guaranteed granularity mode.
// *Action: Check all expressions, clauses and operators in the query and refer
//          to the documentation for supported query types.
//          The application can reattempt
//          the query registration in best effort mode.
/
29977, 0000, "Unsupported column type for query registration in guaranteed mode"
// *Cause: An attempt was made to register a query with an unsupported 
// column type or too many columns.
// *Action: Examine all column datatypes in the expression and refer
//          to the documentation for supported query types.
//          The application can reattempt
//          the query registration in best effort mode.
/
29978, 0000, "Internal event for tracing Inband Notifications"
// *Cause: None
// *Action: none
/
29980, 0000, "Internal event for KTG crash recovery"
// *Document: NO
// *Cause: None
// *Action: none
/
29981, 0000, "Cannot register query: conflicting DDL in progress"
// *Cause: A query registration was attempted while there was a 
//  a concurrent DDL in progress.
// *Action: Retry the query registration.
/
29982, 0000, "Table type not supported for query registration in guaranteed mode"
// *Cause: The user attempted to register a  query
//          involving an  unsupported  table type. 
// *Action: Examine all tables in the query registration and refer
//          to the documentation for supported table types.
//          The application can reattempt registration in best effort mode.
/
29983, 0000, "Unsupported query for Continuous Query Notification"
// *Cause: The query cannot be registered for Continuous Query Notification.
// *Action: The query has some constructs that make it incompatible
//          with Continous Query Notification like 
//          synonyms or views. Please check the documentation for
//          complete list.
/
29984, 0000, "Internal event to force CHNF registrations"
// *Cause: None
// *Action: none
/
29985, 0000, "Query Registration is only supported for automatic undo management"
// *Cause: User is using manual undo management
// *Action: Switch to using automatic undo management 
/
29986, 0000, "Internal event for CQN to enable slow path ROWID generation"
// *Document: NO
// *Cause:  None
// *Action: None
/
29987, 0000, "Internal event for validating context in KTG Hash Insert Item"
// *Document: NO
// *Cause:  None
// *Action: None
/
29988, 0000, "Event to enable blocking on client cache registrations"
// *Document: NO
// *Cause:  None
// *Action: None
/
29989, 0000, "not enough shared pool memory due to very many CQN registrations"
// *Document: NO
// *Cause:  Max allowed shared pool usage for KTCN is 1 percent of shared pool size. The shared pool usage for KTCN depends directly on the number of CQN registrations.
// *Action: Increase shared_pool_size in Init.ora. Check relevant trace files to get more information about the current number of CQN registrations that caused this error message.
/
/ 30000 - 30010 Reserved 8.1 miscellaneous features
/
30000, 00000, "missing either trim specification or char expression in TRIM"
// *Cause:  Since FROM is specified in TRIM function, either trim specification
//          (TRAILING, HEADING, BOTH) or trim character or both must be
//          specified.
// *Action: Add either trim specification (TRAILING, HEADING, BOTH) or 
//          trim character or both.
/
30001, 00000, "trim set should have only one character"
// *Cause:  Trim set contains more or less than 1 character. This is not
//          allowed in TRIM function.
//
// *Action: Change trim set to have only 1 character.
/
30002, 00000, "SYS_CONNECT_BY_PATH function is not allowed here"
// *Cause:   SYS_CONNECT_BY_PATH function was called at places other than the
//           SELECT list and ORDER BY clause. 
//
// *Action: Remove calls to SYS_CONNECT_BY_PATH function at places other than 
//          the SELECT list and ORDER BY clause.
/
30003, 00000, "illegal parameter in SYS_CONNECT_BY_PATH function"
// *Cause:  
// *Action: use a non-empty constant string as the second argument, 
//          then retry the operation.
/
30004, 00000, "when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value"
// *Cause: A column value contained the string that the SYS_CONNECT_BY_PATH
//         function was to use to separate column values.
// *Action: Specify another separator for the SYS_CONNECT_BY_PATH function
//          to use which does not occur in any column value, then retry.
/
30005, 00000, "missing or invalid WAIT interval"
// *Cause: A non-zero integer must be specified for wait interval (in seconds) after the WAIT keyword.
// *Action: Correct the syntax and retry.
/
30006, 00000, "resource busy; acquire with WAIT timeout expired"
// *Cause:  The requested resource is busy.
// *Action: Retry the operation later.

30007, 00000, "CONNECT BY ROOT operator is not supported in the START WITH or in the CONNECT BY condition"
// *Cause: An attempt was made to use CONNECT BY ROOT operator in the START WITH or in the CONNECT BY condition.
// *Action: Remove CONNECT BY ROOT operator from the START WITH or from the CONNECT BY condition.
/
30008, 00000, "CONNECT BY clause must reference a PRIOR"
// *Cause: A CONNECT BY clause did not include a predicate referencing a
//         PRIOR so there was no condition connecting a parent row to its
//         child row.
// *Action: Add a reference to a PRIOR in the CONNECT BY clause.
/
30009, 0000, "Not enough memory for %s operation"
// *Cause: The memory size was not sufficient to process all the levels of the
//         hierarchy specified by the query.
// *Action: In WORKAREA_SIZE_POLICY=AUTO mode, set PGA_AGGREGATE_TARGET to
//          a reasonably larger value.
//          Or, in WORKAREA_SIZE_POLICY=MANUAL mode, set SORT_AREA_SIZE to a
//          reasonably larger value.
/
30010, 0000, "Not enough I/O buffers for the sort operation"
// *Cause: The sort was unable to allocate enough I/O buffers.
// *Action: Increase the amount of memory allowed for the sort or increase
//          the maximum number of I/O buffers allowed in the system and
//          retry the query.
/
/ Error numbers 30011-30050 reserved for Automatic Undo Management Errors
/
30011, 00000, "Error simulated: psite=%s, ptype=%s"
// *Cause:   error generated for testing purposes.
// *Action:  None.
30012, 00000, "undo tablespace '%s' does not exist or of wrong type"
// *Cause:   the specified undo tablespace does not exist or of the
//           wrong type.
// *Action:  Correct the tablespace name and reissue the statement.
30013, 00000, "undo tablespace '%s' is currently in use"
// *Cause:   the specified undo tablespace is currently used by another
//           instance.
// *Action:  Wait for the undo tablespace to become available or
//           change to another name and reissue the statement.
30014, 00000, "operation only supported in Automatic Undo Management mode"
// *Cause:   the operation is only supported in automatic undo mode.
// *Action:  restart instance in Automatic Undo Management mode before
//           retrying operation.
30015, 00000, "previously offlined undo tablespace '%s' is still pending"
// *Cause:   the current operation is not allowed because an undo
//           tablespace containing active transactions is pending 
//           from a previous SWITCH UNDO operation. The operation
//           will be allowed again after all transactions in the
//           previous undo tablespace are committed.
// *Action:  Wait for all previous transactions to commit before
//           reissuing the current statement.
30016, 00000, "undo tablespace '%s' is already in use by this instance"
// *Cause:   the specified undo tablespace is currently used by this 
//           instance. The operation failed.
// *Action:  If the specified undo tablespace name is wrong, reissue
//           the statement with the correct name.
30017, 00000, "segment '%s' is not supported in %s Undo Management mode"
// *Cause:   the type of the specified undo segment is incompatible with
//           the current undo management mode of the instance.
// *Action:  Check the undo segment name and the undo management mode
//           and reissue statement if necessary.
30018, 00000, "Create Rollback Segment failed, USN %s is out of range"
// *Cause: the system runs out of undo segment number. Too many undo
//         segments exist.
// *Action: drop some of the unused undo segments and retry operation.
30019, 00000, "Illegal rollback Segment operation in Automatic Undo mode"
// *Cause: This operation only allowed in Manual Undo mode.
// *Action: restart instance in Manual Undo_Management mode and retry 
//          operation.
30021, 00000, "Operation not allowed on undo tablespace"
// *Cause: This operation is not allowed on undo tablespaces
// *Action: Check the tablespace name and reissue command if necessary
30022, 00000, "Cannot create segments in undo tablespace"
// *Cause: Cannot create segments in undo tablespace
// *Action: Check the tablespace name and reissue command 
30023, 00000, "Duplicate undo tablespace specification"
// *Cause: Cannot create more than one undo tablespace during database creation
// *Action: Modify the command to contain only one undo tablespace
30024, 00000, "Invalid specification for CREATE UNDO TABLESPACE"
// *Cause: You have specified an clause that should not used with CREATE UNDO TABLESPACE
// *Action: Drop the clause from the command and reissue it.
/
30025, 00000, "DROP segment '%s' (in undo tablespace) not allowed"
// *Cause:   Explicit DROP operation is not allowed on undo tablespace segments
// *Action:  Check the undo segment name and reissue statement if
//           necessary.
30026, 00000, "Undo tablespace '%s' has unexpired undo with %s(sec) left, Undo_Retention=%s(sec)"
// *Cause: Tried to drop a tablespace that contains unexpired undo
//         information
// *Action: lower setting of UNDO_RETENTION or wait a while before
//          reissue command to drop undo tablespace
30027, 00000, "Undo quota violation - failed to get %s (bytes)"
// *Cause: the amount of undo assigned to the consumer group of this
//         session has been exceeded.
// *Action: ask DBA to increase undo quota, or wait until other 
//          transactions to commit before proceeding.
30028, 00000, "Automatic Undo Management event for NTP testing"
// *Cause: test events for internal use only
// *Action: none.
30029, 00000, "no active undo tablespace assigned to instance"
// *Cause: the current instance does not have an active undo tablespace
//         assigned to execute transactions.
// *Action: ask DBA to create an undo tablespace, online the undo
//          tablespace and then retry operation.
30030, 00000, "suppress resumable related error message"
// *Cause: none 
// *Action: This event is to be used if the errors 30031 and 30032
//          wish to be suppressed.
/ level 1 will suppress resumable error messages
30031, 00000, "the suspended (resumable) statement has been aborted"
// *Cause: DBA or the user aborted the execution of the suspended statement
//         in the resumable session
// *Action: none
30032, 00000, "the suspended (resumable) statement has timed out"
// *Cause: A correctible error was signaled in the resumable session and
//         the error was not cleared within the timeout interval.
// *Action: Fix the correctible error within the timeout.  Default is 2 hours.
//          Or increase the (resumable) timeout.
30033, 00000, "Undo tablespace cannot be specified as default user tablespace"
// *Cause:  It is incorrect to specify undo tablespace as default user 
//          tablespace
// *Action: Check the tablespace name and reissue the command
30034, 00000, "Undo tablespace cannot be specified as temporary tablespace"
// *Cause:  Undo tablespace cannot be specified as default temporary
//          tablespace for the user
// *Action: Check the tablespace name and reissue the command
30035, 00000, "Undo tablespace cannot be specified as default temporary tablespace"
// *Cause:  Undo tablespace cannot be specified as default temporary
//          tablespace for the database
// *Action: Check the tablespace name and reissue the command
30036, 00000, "unable to extend segment by %s in undo tablespace '%s'"
// *Cause:   the specified undo tablespace has no more space available.
// *Action:  Add more space to the undo tablespace before retrying
//           the operation. An alternative is to wait until active
//           transactions to commit.
30037, 00000, "Cannot perform parallel DML after a prior DML on the object"
// *Cause: Attempt to perform parallel DML after another DML on the same
//         object in the same transaction.
// *Action: Use bitmap segments to perform multiple (parallel) DML 
//          operations on the same object. Or commit before issueing the DML
30038, 00000, "Cannot perform parallel insert on non-partitioned object"
// *Cause: Attempt to perform parallel insert on a non-partitioned object
//         after a previous DML on the object in the same transaction.
// *Action: Commit before issueing the insert.
30039, 00000, "Cannot drop the undo tablespace "
// *Cause: Cannot drop an undo tablespace that is in use
// *Action: Switch to a different undo tablespace and then try to drop
30040, 00000, "Undo tablespace is offline"
// *Cause: Cannot operate on an offlined undo tablespace
// *Action: Online the undo tablespace and redo the operation
30041, 00000, "Cannot grant quota on the tablespace"
// *Cause: User tried to grant quota on an undo or temporary tablespace
// *Action: Check the tablespace name and reissue the command
30042, 00000, "Cannot offline the undo tablespace "
// *Cause: Cannot offline an undo tablespace that is in use
// *Action: Switch to a different undo tablespace and then try to offline
30043, 00000, "Invalid value '%s' specified for parameter 'Undo_Management'"
// *Cause:   the specified undo management mode is invalid
// *Action:  Correct the parameter value in the initialization file
//           and retry the operation.
30044, 00000, "'Retention' can only specified for undo tablespace"
// *Cause: An attempt was made to specify retention for a non-undo tablespace. 
// *Action: Modify the CREATE TABLESPACE statement.
30045, 00000, "No undo tablespace name specified"
// *Cause: If Create Database has the datafile clause, then 
//        undo tablespace name has to be specified, unless using OMF.
// *Action: Specify the undo tablespace name.
30046, 00000, "Undo tablespace %s not found in control file."
// *Cause: The specified undo tablespace is not present in the control file.
// *Action: Modify the CREATE CONTROLFILE statement that created the current
//          control file to include undo tablespace(s) and reissue the 
//          statement. 
30047, 00000, "Internal event for kti tracing"
// *Cause: internal use only
// *Action: none
30048, 00000, "Internal event for IMU auto-tuning"
// *Cause: internal use only
// *Action: none
30049, 00000, "Internal event for TA enq tracing"
// *Cause: internal use only
// *Action: none
/
30050, 00000, "Internal event for IMU private buffer leak checks"
// *Document: NO
// *Cause: internal use only
// *Action: none
/
/ 30051 - 30059 Reserved for row versions query feature
/
30051, 00000, "VERSIONS clause not allowed here"
// *Cause: A VERSIONS clause was specified when it was not allowed.
// *Action: Do not use the VERSIONS clause
30052, 00000, "invalid lower limit snapshot expression"
// *Cause: The lower limit snapshot expression was below the UNDO_RETENTION
//         limit.
// *Action: Specify a valid lower limit snapshot expression.
30053, 00000, "invalid upper limit snapshot expression"
// *Cause: The upper limit snapshot expression is greater than the SQL 
//         statement read snapshot.
// *Action: Specify a valid upper limit snapshot expression.
30054, 00000, "invalid upper limit snapshot expression"
// *Cause: The upper limit snapshot expression is less than the lower limit 
//         snapshot expression.
// *Action: Specify a valid upper limit snapshot expression.
30055, 00000, "NULL snapshot expression not allowed here"
// *Cause: The snapshot expression is NULL.
// *Action: Specify a non-NULL snapshot expression.
/
/ 30060 - 30069 Reserved for Transaction layer internal tracing
/
30060, 00000, "Internal event for RECO tracing"
// *Cause: internal use only
// *Action: none
30061, 00000, "Internal Event for Savepoint Tracing"
// *Cause: internal use only
// *Action: none
30062, 00000, "Test support for ktulat latch recovery"
// *Cause: internal use only
// *Action: none.
30063, 00000, "Internal Event to Test NTP"
// *Cause: none
// *Action: none
30064, 00000, "Test support for two phase read only optimization"
// *Cause: internal use only
// *Action: none.
30065, 00000, "test support for row dependencies"
// *Cause: internal use only
// *Action: none.
30066, 00000, "test support - drop rollback segment wait"
// *Cause: internal use only
// *Action: none.
30067, 00000, "Internal Event to turn on nested debugging info"
// *Cause: none
// *Action: none.
30068, 00000, "Internal Event to turn on nested"
// *Cause: none
// *Action: none.
30069, 00000, "Auto Undo-Management Error simulation - test site = %s"
// *Cause: test events for internal use only.
// *Action: none.
/
/ 30070 - 30099 Reserved for datetime/interval feature
/
30071, 00000, "conversion between datetime/interval and string fail"
// *Cause: An error occurs during a conversion between datetime/interval
//         and string data type due to one of the following reasons:
//         - The buffer is too short to hold the result.
//         - The format string is bad.
// *Action:
30072, 00000, "invalid time zone value"
// *Cause: The value specified for the time zone string, which appears in
//         ALTER SESSION statement, environment variable ORA_SDTZ, or
//         a datetime factor, is not valid.
// *Action:
30073, 00000, "invalid adjustment value"
// *Cause: The value is none of the followings: 'ADJUST', 'NO_ADJUST', 
// 'ANSI_DATE', 'ADJUST_WITH_ANSI_DATE'. 'NO_ADJUST' is the default value.
// *Action: set it to one of the three values
//
30074, 00000, "GLOBAL partitioned index on TIME/TIMESTAMP WITH TIME ZONE not allowed"
// *Cause: try to GLOBAL partitioned index on TIME/TIMESTAMP WITH TIME ZONE.
// *Action: Do not GLOBAL partitioned index on TIME/TIMESTAMP WITH TIME ZONE.
30075, 00000, "TIME/TIMESTAMP WITH TIME ZONE literal must be specified in CHECK constraint"
// *Cause: User is trying to create a constraint on a time or timestamp with
//         or without time zone column without explicitly specifying the time zone.
// *Action: Use time or timestamp with time zone literals only.
30076, 00000, "invalid extract field for extract source"
// *Cause: The extract source does not contain the specified extract field.
// *Action:
30077, 00000, "illegal casting between specified datetime types"
// *Cause: Cannot cast between the specified datetime types.
// *Action:
30078, 00000, "partition bound must be TIME/TIMESTAMP WITH TIME ZONE literals"
// *Cause:  An attempt was made to use a time/timestamp expression whose format
//          does not explicitly have time zone on a TIME/TIMESTAMP or 
//          TIME/TIMESTAMP WITH TIME ZONE column.
// *Action: Explicitly use TIME/TIMESTAMP WITH TIME ZONE literal.
30079, 00000, "cannot alter database timezone when database has TIMESTAMP WITH LOCAL TIME ZONE columns" 
// *Cause:  An attempt was made to alter database timezone with 
//          TIMESTAMP WITH LOCAL TIME ZONE column in the database.
// *Action: Either do not alter database timezone or first drop all the 
//          TIMESTAMP WITH LOCAL TIME ZONE columns.
//


30081, 00000, "invalid data type for datetime/interval arithmetic"
// *Cause: The data types of the operands are not valid for datetime/interval
//         arithmetic.
// *Action:
30082, 00000, "datetime/interval column to be modified must be empty to decrease fractional second or leading field precision"
// *Cause: datetime/interval column with existing data is being modified to 
//         decrease fractional second or leading field precisions.
// *Action: Such columns are only allowed to increase the precisions.
//
30083, 00000, "syntax error was found in interval value expression"
// *Cause: A syntax error was found during parsing an interval value
//         value expression.
// *Action: Correct the syntax.
30084, 00000, "invalid data type for datetime primary with time zone modifier"
// *Cause: When a time zone modifier is specified, the data type of datetime
//         primary must be one of the following: TIME, TIME WITH TIME ZONE,
//         TIMESTAMP, TIMESTAMP WITH TIME ZONE.
// *Action: 
30085, 00000, "syntax error was found in overlaps predicate"
// *Cause: A syntax error was found during parsing an overlaps predicate.
// *Action: Correct the syntax.
30086, 00000, "interval year-month result not allowed for datetime subtraction"
// *Cause: An attempt was made to specify interval year to month as the
//         result of datetime subtraction.
// *Action: This is not allowed currently due to unclear specification 
//          in SQL Standards for this interval type. Change the interval
//          type to interval day to second and resubmit statement.
30087, 00000, "Adding two datetime values is not allowed"
// *Cause: An attempt was made to add two datetime values.
// *Action: This addition is not allowed.
//
30088, 00000, "datetime/interval precision is out of range"
// *Cause: The specified datetime/interval precision was not between 0 and 9.
// *Action: Use a value between 0 and 9 for datetime/interval precision.
/  
30089, 00000, "missing or invalid "
// *Cause: A (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) is
//         expected but not found, or a specified the
//         in an is more significant
//         than its .
// *Action:
//
30090, 00000, "Internal general event for DST patching on TIMESTAMP WITH TIME ZONE data"
// *Document: NO
// *Cause:    N/A
// *Action:   N/A
//            Level:
//            0x01 - trace loading of TT
//            0x02 - trace SQL statement generation
//            0x04 - trace RAC execution
//            0x08 - trace DBMS_DST procedures 
//            0x10 - allow to start an upgrade window without opening DB 
//                   in UPGRADE mode
//            0x20 - simulate a datapump job caller
//            0x40 - disable the optimization of using index to find if the
//                   data in a TSTZ column are affected
// *Comment:  Not for general purpose use.
//
30091, 00000, "secondary translation table not loaded"
// *Cause: The secondary translation table for DST patching on TSTZ data 
//         was not loaded.
// *Action: Load the secondary translation table.
//
30092, 00000, "function not allowed at this stage of DST upgrade process"
// *Cause: Query included a function that is not allowed in the current
//         state of DST upgrade process.
// *Action: This function is not allowed at the currect stage of DST upgrade.
//
30093, 00000, "function not allowed until the database is restarted"
// *Cause: Query included a function that is not allowed until the 
//         database is restarted.
// *Action: Shut down and restart the database.
//
30094, 00000, "failed to find the time zone data file for version %s in $ORACLE_HOME/oracore/zoneinfo"
// *Cause: There was no corresponding time zone data file in 
//         $ORACLE_HOME/oracore/zoneinfo for the input time zone version.
// *Action: None.
//
/ 30100-30134 Reserved for OCIExtract Cartridge Services
/
30100, 00000, "internal error [%d]"
// *Cause: An internal error has occurred.
// *Action: Contact Oracle Worldwide Support and report the error.
/
30101, 00000, "unknown parameter name '%.*s'"
// *Cause: You have misspelled the parameter name.
// *Action: Spell the parameter name correctly.
/
30102, 00000, "'%.*s' is not in the legal range for '%.*s'"
// *Cause: The value of the parameter is not within the legal range.
// *Action: Refer to the manual for the allowable values for this parameter.
/
30103, 00000, "'%.*s' contains an illegal integer radix for '%.*s'"
// *Cause: An illegal integer radix specification was found.
// *Action: Only 'd', 'h', 'D', and 'H' may be used as radix specifications.
/
30104, 00000, "'%.*s' is not a legal integer for '%.*s'"
// *Cause: The value is not a valid integer.
// *Action: Specify only valid integers for this parameter.
/
30105, 00000, "'%.*s' is not a legal boolean for '%.*s'"
// *Cause: The value is not a valid boolean.
// *Action: Refer to the manual for allowable boolean values.
/
30106, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
30107, 00000, "parameter name abbreviation '%.*s' is not unique"
// *Cause: The abbreviation given was not unique.
// *Action: Use a longer abbreviation to make the parameter name unique.
/
30108, 00000, "invalid positional parameter value '%.*s'"
// *Cause: An invalid positional parameter value has been entered.
// *Action: Remove the invalid positional parameter.
/
30109, 00000, "could not open parameter file '%.*s'"
// *Cause: The parameter file does not exist.
// *Action: Create an appropriate parameter file.
/
30110, 00000, "syntax error at '%.*s'"
// *Cause: A syntax error was detected.
// *Action: Change the input so that the correct syntax is used.
/
30111, 00000, "no closing quote for value '%.*s'"
// *Cause: A quoted string was begun but not finished.
// *Action: Put a closing quote in the proper location.
/
30112, 00000, "multiple values not allowed for parameter '%.*s'"
// *Cause: You attempted to specify multiple values for a parameter which can
//         take only one value.
// *Action: Do not specify more than one value for this parameter.
/
30113, 00000, "error when processing file '%.*s'"
// *Cause: A problem occurred when processing this file.
// *Action: Examine the additional error messages and correct the problem.
/
30114, 00000, "error when processing from command line"
// *Cause: A problem occurred when processing the command line.
// *Action: Examine the additional error messages and correct the problem.
/
30115, 00000, "error when processing an environment variable"
// *Cause: A problem occurred when processing an environment variable.
// *Action: Examine the additional error messages and correct the problem.
/
30116, 00000, "syntax error at '%.*s' following '%.*s'"
// *Cause: A syntax error was detected.
// *Action: Change the input so that the correct syntax is used.
/
30117, 00000, "syntax error at '%.*s' at the start of input"
// *Cause: A syntax error was detected.
// *Action: Change the input so that the correct syntax is used.
/
30118, 00000, "syntax error at '%.*s' at the end of input"
// *Cause: A syntax error was detected.
// *Action: Change the input so that the correct syntax is used.
/
30119, 00000, "unable to obtain a valid value for '%.*s'"
// *Cause: No valid value was obtained for this parameter.
// *Action: Rerun the application and enter a valid value.
/
30120, 00000, "'%.*s' is not a legal oracle number for '%.*s'"
// *Cause: The value is not a valid oracle number.
// *Action: Refer to the manual for allowable oracle number values.
/
30121, 00000, "'%.*s' is not an allowable value for '%.*s'"
// *Cause: The value is not a legal value for this parameter.
// *Action: Refer to the manual for allowable values.
/
30122, 00000, "value '%.*s' for '%.*s' must be between '%d' and '%d'"
// *Cause: The value of the parameter is not within the legal range.
// *Action: Specify a value that is within the legal range.
/
/ Error numbers from 30123 to 30128 are reserved for possible LRM message
/ expansion.
/
30129, 00000, "invalid function argument received"
// *Cause: A function received an invalid argument
// *Action: Check function calls, make sure correct arguments are being passed.
/
30130, 00000, "invalid parameter key type received"
// *Cause: A function received an invalid parameter key type
// *Action: Check parameter key types in function calls 
/
30131, 00000, "number of keys being set exceeds allocation"
// *Cause: Number of parameter keys being set exceeds allocation
// *Action: Reduce the number of keys being set or increase allocation
/
30132, 00000, "invalid key index supplied"
// *Cause: The key index specified was not within bounds
// *Action:  Change key index to ensure it lies within bounds
/
30133, 00000, "reserved for future use"
// *Cause: None.
// *Action: None.
/
30134, 00000, "reserved for future use"
// *Cause: None.
// *Action: None.
/
/ Error numbers from 30135 to 30149 are reserved for OCIThread Cartridge
/ Service and OCI configuration.
/
30135, 00000, "OCI Thread operation fails"
// *Cause: An OCI Thread function call has failed. 
//
// *Action: Check the function call to make sure that the correct parameters 
//          are being passed and take the apropriate action.
//          
30136, 0000, "Drop-in compatibility is not supported for this application"
// *Cause:  The current application is statically linked with defopt.o
//          from an older release, which is incompatible with the current
//          client shared library.
// *Action: 1) Relink the application against the new release of the client 
//             library; or
//          2) Relink the application against the older release of the client
//             library without statically linking defopt.o.
/
/ OCIFile 30150-30174.
/ Error messages for OCIFile package.
/
30150, 00000, "Invalid argument passed to OCIFile function"
// *Cause: An invalid argument is passed to the OCIFile function. The most
//         common cause is that a NULL pointer is passed where a non-NULL
//         pointer is expected.
// *Action: Make sure that the values passed as arguments are valid. Esp
//          check for NULL pointers.
/
30151, 00000, "File already exists"
// *Cause:  Tried to open a file with OCI_FILE_EXCL flag and the file
//          already exists.
//
// *Action: OCIFile is supposed throw this exception in this case.
/
30152, 00000, "File does not exist"
// *Cause: The OCIFile function requires the file to exist, but it does not.
//
// *Action: Make sure that the file exists.
/
/
30153, 00000, "An invalid File Object is passed to the OCIFile function"
// *Cause: An invalid File Object is passed to the OCIFile function.
//
// *Action: Make sure that the file object is a valid one. Create a new
//          file object by calling OCIFileOpen if needed.
/
/
30154, 00000, "The memory address given as buffer for OCIFileRead/Write is invalid"
// *Cause: An invalid memory address is given as the buffer pointer for 
//         OCIFileRead/Write.
//
// *Action: Make sure that the required memory is allocated and pass a
//          valid memory address as buffer pointer.
/
/
30155, 00000, "An I/O Error occured during an OCIFile function call"
// *Cause: An I/O error occurred at the system level.
//
// *Action: This is a system error and the action will depnd on the error.
/
/
30156, 00000, "Out of disk space"
// *Cause: The disks associated with the underlying file system are full.
//
// *Action: Create more disk space.
/
/
30157, 00000, "An invalid argument was given to operating system call"
// *Cause: The OS call was called with an invalid argument.
//
// *Action: Check the values passed. If unsuccessful to solve the problem
//          contact ORACLE support.
/
/
30158, 00000, "The OCIFileWrite causes the file to exceed the maximum allowed size"
// *Cause: There is no space to write to the file. Its size is at the
//          maximum limit.
//
// *Action: Up to the user.
/
/
30159, 00000, "OCIFileOpen: Cannot create the file or cannot open in the requested mode"
// *Cause:  The create flag was specified in OCIFileOpen such that the file
//          was to be created. But unable to do so. Or the file already exists
//          and the permissions on it doesn't allow the file to be opened in
//          in the requested open mode
//
// *Action: Check whether the user has permissions to create the specified
//          file or if the file exists whether the permissions on it allow
//          the requested open mode.
/
/
30160, 00000, "Unable to access the file"
// *Cause: The function was unable to access the existing the file.
//
// *Action: Check if the user has the required permissions on the file.
/
/
/
30161, 00000, "A system error occurred during the OCIFile function call"
// *Cause: A system error occured while executing the OCIFile function.
//
// *Action: Depend on the error.
/
/
30162, 00000, "The OCIFile context is not initialzed"
// *Cause: The function OCIFileInit need to be called before calling any
//         other OCIFile function to initialize the OCIFile context.
//
// *Action: Call the function OCIFileInit need to be called before calling any
//          other OCIFile function.
/
30163, 00000, "The thread safety initialization failed"
// *Cause: The call to SlgInit failed in OCIFileInit.         
//
// *Action: Contact support         
/
/
/ Error messages for the OCIFormat package: 30175-30199
/
30175, 00000, "invalid type given for an argument"
// *Cause:  There is an argument with an invalid type in the argument list.
// *Action: Use the correct type wrapper for the argument.
/
30176, 00000, "invalid format code used in the format string"
// *Cause:  There is an invalid format code in the format string.
// *Action: Replace the invalid format code with a valid one.
/
30177, 00000, "invalid flag used in a format specification"
// *Cause:  There is an invalid flag in a format specification.
// *Action: Replace the invalid flag with a valid one.
/
30178, 00000, "duplicate flag used in a format specification"
// *Cause:  There is a duplicate flag in a format specification.
// *Action: Remove the duplicate flag.
/
30179, 00000, "invalid argument index used in a format code"
// *Cause:  Zero or negative argument index or index not following (."
// *Action: Replace the invalid argument index with a valid one.
/
30180, 00000, "argument index is too large"
// *Cause:  An argument index exceeds actual number of arguments supplied.
// *Action: Fix format string or pass additional arguments.
/
30181, 00000, "integer in argument index is not immediately followed by )"
// *Cause:  Missing closing parenthesis in argument index.
// *Action: Fix the format specification.
/
30182, 00000, "invalid precision specifier"
// *Cause:  Period in format specification not followed by valid format.
// *Action: Replace the invalid precision specifier with a valid one.
/
30183, 00000, "invalid field width specifier"
// *Cause:  Invalid field width supplied.
// *Action: Replace the invalid field width with a valid one.
/
30184, 00000, "argument type not compatible with a format code"
// *Cause:  Bad argument type given for a format code.
// *Action: Make format and arguments be compatible.
/
30185, 00000, "output too large to fit in the buffer"
// *Cause:  The buffer is not large enough to hold the entire output string.
// *Action: Fix the buffer size and length passed in.
/
30186, 00000,  "'\\' must be followed by four hexdecimal characters or another '\\'"
// *Cause:  In the argument of SQL function UNISTR, a '\' must be followed by 
//          four hexdecimal characters or another '\'
// *Action: Fix the string format
/
30187, 00000, "Permission denied for '%s' to access procedure GET_KEY."
// *Cause:  The client was unauthorized to invoke the procedure DBMS_INTERNAL_CLKM.GET_KEY.
// *Action: DBMS_INTERNAL_CLKM.GET_KEY is an Oracle GoldenGate feature and can only
//          be accessed by Oracle GoldenGate.
/
30188, 00000, "reserved for future use"
// *Cause:  None.  
// *Action: None. 
/
30189, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
30190, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
30191, 00000, "missing argument list"
// *Cause:  No argument list supplied.
// *Action: Modify the argument list to have at least OCIFormatEnd in it.
/
/ Error Numbers 30192 - 30199 are reserved for OGG/DB sharding
/
30192, 00000, "OGG Service URI: %s failed to %s process: %s name: %s - OGG message: %s" 
// *Cause:  Oracle GoldenGate (OGG) AdminService or DistributionService operation failed.
// *Action: Refer to the Oracle GoldenGate message for required action.
/
30193, 00000, "OGG sharding function called in non-OGG sharding deployment"
// *Cause:  Internal error. An Oracle GoldenGate (OGG) specific sharding functionality 
//          was called in a non-Oracle GoldenGate sharding deployment. 
// *Action: Contact Oracle Support Services.
/
30194, 00000, "Invalid combination of OGG Sharding deployment parameters specified"
// *Cause:  The values specified for Oracle GoldenGate (OGG) sharding deployment 
//          parameters (number of shards, number of chunks, replication factor 
//          and distribution factor) were not compatible with each other.
// *Action: Ensure that the following invariants hold for each shardgroup:
//          number of chunks >= number of shards
//          number of shards >= replication factor
//          distribution factor >= replication factor - 1  
/
30195, 00000, "OGG command payload contains invalid operation code %s"
// *Cause:  Internal error. The payload for Oracle GoldenGate (OGG) command sent from 
//          the Sharding Catalog to the shard database contained invalid operation code.
// *Action: Contact Oracle Support Services.
/
30196, 00000, "Sharding configuration parameter '%s' is not set in the shard database."
// *Cause:  Internal error. A database initialization parameter required by the
//          shard database was not set during deployment.
// *Action: Contact Oracle Support Services.
/
30197, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
30198, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
30199, 00000, "reserved for future use"
// *Cause:  None.
// *Action: None.
/
/
/ Error Numbers 30200 - 30299 are reserved for NLS Cartridge Services
30200, 00000, "Wrong NLS item was passed into OCINlsGetInfo()"
// *Cause: The item is not supported NLS item
//
// *Action: Correct the item number passed to OCINlsGetInfo().
/
/
30201, 00000, "Unable to load NLS data object"
// *Cause: It may be caused by invalid NLS environment setting
//
// *Action: Check your NLS environment setting such as ORA_NLS33
/
/
30202, 00000, "NULL pointer to OCIMsgh was passed to OCIMsg function"
// *Cause: The NULL pointer was passed.
//
// *Action: Check your value of OCIMsgh pointer.
/
/
30203, 00000, "Cannot open mesage file"
// *Cause: The message may not exist in your system.
/
// *Action: Check your message for the given product and facility.
/
/
30204, 00000, "buffer is not large enougth"
// *Cause: The destination buffer is not large enough for storing
//         converted data.
/
// *Action: Check the size of the destination buffer.
/
/
30205, 00000, "invalid Character set"
// *Cause: The specified character set is invalid.
/
// *Action: Check if the character set ID is valid.
/
/
/ 30300 - 30330 reserved for transaction recovery
/
30300, 00000, "unable to obtain SEG2"
// *Document: NO
// *Cause: 
// *Action: Not a user error
/
30301, 00000, "cannot recover this transaction in parallel"
// *Document: NO
// *Cause: 
// *Action: Not a user error
/
30302, 00000, "event to make PMON skip recovery"
// *Document: NO
// *Cause: 
// *Action: Not a user error
/
30303, 00000, "Internal error"
// *Document: Internal event
// *Cause: 
// *Action: Not a user error
/
30304, 00000, "Internal error"
// *Document: Internal event
// *Cause: 
// *Action: Not a user error
/
30305, 00000, "Debug mode"
// *Document: Internal event
// *Cause: 
// *Action: Not a user error
/
30306, 00000, "Internal error"
// *Document: Internal error
// *Cause: 
// *Action: Not a user error
/
30307, 00000, "Internal error"
// *Document: Internal error
// *Cause: 
// *Action: Not a user error
/
30308, 00000, "Internal error"
// *Document: Internal error
// *Cause: 
// *Action: Not a user error
/
30309, 00000, "Interenal"
// *Document: NO
// *Cause: 
// *Action: Not a user error
/
30310, 00000, "Interenal"
// *Document: NO
// *Cause: None
// *Action: Not a user error

30311, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error

30312, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error

30313, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error

30314, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error

30315, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error
/
30316, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error
/
/
30317, 00000, "Internal"
// *Document: NO
// *Cause: None
// *Action: Not a user error
/
/
30318, 00000, "Block Level Recovery attempted"
// *Document: NO
// *Cause: None
// *Action: Not a user error
/
30325, 00000, "SMON yielded shrink to perform other critical work"
// *Document: NO
// *Cause: None
// *Action: Not a user error
/
/ Error Numbers 30331 - 30429 are reserved for Summary Management Parse
/
30331, 00000, "summary does not exist"
// *Cause: A non-existant summary name was specified.
//
// *Action: Check the spelling of the summary name.
/
/
30332, 00000, "container table already in use by other summary"
// *Cause: Another summary is already using this table as a container table.
//
// *Action: Select another table or materialized view as the container table 
//          for this summary.
/
/
30333, 00000, "dimension does not exist"
// *Cause: The dimension named in a dimension DDL statment does not exist.
//
// *Action: Check the spelling of the dimension name.
/
/
30334, 00000, "illegal dimension level name"
// *Cause: A level name in a dimension ddl statement did not conform to
//         SQL identifier rules.
//
// *Action: Use a level name that begins with a letter, consists of only
//          letters, digits, and underscores and contains no more than 30 
//          characters.
/
/
30335, 00000, "JOIN KEY clause references a level not in this hierarchy"
// *Cause: The level name specified with the REFERENCES portion of a JOIN KEY
//         clause in a dimension DDL statement does not reference a level
//         in the hierarchy that contains the JOIN KEY clause.
//
// *Acction: Check the spelling of the level name.
/
/
30336, 00000, "no child for specified JOIN KEY"
// *Cause: The level specified in the REFERENCES portion of a JOIN KEY clause
//         in a dimension DDL statement does not have a child level.
//
// *Action: Check the spelling of the level name referenced in the JOIN KEY
//          clause.  If the referenced level is the first level in the
//          hierarchy, you need not and must not specify a JOIN KEY clause.
/
/
30337, 00000, "multiple JOIN KEY clauses specified for the same parent level"
// *Cause: Multiple JOIN KEY clauses were specified for a given parent
//         level in a dimension hierarchy.
//
// *Action: Match up each JOIN KEY clause with the level it references in the
//          hierarchy.  Eliminate the redundant JOIN KEY clause.
/
/
30338, 00000, "illegal dimension hierachy name"
// *Cause: An illegal dimension hierarchy name was specified in a dimension DDL
//         statement.
//
// *Action: Make sure the name begins with a letter, contains only letters,
//          digits and underscore and contains no more than 30 characters.
//          If you qualify the name with the owner name, make sure
//          the owner name conforms with the requirements for an owner name 
//          on your system.
/
/
30339, 00000, "illegal dimension attribute name"
// *Cause: An illegal dimension attribute name was specified in a dimension DDL
//         statement.
//
// *Action: Make sure the name begins with a letter, contains only letters,
//          digits and underscore and contains no more than 30 characters.
//          If you qualify the name with the owner name, make sure
//          the owner name conforms with the requirements for an owner name 
//          on your system.
/
/
30340, 00000, "illegal dimension name"
// *Cause: An illegal dimension name was specified in a dimension DDL
//         statement.
//
// *Action: Make sure the name begins with a letter, contains only letters,
//          digits and underscore and contains no more than 30 characters.
//          If you qualify the name with the owner name, make sure
//          the owner name conforms with the requirements for an owner name 
//          on your system.
/
/
30341, 00000, "dropped level has references"
// *Cause: An attempt was made to drop a level using the default or RESTRICT
//         option in a dimension while references to that level remain in the 
//         dimension.  References can occur in hierarchies and attributes 
//         within the dimension.
//
// *Action: First remove any referenes to the level prior to dropping it, or
//          specify the CASCADE option with the DROP LEVEL clause.
/
/
30342, 00000, "referenced level is not defined in this dimension"
// *Cause: A reference to a level not defined within the dimension was found.
//
// *Action: Check the spelling of the level name.
/
/
30343, 00000, "level name is not unique within this dimension"
// *Cause: Two or more levels were defined with the same name.
//
// *Action: Check the spelling of the level names.
/
/
30344, 00000, "number of child cols different from number of parent level cols"
// *Cause: The number of child columns specified in a JOIN KEY clause is not
//         the same as the number of columns in the specified parent level.
//
// *Action: Check the child columns and the columns in the definition of the
//          referenced parent level and correct the discrepency.
/
/
30345, 00000, "circular dimension hierarchy"
// *Cause: A circularity was found the dimension hierarchy.
//
// *Action: Check the hierarchy for a level name that occurs more than once.
/
/
30346, 00000, "hierarchy name must be unique within a dimension"
// *Cause: The same name was used for more than one hierarchy in a dimension.
//
// *Action: Check the spelling of the hierarchy name.
/
/
30347, 00000, "a table name is required to qualify the column specification"
// *Cause: A table name was omitted in a column specification where where 
//         the column must be qualified by the table name.
//
// *Action: Qualify the column with the table name.
/
/
30348, 00000, "ADD and DROP cannot both be specified"
// *Cause: One or more ADD clauses were found in the same ALTER DIMENSION
//         statement with one or more DROP clauses.
//
// *Action: Separate your ADD operations into one ALTER DIMENSION statement
//          and your DROP operations into another.
/
/
30349, 00000, "specified dimension hierarchy does not exist"
// *Cause: A hierarchy name was encountered that is not defined within
//         the dimension.
//
// *Action: Check the spelling of the hierarchy name.
/
/
30350, 00000, "specified dimension attribute does not exist"
// *Cause: An attribute name was encountered that is not defined within the
//         dimension.
//
// *Action: Check the attribute name spelling.
/
/
30351, 00000, "query rewrite does not currently support this expression"
// *Cause: A complex expression was specified that is is not currently 
//         supported by query rewrite.
//
// *Action: Reduce the complexity of the expression.
/
/
30352, 00000, "inconsistent numeric precision or string length"
// *Cause: The SELECT expression was of a different numeric precision or string
//         length than the corresponding container column.  Therefore, query
//         rewrite cannot guarantee results that are identical to the 
//         results obtained with the un-rewritten query.
//
// *Action: Correct the precision or string length difference, specify the 
//          WITH REDUCED PRECISION option, or disable the REWRITE option
//          on the materialized view.
/
/
30353, 00000, "expression not supported for query rewrite"
// *Cause: The SELECT clause referenced UID, USER, ROWNUM, SYSDATE,
//         CURRENT_TIMESTAMP, MAXVALUE, a sequence number, a bind variable, 
//         correlation variable, a set result, a  trigger return variable, a 
//         parallel table queue column, collection iterator, a non-deterministic
//         date format token RR, etc.
// *Action: Remove the offending expression or disable the REWRITE option on
//          the materialized view.
/
/
30354, 00000, "Query rewrite not allowed on SYS relations"
// *Cause: A SYS relation was referenced in the select clause for a
//          materialized view with query rewrite enabled.
//
// *Action: Remove the reference to the SYS relation from the select clause or
//          disable the REWRITE option on the materialized view.
/
/
30355, 00000, "materialized view container does not exist"
// *Cause: A DROP TABLE command was issued directly against the materialized 
//         view container table.
//
// *Action: Use the DROP MATERIALIZED VIEW command to clean up the residual 
//          meta data for the materialized view.  Then use the CREATE 
//          MATERIALIZED VIEW statement to recreate the materialized view.
//          Thereafter, use the DROP MATERIALIZED VIEW command rather than the
//          DROP TABLE command to drop a materialized view.
/
/
30356, 00000, "the specified refresh method is not supported in this context"
// *Cause: The refresh method that was specified is not currently supported.
//
// *Action: Specify a different refresh method or change the context to 
//          enable support of the chosen refresh method.
/
/
30357, 00000, "this PL/SQL function cannot be supported for query rewrite"
// *Cause: The statement referenced a PL/SQL function that is not marked
//         DETERMINISTIC.
// *Action: Perform one of the following actions:
//          - Remove the use of the PL/SQL function.
//          - Mark the PL/SQL function as DETERMINISTIC.
//          - Disable the REWRITE option on the materialized view.
//          The function should be marked DETERMINISTIC only if it always
//          returns the same result value for any given set of input argument
//          values, regardless of any database state or session state.
//          Do not mark the function as DETERMINISTIC if it has any
//          meaningful side-effects.
/
/
30358, 00000, "summary and materialized view are not in same schema"
// *Cause: An internal Oracle error occured.
//
// *Action: Report the problem through your normal support channels.
/
/
30359, 00000, "Query rewrite is not supported on SYS materialized views"
// *Cause: An attempt was made to enable the REWRITE option on a materialized 
//         view in the SYS schema. 
//
// *Action: Create the materialized view in a different schema or disable the
//          REWRITE option.
/
/
30360, 00000, "REF not supported with query rewrite"
// *Cause: The statement contained a REF operator. Repeatable behavior cannot
//         be guaranteed with the REF operator.  Therefore, query rewrite
//         cannot support the REF operator.
//
// *Action: Remove the reference to the REF operator or disable the REWRITE
//          option on the materialized view.
/
/
30361, 00000, "unrecognized string type"
// *Cause: An internal Oracle error occured.
//
// *Action: Report the problem through your normal support channels.
/
/
30362, 00000, "dimension column cannot be a sequence"
// *Cause: The dimension statement referenced a column that is a sequence.
//
// *Action: Remove the reference to the sequence.
/
/
30363, 00000, "columns in a dimension column list must be in the same relation"
// *Cause: The dimension statement contained a column list where the columns
//         are not all from the same relation.
//
// *Action: Specify the list of columns using only columns from a single 
//          relation.
/
/
30364, 00000, "this level has the same set of columns as another"
// *Cause: The level definition contained the same set of columns as another
//         level.
//
// *Action: Eliminate the redundant level definition.
/
/
30365, 00000, "left relation in the JOIN KEY clause cannot be same as right"
// *Cause: The relation of the child columns on the left side of the JOIN KEY
//         clause was the same as that of the parent level on the right side.
//
// *Action: Remove the JOIN KEY clause.  It is not required or allowed when
//          the child and the parent are in the same relation.
/
/
30366, 00000, "child JOIN KEY columns not in same relation as child level"
// *Cause: The relation of the child columns on the left side of the JOIN KEY
//         clause differed from that of that child level.
//
// *Action: Specify the correct child columns in the JOIN KEY clause.
/
/
30367, 00000, "a JOIN KEY clause is required"
// *Cause: A JOIN KEY clause was omitted in a dimension statement.  A JOIN KEY
//         clause is required when the child level and the parent level are
//         not in the same relation.
//
// *Action: Specify a JOIN KEY clause to indicate how the relation of the 
//          child level joins to the relation of the parent level.
/
/
30368, 00000, "ATTRIBUTE cannot determine column in a different relation"
// *Cause:   An ATTRIBUTE clause in a dimension statement specified a
//           determined column on the right that is in a different relation
//           than that of the level on the left.
//
// *Action:  Specify attibutes only for those dimension levels that 
//           functionally determine other columns within the same relation.
/
/
30369, 00000, "maximum number of columns is 32"
// *Cause: A list of columns was specified using more than 32 columns.
//
// *Action: Specify the list using no more than 32 columns.
/
/
30370, 00000, "set operators are not supported in this context"
// *Cause: A set operator such as UNION, UNION ALL, INTERSECT, or MINUS was
//         encountered in an unsupported context, such as in a materialized
//         view definition.
//
// *Action: Re-specify the expression to avoid the use of set operators.
/
/
30371, 00000, "column cannot define a level in more than one dimension"
// *Cause: A column was used in the definition of a level after it had
//         already been used to define a level in a different dimension.
//
// *Action: Reorganize dimension levels and hierarchies into a single 
//          dimension such that no column is used to define levels in 
//          different dimensions.  There is no limit on the number of 
//          levels or hierarchies you can place in a dimension.  A column can
//          be used to define any number of levels provided all such levels 
//          are in the same dimension and provided no two levels contain 
//          identical sets of columns.
/
/
30372, 00000, "fine grain access policy conflicts with materialized view"
// *Cause:  A fine grain access control procedure has applied a non-null policy
//          to the query for the materialized view.
// 
// *Action: In order for the materialized view to work correctly, any fine
//          grain access control procedure in effect for the query must
//          return a null policy when the materialized view is being
//          created or refreshed.  This may be done by ensuring that the
//          usernames for the creator, owner, and invoker of refresh
//          procedures for the materialized view all receive a null policy
//          by the user-written fine grain access control procedures.
/
/
30373, 00000, "object data types are not supported in this context"
// *Cause: An object data type was encountered in an unsupported
//         context.
//
// *Action: Re-specify the expression to avoid the use of objects.
/
/
30374, 00000, "materialized view is already fresh"
// *Cause: If the materialized view is fresh, ORACLE ignores the
//         ALTER MATERIALIZED VIEW RELY FRESH command, and issues
//         this error message.
//
// *Action: None
/
30375, 00000, "materialized view cannot be considered fresh"
// *Cause: If the materialized view is invalid or unusable, it cannot be considered
//         fresh with the ALTER MATERIALIZED VIEW CONSIDER FRESH command.
//
// *Action: None
/
30376, 00000, "prevent sharing of a parsed query of an explain rewrite session"
// *Cause:  Explain rewrite generates a shared cursor after parsing the user
//          query. Raising this error will prevent the cursor from being
//          shared.
//
// *Action: None
30377, 00000, "table %s.MV_CAPABILITIES_TABLE not found"
// *Cause:  You have used the DBMS_MVIEW.EXPLAIN_MVIEW() API before you have
//          defined the MV_CAPABILITIES_TABLE.
// *Action: Invoke the admin/utlxmv.sql script after connecting to the desired
//          schema.
/
30378, 00000, "MV_CAPABILITIES_TABLE is not compatible with Oracle version"
// *Cause:  One or more column definitions in the MV_CAPABILITIES_TABLE is
//          either missing or incompatible with the current Oracle version.
// *Action: Connect to the appropriate schema, 
//          DROP TABLE MV_CAPABILITIES_TABLE and recreate it by invoking the 
//          admin/utlxmv.sql script prior to invoking the 
//          DBMS_MVIEW.EXPLAIN_MVIEW() API.
/
/
30379, 00000, "query txt not specified"
// *Cause:  You have attempted use DBMS_MVIEW.EXPLAIN_REWRITE() API using
//          an empty query text argument
// *Action: Input a valid SQL query
//
/
30380, 00000, "REWRITE_TABLE does not exist"
// *Cause:  You have used the DBMS_MVIEW.EXPLAIN_REWRITE() API before you have
//          created the REWRITE_TABLE.
// *Action: Create it using the admin/utlxrw.sql script after connecting to the
//          desired schema
//
/
30381, 00000, "REWRITE_TABLE is not compatible with Oracle version"
// *Cause:  One or more column definitions in the REWRITE_TABLE is
//          either missing or incompatible with the current Oracle version.
// *Action: Connect to the appropriate schema,
//          DROP TABLE REWRITE_TABLE and recreate it by invoking the
//          admin/utlxrw.sql script prior to invoking the
//          DBMS_MVIEW.EXPLAIN_REWRITE() API.
/
30382, 00000, "DROP MATERIALIZED VIEW %s.%s operation is not complete"
// *Cause:  The drop materialized view operation got an unexpected error while
//          dropping summary object.
// *Action: Issue the drop materialized view command again
/
30383, 00000, "specified dimension level does not exist in the attribute"
// *Cause: An attribute level was encountered that is not defined within the
//         attribute.
//
// *Action: Check the attribute level name spelling.
/
30384, 00000, "specified column name does not exist in the attribute"
// *Cause: A column was encountered that is not defined within the attribute.
//
// *Action: Check the attribute column name spelling.
/
30385, 00000, "specified attribute relationship ('%s' determines '%s') exists"
// *Cause: The specified attribute relationship has already been declared
//         in one of the attribute clauses
//
// *Action: Remove the duplicate attribute relationship
/
30386, 00000, "invalid SQL statement for DECLARE_REWRITE_EQUIVALENCE"
// *Cause:  Either the source or destination statement is NULL
// *Action: Verify both source and destination statement are valid
/
30387, 00000, "invalid rewrite mode for REWRITE_EQUIVALENCE API"
// *Cause:  The specified rewrite mode is not supported by REWRITE_EQUIVALENCE API
// *Action: Verify the rewrite mode is supported by REWRITE_EQUIVALENCE API
/
30388, 00000, "name of the rewrite equivalence is not specified"
// *Cause:  The name of the rewrite equivalence is NULL
// *Action: Input a valid rewrite equivalence name
/
30389, 00000, "the source statement is not compatible with the destination statement"
// *Cause:  The SELECT clause of the source statement is not compatible with
//          the SELECT clause of the destination statement
// *Action: Verify both SELECT clauses are compatible with each other such as
//          numbers of SELECT list items are the same and the datatype for
//          each SELECT list item is compatible
/
30390, 00000, "the source statement is not equivalent to the destination statement"
// *Cause:  the set of rows returned by the source SQL text is not the same as
//          the set of rows returned by the destination SQL text
// *Action: Make sure both source and destination statement return the same number
//          of rows
/
30391, 00000, "the specified rewrite equivalence does not exist"
// *Cause:  the specified rewrite equivalence does not exist
// *Action: Verify the rewrite equivalence has been created
/
30392, 00000, "the checksum analysis for the rewrite equivalence failed"
// *Cause:  the given checksum does not match with that generated from the
//          source and destination statements.
// *Action: Verify the create safe rewrite equivalence statement to see if it
//          has been modified.
/
30393, 00000, "a query block in the statement did not rewrite"
// *Cause:  A query block with a REWRITE_OR_ERROR hint did not rewrite
// *Action: Verify the rewrite equivalence has been created
/
30394, 00000, "source statement identical to the destination statement"
// *Cause:  The source statement was identical to the destination statement 
// *Action: Make sure both source and destination statements are not identical 
/
/
30397, 00000, "multiple JOIN KEY clauses specified for the same child level"
// *Cause: Multiple JOIN KEY clauses were specified for a given child
//         level in a dimension hierarchy. 
//
// *Action: Eliminate the redundant JOIN KEY clauses. 
/  
/
30398, 00000, "illegal JOIN KEY clause"
// *Cause: A JOIN KEY clause was specified that did not conform to certain
//         requirements. A JOIN KEY clause connecting a child level with its 
//         non-immediate ancestor level is allowed only when that child level
//         and its ancestor level satisfy the following conditions:
//         1. The immediate parent of the child level must be a skip level.
//         2. The child level cannot be a skip level.
//         3. The ancestor level must be a non-skip level.
//         4. The ancestor level must be the nearest non-skip level to
//            the child level in the hierarchy.
//
// *Action: Modify the JOIN KEY clause so that it satisfies the conditions
//          mentioned above.
/
/
30399, 00000, "a skip level must have at least one column that allows NULL values" 
// *Cause: A SKIP clause cannot be specified with a level when all of the
//         columns that make up the level have NOT NULL constraints.
//
// *Action: Drop the SKIP clause.
/
/
30400, 00000, "identical JOIN KEY clauses"
// *Cause: Two JOIN KEY clauses with identical child keys and parent levels
//         were specified.
//
// *Action: Eliminate the redundant JOIN KEY clause.
/
/
30401, 00000, "JOIN KEY columns must be non-null"
// *Cause: The dimension statement failed because the column(s) in the JOIN
//         KEY clause permitted NULL values. The JOIN KEY columns are related
//         to the columns of the dimension's skip levels in one or both of the
//         following ways:
//         1. A skip level is defined over one or more of the JOIN KEY 
//            columns.
//         2. The attribute clauses of a skip level determine one or more of
//            the JOIN KEY columns.
//
// *Action: Modify the JOIN KEY columns so that they do not allow NULL
//          values.
30402, 00000, "access advisor debug/testing trace"
// *Document: NO
// *Cause:
// *Action: access advisor debug/testing
/
/
30403, 00000, "Daylight Saving Time (DST) upgrade in progress"
// *Cause: Daylight Saving Time upgrade was in progress on a table
//         in the materialized view.
// *Action: Wait until all tables in the materialized view have gone 
//          through DST upgrade.
/
/
30404, 00000, "general event for summary"
// *Document: NO
// *Cause:    N/A
// *Action:   This internal event is used to enable various actions
//            associated with summary. The event level is interpreted
//            as a bitmap of actions to enable.
//
// *Comment:  Not for general purpose use.
// LEVEL        ACTION
//---------------------------------------------------------------------------
// 0x0001       enable acquiring Rewrite enqueue
/
/
30405, 00000, "hive_table_name missing"
// *Cause:  The Hive table name was missing.
// *Action: Provide the name of the hive table in order to fetch its
//          metadata.
/
/
30406, 00000, "invalid or missing cluster_id or hive URI"
// *Cause: The cluster ID or the hive URI (Uniform Resource Identifier)
//         or both were missing.
// *Action: Provide the missing cluster ID or hive URI in order to fetch
//          hive metadata.
/
30407, 00000, "external table not found"
// *Cause:  The external table was not found.
// *Action: Create the specified external table before attempting the
//          operation.
/
30408, 00000, "invalid platform for hive catalog views or DBMS_HADOOP package"
// *Cause:  There was an attempt to create hive catalog views or a DBMS_HADOOP package 
//          on a platform other than Linux x86-64.
// *Action: None.
//
/
30409, 00000, "External table partitions are identical to hive table partitions."
// *Cause:  There was an attempt to synchronize an external table with a hive table
//          when external table partitions were identical to the hive table partitions.
// *Action: None.
/
30410, 00000, "External table metadata is incompatible with the source hive table."
// *Cause:  There was an attempt to synchronize an external table with the source hive
//          table with incompatible metadata.
// *Action: None.
/
/ Error Numbers 30420 - 30479 are reserved for Summary Advisor and 
/ Refresh Packages.  These are raised by calling 
/ dbms_sys_error.raise_system_error.
/
30420, 00000, "%s is not a valid identifier"
//  *Cause:  All identifiers used in the DBMS_OLAP package must have at most 30
//           characters, and must start with a letter that is followed
//           by any combination of letters, numerals, and the signs 
//           '$', '_', and '#'. Other characters cannot be used in identifiers.
//           The rules for DBMS_OLAP identifiers are the same as for PL/SQL 
//           identifiers.
//  *Action: Rename object to conform to the DBMS_OLAP naming rules and 
//           try again.
/
30430, 00000, "list does not contain any valid summaries"
// *Cause:  List is empty or does not contain the names of existing summaries
//
// *Action: Verify that the list of names passed to refresh 
//          contains the name of at least one existing summary object
/
30431,  00000, "refresh method must be ANY or INCREMENTAL or FORCE_FULL, not %s"
// *Cause:  An invalid refresh method was specified
//
// *Action: Verify that the refresh method is one of 'ANY' or 'INCREMENTAL' or 'FORCE_FULL'
/
30432,  00000, "summary '%s.%s' is in INVALID state"
// *Cause:  The summary is in INVALID state and cannot be refreshed
//
// *Action: 
/
30433,  00000, "'%s.%s' is not a summary"
// *Cause:  There is no such summary, therefore it cannot be refreshed
//
// *Action: Verify the correct name of the summary
/
30434,  00000, "refresh method must be one of FC?AN, not '%s'"
// *Cause:  An invalid refresh method was specified
//
// *Action: Verify that the refresh method is one of 'FC?AN'
/
30435,  00000, "job_queue_processes must be non-zero in order to refresh summaries"
// *Cause:  The server must be started with parameter 'job_queue_processes' greater than zero
//
// *Action: Correct the value of job_queue_processes and restart the server instance
/
30436,  00000, "unable to open named pipe '%s'"
// *Cause:  The refresh process was unable to open a named pipe to the job queue process
//          usually because of insufficient system resources
//
// *Action: This is an internal error.  Notify ORACLE technical support
/
30437,  00000, "all job queue processes have stopped running"
// *Cause:  All of the job queue processes used by refresh have stopped for some reason.
//          At least one job queue process must be running in order to refresh summaries.
//
// *Action: This is an internal error.  Notify ORACLE technical support
/
30438,  00000, "unable to access named pipe '%s'"
// *Cause:  The refresh process was unable to access a named pipe to the job queue process
//          after it successfully opened the pipe.  This usually indicates an internal or
//          operating system error condition.
//
// *Action: This is an internal error.  Notify ORACLE technical support
/
30439,  00000, "refresh of '%s.%s' failed because of %s"
// *Cause:  The refresh job queue process encountered an error and is reporting it.  The 
//          accompanying text of the message indicates cause of the error
// *Action: Varies, depending upon the reported cause.
/
30440,  00000, "can't fast refresh;refresh complete or set event 30441 for partial refresh "
// *Cause: Both DML and direct-load are performed against detail tables. Fast
//         refresh can only process direct-load inserts.
// *Action:Refresh complete or set event 30441 to enable partial refresh with
//         only direct-load inserts
/
30441,  00000, "enable partial refresh when both DML and direct load inserts occur"
// *Cause:  
// *Action: level 1 - enable partial refresh with only direct-load inserts
/
30442, 00000, "can not find the definition for filter %s "
// *Cause:  For the specified filterid parameter, there is no corresponding
//          filter definition found in the advisor repository
// *Action: Use a valid filterid geneated by the create_filter function
/
30443, 00000, "definition for filter %s's item %s is invalid"
// *Cause:  The specified filter is invalid. It contains at least one
//          invalid filter item. If a filter item has a string list, it
//          becomes illegal when the string list cannot be successfully parsed.
//          If the filter item contains a range definition, and the lower
//          bound of the range is greater than the higher bound, the item
//          also becomes invalid.
// *Action: Remove the illegal filter with the purge_filter sub-program and
//          redefine a correct filter
/
30444, 00000, "rewrite terminated by the sql analyzer"
// *Cause:  The sql analyzer terminates the rewrite process
// *Action: This is an internal error. Notify ORACLE technical support
/
30445, 00000, "workload queries not found"
// *Cause:  No workload queries in the advisor repository can satifiy the
//          specified filter
// *Action: Redefine a new filter or load additional workload queries that can
//          satisfy the specified filter
/
30446, 00000, "valid workload queries not found"
// *Cause:  None of the specified queries can be successfully parsed. The error
//          may come from many sources: SQL syntax error, the owner
//          specified by the load_workload subprograms do not match the
//          real user who generates the SQL statement
// *Action: Only load valid SQL statements into the advisor repository. Make
//          sure the statements can be parsed with privilege of the owner
//          as specified in the owner parameter of the load_workload()
//          subprogram.
/
30447, 00000, "internal data for run number %s is inconsistent"
// *Cause:  Users should not explicitly modify summary advisor's internal
//          tables. Such modifications may cause inconsistency in the
//          internal tables and result in this error.
//
// *Action:  Users can call the DBMS_OLAP.PURGE_RESULTS subprogram to remove 
//           the inconsistent data from summary advisor's internal tables
/
30448, 00000, "internal data of the advisor repository is inconsistent"
// *Cause:  Users should not explicitly modify summary advisor's internal
//          tables. Such modifications may cause inconsistency in the
//          internal tables and result in this error.
//
// *Action: This is an internal error. Notify ORACLE technical support
/
30449, 00000, "syntax error in parameter %s"
// *Cause: The syntax for the specified parameter is incorrect
//
// *Action: Check ORACLE documentation for the correct syntax
/
30450,  00000, "refresh_after_errors was TRUE; The following MVs could not be refreshed: %s"
// *Cause:  One or more errors occurred during a refresh of multiple summaries.
// *Action: The number_of_failures parameter returns the count of how many failures
//          occurred.  The trace logs for each refresh operation describe the 
//          each individual failure in more detail
/
30451,  00000, "internal error"
// *Cause:  An internal error was detected by the summary refresh subsystem, and
//          aborted the refresh operation
// *Action: Notify ORACLE support.
/
30452,  00000, "cannot compute AVG(X), VARIANCE(X) or STDDEV(X), without COUNT(X) or SUM(X)"
// *Cause:  Incremental refresh of summaries requires a COUNT(X) column in order to incrementally
//          refresh AVG(X).  It requires both SUM(X) and COUNT(X) columns in order to 
//          in refresh STDDEV(X) or VARIANCE(X)
// *Action: Make sure that the required columns are part of the summary definition if incremental
//          refresh capability is desired.
/
30453,  00000, "summary contains AVG without corresponding COUNT"
// *Cause:  Incremental refresh of summaries with AVG(X) requires a COUNT(X) column
//          to be included in the summary definition
// *Action: Make sure that the required columns are part of the summary definition if incremental
//          refresh capability is desired.
/
30454,  00000, "summary contains STDDEV without corresponding SUM & COUNT"
// *Cause:  Incremental refresh of summaries with STDDEV(X) requires COUNT(X) and SUM(X) columns
//          to be included in the summary definition
// *Action: Make sure that the required columns are part of the summary definition if incremental
//          refresh capability is desired.
/
30455,  00000, "summary contains VARIANCE without corresponding SUM & COUNT"
// *Cause:  Incremental refresh of summaries with VARIANCE(X) requires COUNT(X) and SUM(X) columns
//          to be included in the summary definition
// *Action: Make sure that the required columns are part of the summary definition if incremental
//          refresh capability is desired.
/
30456,  00000, "'%s.%s' cannot be refreshed because of insufficient privilege"
// *Cause:  The user lacks one or more permissions that are required in order to refresh summaries.
// *Action: Make sure that the user is granted all required privileges.
/
30457,  00000, "'%s.%s' cannot be refreshed because of unmnanaged NOT NULL columns in container"
// *Cause:  The container object for the summary contains one or more unmanaged columns do not 
//  allow nulls, and which do not specify a default valur for those columns.
// *Action: Make sure that default values are specified for all NOT NULL columns that are not 
//  part of the summary definition.
/
30458,  00000, "'%s.%s' cannot be refreshed because the refresh mask is %s"
// *Cause:  An attempt was made to incrementally refresh a summary that is not incrementally
//  refreshable.  
// *Action: Do not attempt to incrementally refresh the summary; use full refresh instead.
/
30459,  00000, "'%s.%s' cannot be refreshed because the refresh method is NONE"
// *Cause:  An attempt was made to  refresh a summary whose refresh method is NONE
// *Action: Summaries whose refresh method is NONE (NEVER REFRESH) cannot be refreshed.  
//  Alter the summary to change the default refresh method from NONE to some other value.
/
30460,  00000, "'%s.%s' cannot be refreshed because it is marked UNUSABLE"
// *Cause:  An attempt was made to  refresh a summary which is UNUSABLE
// *Action: Determine why the summary is UNUSABLE, re-enable it, and retry the refresh.
/
30461,  00000, "'%s.%s' cannot be refreshed because it is marked DISABLED"
// *Cause:  An attempt was made to  refresh a summary which is DISABLED
// *Action: Determine why the summary is DISABLED, re-enable it, and retry the refresh.
/
30462,  00000, "unsupported operator: %s"
// *Cause:  An attempt was made to  refresh a summary containing an unsupported operator
// *Action: Verify that all columns of the summary contain expressions that are refreshable.
/
30463,  00000, "'%s' is not a detail table of any summary"
// *Cause:  The list of tables passed to refresh_dependent contains at least one 
//          invalid table name.  That table is not a detail table of any summary and
//          is therefore an invalid input to refresh_dependent
//
// *Action: Verify the correct name of all tables in the list
/
30464,  00000, "no summaries exist"
// *Cause:  A call was made to refresh_all_mviews, but no summaries exist.
//          At least one summary must exist before calling refresh_all_mviews
//
// *Action: Create one or more summaries
/
30465,  00000, "supplied run_id is not valid: %s"
// *Cause:  There are three possible causes:  The specified run_id does not
//          exist; the run_id was created by another user other than the
//          current user; the run_id has already been used.
//
// *Action: Call DBMS_OLAP.CREATE_ID to create a new id
/
30466, 00000, "can not find the specified workload %s"
// *Cause:  The specified workload_id is not valid
//
// *Action: Use a valid workload_id or DBMS_OLAP.WORKLOAD_ALL 
/
30467, 00000, "internal data for filter number %s is inconsistent"
// *Cause:  Users should not explicitly modify summary advisor's internal
//          tables. Such modifications may cause inconsistency in the
//          internal tables and result in this error.
//
// *Action:  Users can call the DBMS_OLAP.PURGE_FILTER subprogram to remove
//           the inconsistent data from summary advisor's internal tables
/
30475, 00000, "feature not enabled: %s"
// *Cause:  The specified feature is not enabled.
// *Action: Do not attempt to use this feature.
/
30476, 00000, "PLAN_TABLE does not exist in the user's schema"
// *Cause: Estimate_Summary_Size uses Oracle SQL "EXPLAIN PLAN"
//         command to estimate cardinality of the specified select-clause.
//         This requires a table called the PLAN_TABLE in the user's
//         schema. For more information refer to the SQL Reference Manual.
// *Action: Create the PLAN_TABLE as described for EXPLAIN PLAN. On most
//          systems a script utlxplan.sql will create this table.
/
30477, 00000, "The input select_clause is incorrectly specified"
// *Cause: The input select-clause parameter to Estimate_Summary_Size
//         is incorrectly specified and cannot be compiled.
// *Action: Check the syntax of the select-clause.
/
30478, 00000, "Specified dimension does not exist"
// *Cause: the specified dimension to be verified does not exist
// *Action: Check the spelling of the dimension name
/
30479, 00000, "Summary Advisor error\n%s"
// *Cause:  An error has occurred in the Summary Advisor package
//          This message will be followed by a second message giving
//          more details about the nature of the error.
// *Action: See the Summary Advisor documentation
//          for an explanation of the second error message.
//
/
/
/ Error Numbers 30480 - 30499 are reserved for OLAP operations
/
30480, 00000, "DISTINCT option not allowed with GROUP BY CUBE or ROLLUP"
// *Cause:
// *Action:
30481, 00000, "GROUPING function only supported with GROUP BY CUBE or ROLLUP"
// *Cause:
// *Action:
30482, 00000, "DISTINCT option not allowed for this function"
// *Cause:
// *Action:
30483, 00000, "window  functions are not allowed here"
// *Cause: Window functions are allowed only in the SELECT list of a query. 
//         And, window function cannot be an argument to another window or group
//         function.
// *Action: 
30484, 00000, "missing window specification for this function"
// *Cause: All window functions should be followed by window specification, 
//         like () OVER ()
// *Action:
30485, 00000, "missing ORDER BY expression in the window specification"
// *Cause: Either the ORDER BY expression is mandatory for this function, or
//         there is an aggregation group without any ORDER by expression.
// *Action:
30486, 00000, "invalid window aggregation group in the window specification"
// *Cause: If the window specification is specified 
//         using RANGE option and there are multiple ORDER BY expressions, then
//         the aggregation group cannot contain any expression (It can only 
//         have CURRENT ROW, UNBOUNDED PRECEDING, or UNBOUNDED FOLLOWING). 
//         First end point (bound) cannot be UNBOUNDED FOLLOWING and second end
//         point cannot be UNBOUNDED PRECEDING. If the first end point is 
//         CURRENT ROW, then second end point can only be CURRENT ROW or
//         /UNBOUNDED FOLLOWING. If the first end point is FOLLOWING, 
//         then second end point can only be /UNBOUNDED FOLLOWING. 
// *Action:
30487, 00000, "ORDER BY not allowed here"
// *Cause: DISTINCT functions and RATIO_TO_REPORT cannot have an ORDER BY 
// *Action:
30488, 00000, "argument should be a function of expressions in PARTITION BY"
// *Cause: The argument of the window function should be a constant for 
//         a partition.
// *Action:
30489, 00000, "Cannot have more than one rollup/cube expression list"
// *Cause:  GROUP BY clause has more than one rollup/cube expression list. 
// *Action: Modify the query such that only one rollup/cube expressions 
//          appear per sub-query.
30490, 00000, "Ambiguous expression in GROUP BY ROLLUP or CUBE list" 
// *Cause:  An expression in the GROUP BY ROLLUP or CUBE list matches an
//          expression in the ordinary GROUP BY expression list 
// *Action: Remove the expression from either ordinary GROUP BY expression list
//          or ROLLUP or CUBE expression list
30491, 00000, "missing ORDER BY clause"
// *Cause: 
// *Action:
30492, 00000, "One of FIRST or LAST keywords is expected."
// *Cause:  
// *Action:
30493, 00000, "The percentile value should be a number between 0 and 1."
// *Cause:  A percentile value for PERCENTILE_CONT or PERCENTILE_DISC function
//          is specified out of range.
// *Action: Specify a value from [0,1].
30494, 00000, "The argument [%s] of WIDTH_BUCKET function is NULL or invalid."
// *Cause:  
// *Action:
30495, 00000, "The argument should be of numeric or date/datetime type."
// *Cause:
// *Action:
30496, 00000, "Argument should be a constant."
// *Cause:  
// *Action:
30497, 00000, "Argument should be a constant or a function of expressions in GROUP BY."
// *Cause:
// *Action:
30498, 00000, "ALL option not allowed for this function"
// *Cause:
// *Action:
30499, 00000, "Event to dump stats used during grouping sets transformation"
// *Document: NO
// *Cause:    N/A
// *Action:   Dumps column stats used during grouping sets transformation
/
/
/
/ Error Numbers 30500 - 30549 are reserved for system triggers
/
30500, 00000, "database open triggers and server error triggers cannot have BEFORE type"
// *Cause:  An attempt was made to create a trigger that fires before
//          the database is open or before server errors, but these types of 
//          triggers are not supported.
// *Action: Do not attempt to create a trigger that fires before the database
//          is open or before server errors.
/
30501, 00000, "instance shutdown triggers cannot have AFTER type"
// *Cause:  An attempt was made to create a trigger that fires after
//          an instance shutdown, but this type of trigger is not
//          supported.
// *Action: Do not attempt to create a trigger that fires after an
//          instance shutdown.
/
30502, 00000, "system triggers cannot have INSERT, UPDATE, or DELETE as triggering events"
// *Cause:  An attempt was made to create a system trigger with INSERT,
//          UPDATE, or DELETE triggering events, but this type of trigger
//          is not supported because a system trigger does not have a base
//          table.
// *Action: Do not attempt to create a system trigger with INSERT, UPDATE,
//          or DELETE triggering events.
/
30503, 00000, "system triggers cannot have a REFERENCING clause"
// *Cause:  An attempt was made to use a REFERENCING clause with a system 
//          trigger, but this type of trigger is not supported because 
//          a system triggers does not have a base table.
// *Action: Do not use a REFERENCING clause with a system trigger.
/
30504, 00000, "system triggers cannot have a FOR EACH ROW clause"
// *Cause:  An attempt was made to use a FOR EACH ROW clause with a system 
//          trigger, but this type of trigger is not supported because 
//          a system triggers does not have a base table.
// *Action: Do not use a FOR EACH ROW clause with a system trigger.
/
30505, 00000, "system triggers should not reference a column in a WHEN clause"
// *Cause:  An attempt was made to use a WHEN clause to reference a column
//          with a system trigger, but this type of trigger is not supported 
//          because a system trigger does not have a base table.
// *Action: Change the WHEN clause to an appropriate clause.
/
30506, 00000, "system triggers cannot be based on tables or views"
// *Cause:  An attempt was made to base a system trigger on a table or a 
//          view.
// *Action: Make sure the type of the trigger is compatible with the base 
//          object.
/
30507, 00000, "normal triggers cannot be based on a schema, a database, or a pluggable database"
// *Cause:  An attempt was made to base a normal trigger on a schema,
//          a database, or a pluggable database, but normal triggers can be 
//          based only on tables or views.
// *Action: Make sure the type of the trigger is compatible with the base 
//          object.
/
30508, 00000, "client logon triggers cannot have BEFORE type"
// *Cause:  An attempt was made to create a trigger that fires before
//          logon. This type of trigger is not supported. 
// *Action: Do not attempt to create a trigger that fires before logon.
/
30509, 00000, "client logoff triggers cannot have AFTER type"
// *Cause:  An attempt was made to create a trigger that fires after
//          logoff. This type of trigger is not supported. 
// *Action: Do not attempt to create a trigger that fires after logoff.
/
30510, 00000, "system triggers cannot be defined on the schema of SYS user" 
// *Cause:  An attempt was made to define a system trigger on the schema of
//          SYS user. This type of trigger is not supported currently.
// *Action: Do not attempt to create a system trigger defined on the
//          schema of SYS user.
/
30511, 00000, "invalid DDL operation in system triggers" 
// *Cause:  An attempt was made to perform an invalid DDL operation
//          in a system trigger. Most DDL operations currently are not 
//          supported in system triggers. The only currently supported DDL 
//          operations are table operations, pluggable database operations, 
//          ALTER COMPILE operations, and ALTER SESSION operations. 
// *Action: Remove invalid DDL operations in system triggers.

30512, 00000, "cannot modify %s.%s more than once in a transaction" 
// *Cause:  An attempt was made to modify an object more than once in a  
//          transaction. This error is usually caused by a DDL statement that  
//          fires a system trigger that tries to modify the same object. 
//          It can also happen when an attempt is made to perform more than  
//          one DDL operation on a queue table in the same transaction  
//          without issuing a commit between operations. 
// *Action: Do not create system triggers that might modify an already  
//          modified object.  Also, do not specify more than one DDL 
//          operation on a queue table in the same transaction.
/
30513, 00000, "cannot create system triggers of INSTEAD OF type"
// *Cause:  Only BEFORE or AFTER triggers can be created on system events.
// *Action: Change the trigger type to BEFORE or AFTER.
/
30514, 00000, "system trigger cannot modify tablespace being made read only"
// *Cause:  A beofre trigger tries to modify a tablespace which is being
//          made READ ONLY as the part of DDL oepration
// *Action: Modify the trigger to avoid modifications to the objects
//          in the same tablespace as the one which is being made read only,
//          or use autonomous transactions to commit modifications
/
30515, 00000, "suspend triggers cannot have BEFORE type"
// *Cause:  An attempt was made to create a trigger that fires before
//          execution suspended. This type of trigger is not supported. 
// *Action: Do not attempt to create a trigger that fires before execution
//          suspended.
/
30516, 00000, "database role change triggers cannot have BEFORE type"
// *Cause:  An attempt was made to create a trigger that fires before
//          the role change completed. This type of trigger is not supported. 
// *Action: Do not attempt to create a trigger that fires before the role
//          change completes.
/
/ Error Numbers 30550 - 30559 are reserved for functional indexes
/
30550, 00000, "index depends on a package/function spec/body which is not valid"
// *Cause:  the functional indexes depends on some invalid/non-existent 
//          package/function spec/body
// *Action: verify that all the package/functions which the index depends on
//          exist and are valid
/
30551, 00000, "The index depends on a package/type body which does not exist"
// *Cause:  the functional indexes depends on a package/type body which 
//          does not exist
// *Action: create the package/type body
/
30552, 00000, "The package/procedure/function cannot be changed" 
// *Cause:  The package/procedure/function is deterministic and some object 
//          depends on it 
// *Action: Drop the other object which depends on the 
//          package/function/procedure you are trying to change 
/
30553, 00000, "The function is not deterministic" 
// *Cause:  The function on which the index is defined is not deterministic 
// *Action: If the function is deterministic, mark it DETERMINISTIC.  If it
//          is not deterministic (it depends on package state, database state,
//          current time, or anything other than the function inputs) then
//          do not create the index.  The values returned by a deterministic
//          function should not change even when the function is rewritten or
//          recompiled.
/
30554, 00000, "function-based index %s.%s is disabled" 
// *Cause:  An attempt was made to access a function-based index that has 
//          been marked disabled because the function on which the index 
//          depends has been changed.
// *Action: Perform one of the following actions:
//          -- drop the specified index using the DROP INDEX command
//          -- rebuild the specified index using the ALTER INDEX REBUILD command
//          -- enable the specified index using the ALTER INDEX ENABLE command
//          -- make the specified index usable using the ALTER INDEX UNUSABLE 
//             command
/
30555, 00000, "global index partitioning key is an expression" 
// *Cause:  An attempt was made to use an expression as a partitioning key in  
//          an index.
// *Action: Do not attempt to use an expression as index partitioning key.
/
30556, 00000, "either functional or bitmap join index is defined on the column to be modified"
// *Cause : An ALTER TABLE MODIFY COLUMN was issued on a column on which
//          either a functional index or bitmap join index exists.
// *Action: Drop the functional or bitmap join index before attempting to modify the column.
/
30557, 00000, "function based index could not be properly maintained"
// *Cause : The user updated a column on which a function based index is 
//          present which was not successfully updated
// *Action : Determine the error in updating the index and fix the problem 
/
30558, 00000, "internal error [%s] in function based index"
// *Cause: This is an internal error.
// Action: Contact Worldwide support with the exact error text.
/
/
/ Error Numbers 30560 - 30574 are reserved for additional parser errors
/
30560, 00000, "SAMPLE clause not allowed"
// *Cause:
// *Action:
30561, 00000, "SAMPLE option not allowed in statement with multiple table references"
// *Cause:
// *Action:
30562, 00000, "SAMPLE percentage must be in the range [0.000001,100)"
// *Cause:
// *Action:
30563, 00000, "outer join operator (+) is not allowed here"
// *Cause:  An attempt was made to reference (+) in either the select-list, 
//          CONNECT BY clause, START WITH clause, or ORDER BY clause.
// *Action: Do not use the operator in the select-list, CONNECT BY clause, 
//          START WITH clause, or ORDER BY clause.
30564, 00000, "Index maintainence clause not allowed for ADD partition to RANGE partitioned tables"
// *Cause: The clause INVALIDATE or UPDATE GLOBAL INDEXES is allowed only for
//         ADD partition to a HASH partitioned table or ADD subpartition to a
//         composite partitioned table.
// *Action:Remove clause and reissue operation
30565, 00000, "Only one INVALIDATE or UPDATE GLOBAL INDEXES clause may be specified"
// *Cause: The clause INVALIDATE or UPDATE GLOBAL INDEXES was specified more 
//         than once.
// *Action:Remove all but one of the INVALIDATE or UPDATE GLOBAL INDEXES 
//         clause and reissue the statement
30566, 00000, "Index maintainence clause not allowed for this command"
// *Cause: The clause INVALIDATE or UPDATE GLOBAL INDEXES is not allowed 
//         for this command
// *Action:Remove clause and reissue operation
30567, 00000, "name already used by an existing log group"
// *Cause:  The specified log group name has to be unique.
// *Action: Specify a unique name for the log group.  The name 
//          cannot be the same as any other log group, constraint, or
//          cluster hash expression.
30568, 00000, "cannot drop log group - nonexistent log group"
// *Cause:  The specified in alter table drop log group 
//          is incorrect or nonexistent. 
// *Action: Reenter the statement using the correct log group name.
30569, 00000, "data type of given column is not supported in a log group"
// *Cause:   An attempt was made to include a column with one of these 
//           unsupported data types: LONG, VARRAY, nested table, object,
//           LOB, FILE, or REF in a log group.
// *Action:  Change the column data type or remove the log group. Then retry
//           the operation.
/
30570, 00000, "SEGMENT SPACE MANAGEMENT option already specified"
// *Cause: In CREATE TABLESPACE, the SEGMENT SPACE MANAGEMENT option was
//         specified more than once.
// *Action: Remove all but one of the SEGMENT SPACE MANAGEMENT  specifications.
/
30571, 00000, "invalid SEGMENT SPACE MANAGEMENT clause"
// *Cause: An invalid option appears for SEGMENT SPACE MANAGEMENT clause.
// *Action:  Specify one of the valid options: AUTO, MANUAL.
/
30572, 00000, "AUTO segment space management not valid with DICTIONARY extent management"
// *Cause: in CREATE TABLESPACE, the AUTO SEGMENT SPACE MANAGEMENT was used
//         with a DICTIONARY extent management clause.
// *Action:  Either specify LOCAL extent management or remove the AUTO
//           SEGMENT SPACE MANAGEMENT specification.
/
30573, 00000, "AUTO segment space management not valid for this type of tablespace"
// *Cause: in CREATE TABLESPACE, the AUTO SEGMENT SPACE MANAGEMENT was used
//         while creating an UNDO or TEMPORARY tablespace.
// *Action:  Remove the AUTO SEGMENT SPACE MANAGEMENT clause.
/
30574, 00000, "Cannot create rollback segment in tablespace with AUTO segment space management"
// *Cause: A rollback segment is being created in a tablespace that was created
//         with AUTO segment space management.
// *Action:  Create the rollback segment in a different tablespace.
/
/
/ Error Numbers 30575 - 30624 are reserved for ConText Cartridge 
/
30575, 00000, "ConText Option not installed"
// *Cause: Oracle executable doesn't have ConText Option linked in
// *Action: get the correct version of Oracle 
30576, 00000, "ConText Option dictionary loading error"
// *Cause: ConText dictionary tables may be corrupted 
// *Action: not a user error
30577, 00000, "SAMPLE group size must be in the range [1,UB4MAXVAL]"
// *Cause:
// *Action:
30579, 00000, "enables order by PRIMARY KEY for base table scan during create index"
// *Document: NO
// *Cause:
// *Action: Set this event to enable order by PRIMARY KEY for base table 
//          scan during creation of Text index. 
// *Comment: This event is primarily used for internal tests that require 
//           consistent docid ordering. Turning on this event can 
//           result in poor create index performance.
/
/
/
/
/
/ Error Numbers 30625 - 30644 are reserved for Inter Language Method Services
/                             (ILMS)
/
30625, 00000, "method dispatch on NULL SELF argument is disallowed"
// *Cause:  A member method of a type is being invoked with a NULL SELF
//          argument. 
// *Action: Change the method invocation to pass in a valid self argument.
30626, 00000, "function/procedure parameters of remote object types are not supported"
// *Cause:  
// *Action: 
30627, 00000, "Oracle event to pass temp lobs by ref from sql"
// *Cause:  
// *Action: set this event only under the supervision of Oracle development
30628, 00000, "Oracle event to turn off passing temp lobs by ref"
// *Cause:  
// *Action: set this event only under the supervision of Oracle development
/
/
/ Error Numbers 30645 - 30664 are reserved for External tables
/
30645, 00000, "reject limit out of range"
// *Cause:  Reject limit specifies the number of records rejected before 
//          terminating a table scan. The range is a either a number between 
//          1..100000 or UNLIMITED if no limit is intended.
// *Action: Change the token representing the reject limit to either a number 
//          in the range of 0 and 100000 or the keyword UNLIMITED.
/
/
30646, 00000, "schema for external table type must be SYS"
// *Cause:  A schema other then SYS was specified for the TYPE 
// *Action: For this version of oracle server always use schema name SYS. 
/
/
30647, 00000, "error retrieving access parameters for external table %s.%s"
// *Cause:  an error occurred when fetching the access parameters for
//          the specified external table.
// *Action: If the access parameter is a query which returns a CLOB,
//          check EXTERNAL_TAB$ to make sure the query is correct.
/
30648,0000, "missing LOCATION keyword"
// *Cause:
// *Action:
/
30649,0000, "missing DIRECTORY keyword"
// *Cause:  DEFAULT DIRECTORY clause missing or incorrect.
// *Action: Provide the DEFAULT DIRECTORY.
/
30650,0000, "missing PARAMETERS keyword"
// *Cause:
// *Action:
/
30651,0000, "missing CLOB keyword"
// *Cause:
// *Action:
/
30652,0000, "missing LIMIT keyword"
// *Cause:
// *Action:
/
30653,0000, "reject limit reached"
// *Cause:  the reject limit has been reached.
// *Action: Either cleanse the data, or increase the reject limit.
/
30654,0000, "missing DEFAULT keyword"
// *Cause:  DEFAULT DIRECTORY clause not specified or incorrect.
// *Action: Provide the DEFAULT DIRECTORY.
/
30655,0000, "cannot select FOR UPDATE from external organized table"
// *Cause:  A select for update on an external table was attempted.
// *Action: Don't do it!
/
30656,0000, "column type not supported on external organized table"
// *Cause:  Attempt to create an external organized table with a column
//          of type LONG, LOB, BFILE, ADT, or VARRAY.
// *Action: These column types are not supported, change the DDL.
/
30657,0000, "operation not supported on external organized table"
// *Cause:  User attempted on operation on an external table which is
//          not supported.
// *Action: Don't do that!
/
30658,0000, "attempt was made to create a temporary table with EXTERNAL organization"
// *Cause:  An attempt was made to create an External Organized Temporary table.
//          This is not supported.
// *Action: Don't do that!
/
30659,0000, "too many locations specified for external table"
// *Cause:  An attempt was made to create or query an external organized table with
//          more than the maximum allowable (32767) locations specified.
// *Action: Don't do that, use fewer location clauses.  Either consider
//          concatenating the input files, or, creating two external tables
//          with the input files split between them.
/
30660,0000, "event to enable external table ODM reads for all file sizes when testing"
// *Document: NO
// *Cause:
// *Action: Use ODM for all external table file sizes. 
/
30661,0000, "NOT NULL constraint violated on fetch from external table (%s)"
// *Cause:  A NULL entry was detected in the column with a NOT NULL constraint
//          during a fetch from an external table.
// *Action: Remove the NOT NULL constraint on that column or update the external
//          table entry.
30662, 00000, "Hadoop dump file trailers event"
// *Document: NO
// *Cause:   Explicitly set. 
// *Action:  Set this event only in a Hadoop environment.
// *Comment: Turn on/off writing of Hadoop dump file trailers.
/
30663, 00000, "An EXTERNAL MODIFY clause can only be specified for an external table."
// *Cause:  An EXTERNAL MODIFY clause was specified when querying an internal table.
// *Action: Remove the EXTERNAL MODIFY clause from the query.
/
30664, 00000, "column %s not found in projected column list for external table"
// *Cause:  A requested column was not found in the projected column list.
// *Action: Remove the column from the query and retry.
/
/////////////////////////////////////////////////////////////////////////////
/ 30665 - 30675 are reserved for 12g SQL enhancements projects
/////////////////////////////////////////////////////////////////////////////
30665,0000, "invalid NOT NULL constraint specified on a DEFAULT ON NULL column"
// *Cause:  A NOT NULL constraint was not specified correctly on a 
//          DEFAULT ON NULL column.
// *Action: If a NOT NULL constraint is specified on a DEFAULT ON NULL column,
//          it must be enabled and nondeferrable.
30666,0000, "cannot modify NOT NULL constraint on a DEFAULT ON NULL column"
// *Cause:  The NOT NULL constraint on a DEFAULT ON NULL column could not be
//          modified.
// *Action: Do not modify the NOT NULL constraint on a DEFAULT ON NULL column.
30667,0000, "cannot drop NOT NULL constraint on a DEFAULT ON NULL column"
// *Cause:  The NOT NULL constraint on a DEFAULT ON NULL column could not be
//          dropped. 
// *Action: Do not drop the NOT NULL constraint on a DEFAULT ON NULL column.
//          The only way to drop the constraint is to remove the ON NULL 
//          property of the column default.
30668,0000, "LATERAL cannot follow CROSS APPLY or OUTER APPLY"
// *Cause:  An attempt was made to follow the CROSS APPLY or OUTER APPLY 
//          keyword with the LATERAL keyword.
// *Action: Do not include the LATERAL keyword after CROSS APPLY or 
//          OUTER APPLY.
30669,0000, "table can have only one identity column"
// *Cause:  An attempt was made to specify more than one identity column
//          on a table.
// *Action: Specify only one identity column per table.
30670,0000, "invalid NOT NULL constraint specified on an identity column"
// *Cause:  A NOT NULL constraint was not specified correctly on an
//          identity column.
// *Action: If a NOT NULL constraint is specified on an identity column,
//          it must be enabled and nondeferrable.
30671,0000, "cannot modify NOT NULL constraint on an identity column"
// *Cause:  The NOT NULL constraint on an identity column could not be
//          modified.
// *Action: Do not modify the NOT NULL constraint on an identity column.
30672,0000, "cannot drop NOT NULL constraint on an identity column"
// *Cause:  The NOT NULL constraint on an identity column could not be
//          dropped. 
// *Action: Do not drop the NOT NULL constraint on an identity column.
//          The only way to drop the constraint is to remove the identity
//          property of the column with ALTER TABLE MODIFY  
//          DROP IDENTITY.
30673,0000, "column to be modified is not an identity column"
// *Cause:  An attempt was made to modify the identity properties of
//          that is not an identity column.
// *Action: Modify the identity properties of an identity column.
/
30674,0000, "identity column cannot have a default value"
// *Cause:  An attempt was made to add a default value to an identity
//          column.
// *Action: Do not modify an identity column with a default value.
/
30675,0000, "identity column must be a numeric type"
// *Cause:  An attempt was made to create or alter an identity column
//          with a non-numeric data type.
// *Action: Do not assign a non-numeric data type to an identity column.
/
/ Error Numbers 30676 - 30725 are reserved for Multilanguage Debug
/ infrastructure (kga/kqa)
/
30676, 00000, "socket read or write failed"
// *Cause:  A problem kept a socket from reading or writing the
//          expected amount of data. More specific information is not
//          available.
// *Action: Try re-establishing a connection. You may need to restart
//          whatever program is at the other end of the socket that failed,
//          or you may need to have some problem on your network fixed.
30677, 00000, "session is already connected to a debugger"
// *Cause:  An attempt to connect a session to a debugger could not proceed
//          because the session is already connected to some debugger.
// *Action: Either use the option to force a connection or first disconnect the
//          session from its existing debugger.
30678, 00000, "too many open connections"
// *Cause:  An attempt to open a connection failed because too many
//          are already open by this session. The number of allowed
//          connections varies as some may be in use through other
//          components which share the same pool of allowed connections.
// *Action: Retry after closing some other connection. The number of
//          connections supported is currently not adjustable.
30679, 00000, "JDWP-based debugging not supported in this configuration"
// *Cause:  An attempt to open a debugging connection failed because this
//          server configuration cannot support the required asynchronous
//          socket traffic detection.
// *Action: This feature will not work under this server configuration.
//          Either the feature is not supported on this platform at all,
//          or is available only through use of a protocol=tcp dispatcher
//          in shared-server configurations. Please consult the
//          platform-specific documentation and "readme" material.
30680, 00000, "debugger connection handshake failed"
// *Cause:  A problem occurred when trying to establish a debugger
//          connection. This might indicate that the port specified as
//          the location of the debugger is actually being used by some
//          other type of application.
// *Action: Correct the host or port specifications if they are incorrect,
//          and verify that the debugger is properly waiting for a connection.
30681, 00000, "improper value for argument EXTENSIONS_CMD_SET"
// *Cause:  An improper parameter value was provided in a call to
//          DBMS_DEBUG_JDWP.CONNECT_TCP.
// *Action: Correct the indicated parameter value and try again.
30682, 00000, "improper value for argument OPTION_FLAGS"
// *Cause:  An improper parameter value was provided in a call to
//          DBMS_DEBUG_JDWP.CONNECT_TCP.
// *Action: Correct the indicated parameter value and try again.
30683, 00000, "failure establishing connection to debugger"
// *Cause:  An error was indicated when trying to establish a connection
//          to a debugger. Usually a TNS error will display along with
//          this message to further explain the problem, although this
//          TNS error will likely be hidden if you choose to trap the error.
// *Action: Correct the indicated parameter value and try again.
30684, 00000, "request timed out"
// *Cause:  The request was not processed within the given time.
// *Action: Try the request at a later time.
30685, 00000, "package version is not compatible with Oracle version"
// *Cause:  The installed version of the package from which this error
//          is raised is not compatible with this release of Oracle.
// *Action: Install a compatible version of the package's spec and body.
30686, 00000, "no dispatcher accepted TCP/IP connection request"
// *Cause:  A connection had to be routed through a local socket
//          rather than a dispatcher. When this occurs, shared servers
//          are less beneficial because the session that owns the socket
//          cannot relinquish the process until the socket is closed. The
//          most likely cause is that no dispatcher is configured for
//          protocol=tcp.
// *Action: To improve the scalability of your configuration,
//          configure a dispatcher for protocol=tcp. To route these
//          particular connections through a particular set of dispatchers,
//          you can specify presentation=kgas. However, if you haven't done
//          so, any protocol=tcp dispatcher will be used.
30687, 00000, "session terminated by debugger"
// *Cause:  The execution of the session was stopped by the debugger.  This can
//          occur because of an explicit request sent by the debugger, or
//          because the debugger disconnected without requesting the ORACLE
//          server to let the session continue to run after the
//          disconnection. It can also occur if the ORACLE server needs to
//          disconnect the debugger at a time when the person controlling the
//          debugger might not expect, such as upon a reset of the related
//          package state or a change of the login user. To prevent continuing
//          the execution using debugger-introduced modifications that might
//          have been intended to be temporary, the ORACLE server needs to
//          fully terminate the session.
// *Action: This is in response to a debugger request; it is not an error.
//          No action is required.
30688, 00000, "maximum program calling depth exceeded"
// *Cause:  Your program contains a set of calls that are
//          too deep to be handled. Only transitions between the different
//          execution engines (SQL, PL/SQL, and Java) count in reaching this
//          limit; calls within the same engine don't count.
// *Action: Restructure your program so as to not call so deeply.
//          Perhaps some recursion can be replaced with iteration.
30689, 00000, "improper value for ORA_DEBUG_JDWP"
// *Cause:  An improper value was used for ORA_DEBUG_JDWP when trying to
//          establish a connection to a debugger. The value either did not
//          conform to the format of ORA_DEBUG_JDWP or was too long.
// *Action: Correct the value for ORA_DEBUG_JDWP and try again.
30690, 00000, "timeout occurred while registering a TCP/IP connection for data traffic detection"
// *Cause:  A timeout occurred while registering a TCP/IP connection for
//          data traffic detection.
// *Action: Retry the operation later.
30691, 00000, "failed to allocate system resources while registering a TCP/IP connection for data traffic detection"
// *Cause:  System resources ran out while registering a TCP/IP
//          connection for data traffic detection.
// *Action: Retry the operation later.
30695, 00000, "JDWP message format problem"
// *Cause:  A message passed from one software subcomponent to another
//          using the JDWP protocol appears invalidly formatted.
// *Action: This is an internal error. Contact ORACLE Support Services.
30696, 00000, "request aborted by the target session"
// *Cause:  The request was aborted by the target session. Possible causes
//          include an unresolved error while the request was processed or the
//          target session had aborted.
// *Action: Correct the issue in the target session and try again.
30697, 00000, "remote tool request waiting to be processed"
// *Document: NO
// *Cause:
// *Action:
30725, 00000, "JDWP-based debugging is not yet available"
// *Cause:  This feature is not yet available for use.
// *Action: Please wait for a future release.
/
/
/
/
/ Error Numbers 30726 - 30925 are reserved for OBJECT SQL
/
/
30726, 00000, "cannot specify referenced column list here"
//  *Cause:  An attempt was made to specify a referenced column list
//           for a referential constraint involving a REF column.
//  *Action: Remove the referenced column list specification.
30727, 00000, "duplicate referential constraint for a REF column"
//  *Cause:  Multiple referential constraints were specified for a single 
//           REF column.
//  *Action: Remove the duplicate referential constraint and retry the 
//           operation.
30728, 00000, "maximum number of columns exceeded"
// *Cause:    Adding referential constraint on a REF column requires the 
//            the creation of an additional column.
// *Action:   Drop some columns and retry the operation.
30729, 00000, "maximum number of columns exceeded"
// *Cause:    Adding scope or referential constraint on a REF column 
//            requires the creation of additional columns if the target 
//            table's object identifier is primary key based.
// *Action:   Drop some columns and retry the operation.
30730, 00000, "referential constraint not allowed on nested table column"
// *Cause:    An attempt was made to define a referential constraint on a nested 
//            table column.
// *Action:   Do not specify referential constraints on nested table columns.
30731, 00000, "scope constraint not allowed on nested table column when the nested table is being created"
// *Cause:    An attempt was made to define a scope constraint on a nested table 
//            column when the nested table is being created.
// *Action:   Do not specify a scope constraint on a nested table column when 
//            creating it. Instead, specify it using the ALTER TABLE statement. 
30732, 00000, "table contains no user-visible columns"
// *Cause:    An attempt was made to query on a system table which has no 
//            user-visible columns.
// *Action:   Do not query on a system table that has no user-visible
//            columns. 
30733, 00000, "cannot specify rowid constraint on scoped ref column"
//  *Cause:  An attempt was made to specify rowid constraint
//           on a scoped REF column.
//  *Action: Remove the rowid constraint and then retry the operation.
30734, 00000, "cannot specify scope constraint on ref column with rowid"
//  *Cause:  An attempt was made to specify scope constraint
//           on a REF column with the rowid constraint.
//  *Action: Remove the scope constraint and then retry the operation.
/
/     Error messages for Inheritance (30735 - 30765)
30735, 00000, "cannot create multiple subtables of the same type under a supertable"
//  *Cause:  An attempt was made to create under a supertable (superview),
//           a subtable(subview) of the same type as another existing
//           subtable (subview).
//  *Action: Drop the existing subtable(subview) and retry the operation.
30736, 00000, "objects in a table or view hierarchy have to be in the same schema"
//  *Cause:  An attempt was made to create a subtable(subview) under a
//           supertable(superview) located in another schema.
//  *Action: Connect as schema owner of the superobject and 
//           retry the operation.
30737, 00000, "cannot create subtable of a type which is not a subtype of the type of the supertable"
//  *Cause:  An attempt was made to create a subtable(subview) of a type
//           which is not a subtype of the type of the super object.
//  *Action: Change the type of the subtable to be a subtype of the 
//           superobject's type and then retry the operation.
30738, 00000, "object \"%s\" does not exist in schema \"%s\""
//  *Cause:  The specified object does not exist.
//  *Action: Ensure that the specified object exists and retry the operation.
30739, 00000, "cannot drop a table that has subtables"
//  *Cause:  The user tried to drop a table that has subtables defined
//           under it.
//  *Action: Drop all subtables before trying this operation.
30740, 00000, "cannot grant UNDER privilege on this object"
//  *Cause:  The user tried to grant UNDER privilege on an object that is
//           not one of the following : non final object type, object table
//           of non final type, object view of non final type.
//  *Action: Ensure that the UNDER privilege is granted on a valid object.
30741, 00000, "WITH HIERARCHY OPTION can be specified only for SELECT or READ privileges"
//  *Cause:  An attempt was made to specify WITH HIERARCHY OPTION for a privilege
//           other than SELECT or READ.
//  *Action: Ensure that the WITH HIERARCHY OPTION is specified only with the
//           SELECT or READ privilege.
30742, 00000, "cannot grant SELECT or READ privilege when WITH HIERARCHY OPTION is specified on the object"
//  *Cause:  An attempt was made to grant the SELECT or READ privilege when the WITH
//           HIERARCHY OPTION was specified on an object that is not one of the following:
//           - Object table of non-final type
//           - Object view of non-final type
//  *Action: Ensure that the SELECT or READ privilege is granted on a valid
//           object when the WITH HIERARCHY OPTION is specified.
30743, 00000, "\"%s\" is not an object view"
//  *Cause:  The specified object is not an object view.
//  *Action: Specify an object view and retry the operation.
30744, 00000, "\"%s\" is not an object table"
//  *Cause:  The specified object is not an object table.
//  *Action: Specify an object table and retry the operation.
30745, 00000, "error occured while trying to add column \"%s\" in table \"%s\""
//  *Cause:  The user tried to add a subtype which tried to alter the tables
//           dependent on the supertype.
//  *Action: Ensure that the table will not exceed the columnlimit on adding
//           this subtype.
30746, 00000, "error occured while trying to drop column \"%s\" in table \"%s\""
//  *Cause:  The user tried to drop a subtype with VALIDATE option which tried to 
//           check for stored instances of the type in the stated table
//  *Action: Delete all instances of this subtype and then drop the type.
30747, 00000, "cannot create substitutable tables or columns of non final type %s.%s"
//  *Cause:  The user tried to create substitutable table or column of a
//           non final type. This operation is not currently supported.
//  *Action: Change the statement to create a non substitutable table/column.
30748, 00000, "column %s already enabled to store objects of type %s.%s"
//  *Cause:  The user is trying to enable a column to store instances of a
//           type for which it is already enabled.
//  *Action: None
30749, 00000, "column %s not enabled to store objects of type %s.%s"
//  *Cause:  The user is trying to disable a column from storing instances of a
//           type for which it is already enabled.
//  *Action: None
30750, 00000, "cannot enable column %s to store objects of type %s.%s"
//  *Cause:   The user is trying to enable a column to store instances of 
//            a subtype. The error is raised due to one of the following : 
//  *Action:  Fix the cause of the error and retry the operation.
30751, 00000, "cannot disable column %s from storing objects of type %s.%s"
//  *Cause:   The user is trying to drop a type from being stored in a
//            substitutable column or table. This error is raised due to one
//            of the following reasons :
//            - the column is enabled to store instances of some subtype of
//              the type being dropped.
//            - the column is enabled to store instances of only one type
//  *Action:  Fix the cause of the error and retry the operation.
30752, 00000, "column or table %s is not substitutable"
//  *Cause:   The user is performing an operation that is not allowed on
//            non substitutable column or table.
//  *Action:  None.
30753, 00000, "column or table %s is substitutable"
//  *Cause:   The user is performing an operation that is not allowed on
//            substitutable column or table.
//  *Action:  None.
30754, 00000, "column or table %s stores objects of only one type"
//  *Cause:   The user is trying to perform an operation that is not
//            allowed on object column or table that is enabled to store
//            instances of a single type.
//  *Action:  None
30755, 00000, "error during expansion of view hierarchy"
//  *Cause:  There was an error while trying to expand a view hierarchy.
//           This could be due to invalid subviews (or subviews with errors)
//  *Action: Ensure that all subviews are valid e.g. alter view ... compile
//           and retry the operation.
30756, 00000, "cannot create column or table of type that contains a supertype attribute"
//  *Cause:  The user tried to create a column or table of an object type that
//           contains a supertype attribute. This is not supported because
//           it leads to infinite recursion in our current storage model.
//           Note that creating a column of a type implies that we
//           create columns corresponding to all subtype attributes as well.
//  *Action: Change the type definition to contain a supertype REF attribute
//           instead of the supertype object attribute.
30757, 00000, "cannot access type information"
//  *Cause:  Either a subtype was created and operations performed with this 
//           new type while the session was in progress, or 
//           the type information was unpinned from the object cache.
//  *Action: Commit necessary changes, end the user session, reconnect
//           again and re-try the object operations. 
//           If problem persists, contact your Oracle Support representative.
30758, 00000, "cannot specify local on a non-partitioned table"
//  *Cause:  The user specified local or global for a nested table storage 
//           parameter while the base table is non-partitioned. 
//  *Action: None
30759, 00000, "nested table cannot be partitioned for a composite partitioned base table"
//  *Cause:  The user specifed local or nested table parameters inside 
//           partition clause for a composite partitioned table. 
//  *Action: Issue the DDL without nested table partition clauses for composite
//           partitioned table.
/
/     Error messages for REF operations 
30765, 00000, "cannot modify scope for an unscoped REF column"
//  *Cause:  An attempt was made to modify the scope for an unscoped REF 
//           column.
//  *Action: Use an ALTER TABLE ADD SCOPE FOR command instead.
30766, 00000, "cannot modify scope for a REF column with a REFERENCES constraint"
//  *Cause:  An attempt was made to modify the scope for a REF column with 
//           a REFERENCES constraint.
//  *Action: Drop the REFERENCES constraint, and retry the operation.
30767, 00000, "OID type mismatch"
//  *Cause:  An attempt was made to modify the scope for a REF column to a 
//           table whose object identifier's type is different from that
//           of the original scoped table.
//  *Action: 
30768, 00000, "Cannot evaluate pipelined function"
//  *Cause:  Pipelined functions can only be used in a TABLE expression in 
//           the from clause.
//  *Action: Use a non-pipelined function instead.
30769, 00000, "event to allow creation of sub-tables"
// *Document: NO
// *Cause:    N/A
// *Action:   Allows the user to create sub-tables.
/
30770, 00000, "Cannot specify storage options for fixed size opaque type"
//  *Cause:  Storage clause was specified during table creation for a fixed
//           size opaque type.
//  *Action: Do not provide storage option clause.
30771, 00000, "Cannot add more than one referential constraint on REF column \"%s\""
//  *Cause:  Multiple referential constraints were specified for a single 
//           REF column.
//  *Action: Remove the additional referential constraints and retry the 
//           operation.
30772, 00000, "opaque types do not have default constructors"
//  *Cause:  Constructor invocation did not succeed, since no user-defined 
//           constructors were defined for the opaque type, and since opaque
//           types do not have default constructors.
//  *Action: Add user-defined constructors to opaque type, or specify a
//           member or static method for the opaque type.
30773, 00000, "opaque types do not have default constructors"
//  *Cause:  Constructor invocation did not succeed, since no user-defined 
//           constructors were defined for the opaque type, and since opaque
//           types do not have default constructors.
//  *Action: Add user-defined constructors to opaque type, or specify a
//           member or static method for the opaque type.
30774, 00000, "Library \"%s\" was erroneously defined as a trusted library for opaque types"
//  *Cause:  User has defined some library as trusted library for opaque types.
//  *Action: Trusted libraries for opaque types can only be defined in internal
//           code.
//
/
/
/ Error Numbers 30926 - 30930 are reserved for SQL execution time errors
/
30926, 00000, "unable to get a stable set of rows in the source tables"
// *Cause:  A stable set of rows could not be got because of large dml 
//          activity or a non-deterministic where clause. 
// *Action: Remove any non-deterministic where clauses and reissue the dml.
/
30927, 00000, "Unable to complete execution due to failure in temporary table transformation"
// *Cause:  In memory temporary tables we create are aged out of shared pool 
//          before we are able to grab them again.
// *Action: Reduce activities that use a lot of shared pool space or wait for a 
//          while, then retry. 
/
30928, 00000, "Connect by filtering phase runs out of temp tablespace"
// *Cause:  It is probably caused by the fact that there is a loop in the data. 
// *Action: Please retry the query with the NO_FILTERING hint. If the same error 
//          still occurs, then increase temp tablespace.
/
30929, 00000, "ORDER SIBLINGS BY clause not allowed here"
// *Cause:  ORDER SIBLINGS BY clause is specifed in a query which doesn't
//          have CONNECT BY clause.
// *Action: Remove ORDER SIBLINGS BY clause or add CONNECT BY clause.
/
30930, 00000, "NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudocolumn"
// *Cause:  CONNECT_BY_ISCYCLE was specifed in a query which does not
//          have the NOCYCLE keyword.
// *Action: Remove CONNECT_BY_ISCYCLE or add NOCYCLE.
/
/ Error Numbers 30931 - 31200 are reserved for Project XDB (XML Support)
/
/
/ Errors 30931 - 30979 for XMLType & schema processing
/
30931, 00000, "Element '%s' cannot contain mixed text"
// *Cause:   XML elements must be declared mixed to contain multiple text nodes
// *Action:  Declare this element type as mixed in its schema
30932, 00000, "Reference node '%s' not contained in specified parent node '%s'"
// *Cause:   When using a reference node, it must have the specified parent 
//           node
// *Action:  Use a node in the specified parent as the reference
30933, 00000, "Element '%s' may not appear at this point within parent '%s'"
// *Cause:   The ordering specified by the content model of the parent does
//           not allow for this element to occur at this position.
// *Action:  Reorder the child elements to conform with the content model
//           of the parent element
30934, 00000, "'%s' (%s node) cannot be inserted in parent '%s' (%s node)"
// *Cause:   The schema does not allow a child node of this type to be inserted
//           into a parent node of this type.  For example, only element
//           nodes may only be inserted into a document
// *Action:  Insert only child nodes that make sense for this node type
30935, 00000, "XML maxoccurs value (%s) exceeded"
// *Cause:   An attempt was made to insert more than maxoccurs
//           values into a schema-based XML document.
// *Action:  Do not insert more than maxoccurs values into the document.
30936, 00000, "Maximum number (%s) of '%s' XML node elements exceeded"
// *Cause:   An attempt was made to insert more than the allowed number
//           of elements (specified by the maxoccurs facet) into an XML
//           document.
// *Action:  Do not attempt to add more than the maximum number of elements
//           to XML documents.
30937, 00000, "No schema definition for '%s' (namespace '%s') in parent '%s'"
// *Cause:   The schema definition for the parent node being processed does
//           not allow for the specified child node in its content model.
//           Note that any typecasting via xsi:type must occur before the
//           schema definitions for the new type can be used.
// *Action:  Only insert elements and attributes declared in the schema.
//           Check to make sure that xsi:type (if used) is specified first.
30938, 00000, "No prefix defined for namespace '%s' (particle %s)"
// *Cause:   An XML namespace mapping (xmlns:=) must
//           be defined for each particle (element or attribute) stored in
//           an schema-constrained XMLType document.
// *Action:  Add an xmlns attribute definition (attribute name="xmlns:prefix"
//           and value="namespace URL") to the current XMLType document.
//           The safest place to add this attribute is in the root node of
//           the document to ensure that the mapping will be in scope.
30939, 00000, "Order violation: Element '%s' may not follow element '%s'"
// *Cause:   The XML schema specifies a content model that is sequential,
//           where the order of nodes in the instance must follow the order
//           specified by the schema, and this instance relies on the schema
//           validity to avoid maintaining instance order information
// *Action:  Insert elements only in the order specified in the schema
30940, 00000, "Cannot resolve prefix '%s' for QName node '%s'"
// *Cause:   An attempt was made to store a QName value without having a
//           valid namespace in scope for that prefix.
// *Action:  Declare the namespace for the prefix used
30941, 00000, "Cannot specify empty URI for non-default namespace '%s'"
// *Cause:   An attempt was made to insert a namespace declaration for
//           a non-default namespace using an empty URI string.
// *Action:  Specify a non-empty URI for namespace declarations other than
//           the default namespace.
////////  Errors 30942 to 30950 reserved for XML Schema Evolution
30942, 00000, "XML Schema Evolution error for schema '%s' table %s column '%s'"
// *Cause:   The given XMLType table/column which conforms to the given schema
//           had errors during evolution. For more information, see the more 
//           specific error below this one
// *Action:  Based on the schema, table and column information in this error
//           and the more specific error below, take corrective action 
30943, 00000, "XML Schema '%s' is dependent on XML schema '%s'"
// *Cause:   Not all dependent schemas were specified and/or the schemas were
//           not specified in dependency order, i.e., if schema S1 is dependent
//           on schema S, S must appear before S1.
// *Action:  Include the previously unspecified schema in the list of schemas
//           and/or correct the order in which the schemas are specified. Then 
//           retry the operation.
30944, 00000, "Error during rollback for XML schema '%s' table %s column '%s'"
// *Cause:   The given XMLType table/column which conforms to the given schema
//           had errors during a rollback of XML schema evolution. For more
//           information, see the more specific error below this one
// *Action:  Based on the schema, table and column information in this error
//           and the more specific error below, take corrective action 
30945, 00000, "Could not create mapping table '%s'"
// *Cause:   A mapping table could not be created during XML schema evolution.
//           For more information, see the more specific error below this one
// *Action:  Ensure that a table with the given name does not exist and retry
//           the operation
30946, 00000, "XML Schema Evolution warning: temporary tables not cleaned up"
// *Cause:   An error occurred after the schema was evolved while cleaning up 
//           temporary tables. The schema evolution was successful
// *Action:  If the user needs to remove the temporary tables, use the mapping
//           table to get the temporary table names and drop them.
30947, 00000, "Dependent table '%s' of XML schema '%s' is version-enabled"
// *Cause:   An XMLType table that is dependent on an XML schema being evolved
//           is version-enabled. 
// *Action:  Disable versioning on the XMLType table
30948, 00000, "Illegal in-place XML schema evolution operation: %s"
// *Cause:   An attempt was made to make an XML schema change that is not 
//           permitted through in-place XML schema evolution.
// *Action:  Ensure that the XML schema changes specified in the XMLDiff
//           argument to DBMS_XMLSCHEMA.inPlaceEvolve are permitted.
///////  End of XML Schema Evolution errors (30942 to 30950 reserved)
30951, 00000, "Element or attribute at Xpath %s exceeds maximum length"
// *Cause:   An attempt was made to insert a node of length exceeding the 
//           maximum length (specified by the maxLength facet) into 
//           an XML document.
// *Action:  Do not attempt to add a node exceeding the maximum length
//           to XML documents.
30952, 00000, "illegal configuration of HTTP/HTTPS in xdbconfig.xml"
// *Cause:   An attempt was made to update xdbconfig.xml when either
//           1)  a value was specified for http2-port but not for 
//               http2-protocol (or vice versa), OR
//           2)  http-port and http2-port were set to the same value.
// *Action:  Specify values for both elements http2-port and http2-protocol,
//           AND set different values for http-port and http2-port.
30953, 00000, "XML minoccurs value (%s) violated"
// *Cause:   An attempt was made to delete more than the required minimum number
//           of elements (specified by the minoccurs facet) from an XML
//           document. 
// *Action:  Do not attempt to delete more than the required minimum 
//           number of elements that must be present from the XML document.
30954, 00000, "char %s is invalid in %s"
// *Cause:   An invalid XML character was found. 
// *Action:  Use only characters allowed by the XML specification.
//
////////  Errors 30955 to 30989 reserved for XML Index
30955, 00000, "The XML Index does not exist or is not asynchronous"
// *Cause:   An attempt was made to synchronize a nonexistent XML Index
//           or a synchronous XML Index.
// *Action:  Create the XML Index in asynchronous mode.
30956, 00000, "invalid option for XML Index"
// *Cause:   Unexpected error.
// *Action:  File a bug.
30957, 00000, "cannot downgrade because there are XML indexes"
// *Cause: An attempt was made to downgrade a database that has XML indexes.
// *Action: Drop all XML indexes before attempting the downgrade.
30958, 00000, "operation directly on the Pending Table is disallowed"
// *Cause:   An illegal operation was attempted on secondary objects of an 
//           XML Index.
// *Action:  Try appropriate operation on the XML Index.
30959, 00000, "The indexed column is not stored in CLOB."
// *Cause:   An attempt was made to create an XML Index on an OR-XMLType column.
// *Action:  Re-create the XML Index on a CLOB-XMLType column.
30960, 00000, "The entity is neither an XPATH nor a NAMESPACE."
// *Cause:   The given string had invalid syntax.
// *Action:  Check the syntax for XPATH and NAMESPACE.
30961, 00000, "internal SQL statement is too long"
// *Cause:   unexpected internal error
// *Action:  File a bug and provide the test case.
30962, 00000, "inconsistent ODCI input arguments"
// *Cause:   unexpected internal error
// *Action:  File a bug and provide the test case.
30963, 00000, "The indexed column is not of XMLType."
// *Cause:   An attempt was made to create an XML Index on a non-XMLType column.
// *Action:  Re-create the XML Index on an XMLType column.
30964, 00000, "The XML Index was not usable."
// *Cause:   The domain index for XML was not created properly. The Path Table is missing.
// *Action:  Drop and re-create the XML Index.
30965, 00000, "fragment does not fit into the VARCHAR2 VALUE column"
// *Cause:   The fragment size exceeded the max size.
// *Action:  Re-create the XML Index with values stored in CLOB.
30966, 00000, "error detected in the XML Index layer"
// *Cause:   Unexpected error.
// *Action:  File a bug.
30967, 00000, "operation directly on the Path Table is disallowed"
// *Cause:   illegal operation on secondary objects of a domain index
// *Action:  Try appropriate operation on the domain index.
30968, 00000, "invalid XPATH or NAMESPACE option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30969, 00000, "invalid syntax for PARAMETERS"
// *Cause:   An attempt was made to specify an invalid option.
// *Action:  Check and use valid options.
30970, 00000, "option not supported for XML Index"
// *Cause:   An attempt was made to specify an invalid option.
// *Action:  Check and use valid options.
30971, 00000, "illegal operation on the Path Table"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate command on the XML Index.
30972, 00000, "invalid ALTER INDEX option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30973, 00000, "invalid Path Table option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30974, 00000, "invalid Path Id Index option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30975, 00000, "invalid Order Key Index option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30976, 00000, "invalid Parent Order Key Index option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30977, 00000, "invalid Value Index option for XML Index"
// *Cause:   An attempt was made to use an unsupported option.
// *Action:  Use the appropriate option.
30978, 00000, "The XML Index is not locally partitioned."
// *Cause:   An attempt was made to create a global partitioned XML Index.
// *Action:  Do not attempt to create global partitioned XML Index
//           or to maintain a non-local partitioned XML Index.
30979, 00000, "Partitioned XML Index not yet supported."
// *Cause:   An attempt was made to create a partitioned XML Index.
// *Action:  Do not attempt to create partitioned XML Index.
30980, 00000, "Invalid Input."
// *Cause:   The input to the function is not valid.
// *Action:  Make sure the input is valid (both syntactically as well as semantically).
30981, 00000, "Internal event to configure Compact XML / Streaming XPath"
// *Cause:   N/A
// *Action:  Do not document.
30982, 00000, "Invalid option for a partition of an XML Index"
// *Cause:   An invalid option was specified at the partition level.
// *Action:  Remove the invalid option.
30983, 00000, "Maximum order key depth exceeded"
// *Cause:   The document could not be indexed because its nesting depth was
//           more than that allowed by XML Index.
// *Action:  Remove the offending document.
30984, 00000, "The XMLType column has to be declared as virtual"
// *Cause:   The XMLType column was not declared as virtual when creating
//           a structured XMLIndex.
// *Action:  The XMLType column has to be declared as virtual
//           when creating a structured XMLIndex.
30985, 00000, "The virtual XMLType column for chaining is missing"
// *Cause:   The virtual XMLType column for chaining was missing when creating 
//           a structured XML index.
// *Action:  A virtual XMLType column for chaining has to be specified
//           when creating a structured XML Index.
30986, 00000, "XML Index with more than one virtual column is disallowed"
// *Cause:   An attempt was made to create an XML Index with more than one 
//           virtual column.
// *Action:  Create only one virtual column.
30987, 00000, "XML Index on XML DB repository does not exist"
// *Cause:   An attempt was made to operate on a non-existent XML Index 
//           on XML DB repository.
// *Action:  First create the index using 
//           DBMS_XDB_ADMIN.CREATEREPOSITORYXMLINDEX. Try the operation again.
30988, 00000, "Metadata of XML Index corrupted"
// *Cause:   An attempt to locate the XML Index failed.
// *Action:  Contact Oracle Support Services.
30989, 00000, "XML Index on an Index Organized Table is not yet supported"
// *Cause:   XML Index supported only on Heap Organized Table.
// *Action:  Contact Oracle Support Services.
///////  End of XML Index (30955 to 30989 reserved)
30990, 00000, "insufficient privileges to change owner of resource %s"
// *Cause:   An attempt was made to change the field of an
//           XML DB resource without sufficient privileges to do so.
// *Action:  Switch to SYS before performing the ownership change, or have
//           the intended recipient of the resource perform the transfer.
30991, 00000, "cannot use DOM to add special attribute to schema-based parent"
// *Cause:   An attempt was made to add or remove an xsi:schemaLocation,
//           xsi:noNamespaceSchemaLocation, xsi:type, or xsi:nil attribute
//           to or from a schema-based XML node using DOM.
// *Action:  Use the updateXML operator instead of DOM.
30992, 00000, "error occurred at Xpath %s"
// *Cause:     
// *Action:  See the following error and take appropriate action.
30993, 00000, "complex type %s is not referred by any global element"
// *Cause:
// *Action:  Add a dummy global element to the schema that refers to 
//           the complex type.
30994, 00000, "Invalid argument for DOM stream" 
// *Cause:   Either a null or a nonleaf node was passed. 
// *Action:  Use a combination of DOM API and DOM streams to produce 
//           desired effect.
30995, 00000, "DOM streams operations cannot be performed on null/invalid node"
// *Cause:   The node is NULL or inexistent
// *Action:  Check the input parameters.
30996, 00000, "Streams operations over non-existent stream"
// *Cause:   The stream passed is NULL or invalid.
// *Action:  Check the input parameters.
30997, 00000, "XSL processing of XML failed with error LPX-%s"
// *Cause:   An LPX routine (XML/XSL processing) returned an error
//           while tranforming an XML doc.
// *Action:  Look up the LPX error and follow its corrective action.
30998, 00000, "transformation error: %s"
// *Cause:   Error occurred while transforming an XML doc with an XSL
//           style sheet.
// *Action:  Contact Oracle Support Services.
30999, 00000, "XML context creation failed while %s"
// *Cause:   Error occurred while creating XML context.
// *Action:  Contact Oracle Support Services.
31000, 00000, "Resource '%s' is not an XDB schema document"
// *Cause:   The given schema URL does not refer to a registered XDB schema
// *Action:  Make sure the specified schema has been registered in XDB
31001, 00000, "Invalid resource handle or path name \"%s\""
// *Cause:   An invalid resource handle or path name was passed to
//           the XDB hierarchical resolver.
// *Action:  Pass a valid resouce handle or path name to the hierarchical
//           resolver.
31002, 00000, "Path name %s is not a container"
// *Cause:   XDB expected the given path name to represent a container.
// *Action:  Pass a path name or resource handle that represents a container.
31003, 00000, "Parent %s already contains child entry %s"
// *Cause:   An attempt was made to insert a duplicate child into
//           the XDB hierarchical resolver.
// *Action:  Insert a unique name into the container.
31004, 00000, "Length %s of the BLOB in XDB$H_INDEX is below the minimum %s"
// *Cause:   In the XDB$H_INDEX table, the CHILDREN column, a BLOB, must
//           have a certain minimum length without being chained.
//           The calculated length of the LOB was less than the stated minimum.
// *Action:  Set the value of the init.ora parameter db_block_size 
//           to at least 2K.  For XDB to run at its fastest, set 
//           db_block_size to 8K.
31005, 00000, "Path name length %s exceeds maximum length %s"
// *Cause:   The length of a path name passed to the XDB hierarchical
//           resolver exceeded the maximum length.
// *Action:  Choose a shorter path name.
31006, 00000, "Path name segment length %s exceeds maximum length %s"
// *Cause:   The length of a path name segment passed to the XDB
//           hierarchical resolver exceeded the maximum length of a path
//           name segment.
// *Action:  Choose a shorter path name segment.
31007, 00000, "Attempted to delete non-empty container %s/%s"
// *Cause:   An attempt was made to delete a non-empty container in 
//           the XDB hierarchical resolver.
// *Action:  Either perform a recursive deletion, or first delete 
//           the contents of the container.
31008, 00000, "LPX context creation failed while %s"
// *Cause:   Error occurred while creating LPX context because of an unexpected
//           NULL value.
// *Action:  Contact Oracle Support Services.
31009, 00000, "Access denied for property %s"
// *Cause:   An attempt was made to access a property you don't have access to
// *Action:  Check the ACL to see what privileges you have for this property
31010, 00000, "XML element index %s exceeds maximum insertion index %s"
// *Cause:   An attempt was made to insert an XML element at an
//           invalid index location in the node.
// *Action:  Choose a new index that falls within the allowed range.
31011, 00000, "XML parsing failed"
// *Cause:   XML parser returned an error while trying to parse the document.
// *Action:  Check if the document to be parsed is valid.
31012, 00000, "Given XPATH expression not supported"
// *Cause:   XPATH expression passed to the function is currently unsupported.
// *Action:  Check the xpath expression and change it to use a
//           supported expression.
31013, 00000, "Invalid XPATH expression"
// *Cause:   XPATH expression passed to the function is invalid.
// *Action:  Check the xpath expression for possible syntax errors. 
31014, 00000, "Attempted to delete the root container"
// *Cause:   An attempt was made to delete the root container in the 
//           hierarchical index.
// *Action:  Do not delete the root container.
31015, 00000, "Attempted to insert entry without name"
// *Cause:   An attempt was made to insert an entry into the hierarchical
//           resolver without a child name.
// *Action:  Supply a child name and try inserting again.
31016, 00000, "Attempted to delete entry without name"
// *Cause:   An attempt was made to delete an entry from the hierarchical
//           resolver without a child name.
// *Action:  Supply a child name and try deleting again.
31017, 00000, "Error generating unique OID for XML document"
// *Cause:   An error occurred while generating a globally unique OID
//           for storing an XML document.
// *Action:  
31018, 00000, "Error deleting XML document"
// *Cause:   The XMLType object pointed to by the given REF could not 
//           be deleted because either the REF was invalid or it
//           pointed to a non-existent table.
// *Action:  Either use FORCE deletion or supply a valid REF.
31019, 00000, "Recursive deletion snapshot too old for %s/%s"
// *Cause:   Changes were made to the structure of a directory while it
//           was being recursively deleted.
// *Action:  Try deleting the directory again.
31020, 00000, "The operation is not allowed, Reason: %s"
// *Cause:   The operation attempted is not allowed
// *Action:  See reason and change to a valid operation.
31021, 00000, "Element definition not found"
// *Cause:   The element definition was not found.
// *Action:  Supply the definition for the element or use a defined element.
31022, 00000, "Element not found"
// *Cause:   The element was not found.
// *Action:  Make sure the specified element exists.
31023, 00000, "Index size error"
// *Cause:   The index is greater than the allowed value.
// *Action:  Make sure the index is less than allowed value.
31024, 00000, "Parser initialization failed with LPX-%s error\nwhile %s"
// *Cause:   Error occurred while initializing a parser.
// *Action:  Contact Oracle Support Services.
31025, 00000, "Invalid document element"
// *Cause:   An attempt was made to replace the data at an invalid
//           index number in the XML document
// *Action:  Supply a correct occurrence number and try again.
31026, 00000, "unable to allocate additional memory while \n%s"
// *Cause:  A dynamic memory allocation failure occurred.
// *Action: Report this problem to a database administrator.
31027, 00000, "Path name or handle %s does not point to a resource"
// *Cause:   An attempt was made to retrieve a resource based on
//           a path name or resource handle that points to an entity
//           other than a resource.
// *Action:  Do not attempt to retrieve a resource based on that path
//           name or resource handle.
31028, 00000, "Resource metadata length %s exceeded maximum length %s"
// *Cause:   An attempt was made to insert resource metadata that exceeded
//           the maximum length of that type of metadata.
// *Action:  Keep resource metadata within its allowed length.
31029, 00000, "Cannot bind to unsaved resource"
// *Cause:   An attempt was made to bind to a resource that had not
//           been saved to disk.
// *Action:  Bind only to saved resources.
31030, 00000, "Unable to retrieve XML document"
// *Cause:   The resource had an invalid (dangling) REF to an XML document.
// *Action:  Rebind the resource using a valid XMLType REF.
31031, 00000, "cannot create context to parse an XPath\n%s"
// *Cause:   Error occurred while parsing an XPath.
// *Action:  Contact Oracle Support Services.
31032, 00000, "XML parsing failed with error LPX-%s\nwhile %s"
// *Cause:   An LPX routine returned an error while transforming an
//           XML doc.
// *Action:  Look up the LPX error and follow its corrective action.
31033, 00000, "Requested number of XML children %s exceeds maximum %s"
// *Cause:   An attempt was made to add more than the maximum number of
//           allowable children in an XML element.
// *Action:  Redefine the schema to allow breaking up of the children 
//           among siblings.
31034, 00000, "invalid node set encountered while executing %s"
// *Cause:   The given node set was either NULL or has an invalid type associated
//           with it.
// *Action:  Contact Oracle Support Services.
31035, 00000, "Could not bind locked resource to path %s/%s"
// *Cause:   An attempt was made to bind an existing resource to a new
//           location in the hierarchy, but a lock could not be obtained
//           on the resource.
// *Action:  Commit or roll back the transaction that has the lock on the 
//           resource.
31036, 00000, "XSL processing context initialization failed"
// *Cause:   A error occurred while creating a XSL context.
// *Action:  Contact Oracle Support Services.
31037, 00000, "Invalid XML attribute name %s"
// *Cause:   The attribute name in the XML document did not match anything in
//           the associated schema.
// *Action:  Supply only schema-defined or XML standard attributes.
31038, 00000, "Invalid %s value: \"%s\""
// *Cause:   The text in the XML document did not represent a valid
//           value given the datatype and other constraints in the schema.
// *Action:  Ensure that the specified value in XML documents is valid
//           with respect to the datatype and other constraints in the schema.
31039, 00000, "XML namespace length %s exceeds maximum %s"
// *Cause:   The length of the disk-formatted XML namespace exceeded the
//           maximum.
// *Action:  Keep XML namespace declarations below the maximum length.
31040, 00000, "Property %s: XML type (%s) not compatible with internal memory type (%s)"
//  *Cause:  The XML datatype given is inconsistent with the database
//           datatype, and a conversion cannot be made.
//  *Action: This is an internal error, generally resulting from corruption
//           of the compiled XML schema.  Re-register schemas, or contact
//           Oracle support.         
//
31041, 00000, "Property %s: Memory type (%s) not compatible with database type (%s)"
//  *Cause:  The memory type associated with this property is mapped to 
//           an incompatible database type, and a conversion cannot be made.
//  *Action: This is an internal error, generally resulting from corruption
//           of the compiled XML schema.  Re-register schemas, or contact
//           Oracle support.         
//
31042, 00000, "Too many properties in type '%s'"
//  *Cause:  The type can only have the same number of properties (elements
//           and attributes) as a table can have columns.
//  *Action: Modify the XML schema to move properties into subelements that
//           are not inlined.    
//
31043, 00000, "Element '%s' not globally defined in schema '%s'"
//  *Cause:  The specified element name has not been defined at the top level
//           of the XML schema (i.e. globally).  Elements must be defined 
//           globally to be the root of an XMLType object.           
//  *Action: Check the XML schema definition to make sure the specified
//           element name has been defined at the top level.
31044, 00000, "Top-level prefix length %s exceeds maximum %s"
//  *Cause:  An attempt was made to save to disk a top-level XML namespace
//           prefix whose length exceeded the maximum.
//  *Action: Do not define XML namespace prefixes that exceed the maximum
//           length.
31045, 00000, "Cannot store more than %s extras outside the root XML node"
//  *Cause:  An attempt was made to store more than the maximum number of
//           XML extras (e.g. comments and processing instructions)
//           either before or after the document's root node.
//  *Action: Keep the number of extras outside the root node below
//           the maximum.
31046, 00000, "Incorrect argument(s) specified in the operator"
//  *Cause:  One or more of the arguments specified in the operator in the 
//           query are incorrect
//  *Action: Correct the arguments specified in the operator
//
31047, 00000, "Could not retrieve resource data at path %s"
// *Cause:   An error occurred while retrieving the contents and/or metadata
//           of a resource.
// *Action:  Contact Oracle customer support.
31048, 00000, "Unsaved resources cannot be updated"
// *Cause:   An attempt was made to update a resource that was never saved
//           to disk.
// *Action:  Perform a resource insertion instead.
31049, 00000, "Internal event to turn off direct path loading of XML"
// *Cause:   N/A
// *Action:  Do not document.
31050, 00000, "Access denied"
//  *Cause:  The  requested access privileges have not been granted to the 
//           current user. User must be granted privileges prior to 
//           resource access.
//  *Action: Check the set of requested access privileges to make sure that
//           they are included in the set of access privilges granted to
//           the user.
//
31051, 00000, "Requested access privileges not supported"
//  *Cause:  The  requested access privileges are not supported for the 
//           specified resource.
//  *Action: Ensure that the set of requested access privileges are valid
//           access privileges for the specified resource.
//
31052, 00000, "Cannot delete ACL with other references"
//  *Cause:  The  requested deletion of an ACL resource cannot proceed. 
//           The ACL is in use by other resources.
//  *Action: Remove the resources that are making reference to the ACL   
//           in question and try again.
//
31053, 00000, "The value of the depth argument in the operator cannot be negative"
//  *Cause:  The value of the depth argument passed to the primary operator 
//           is not a positive integer
//  *Action: Pass a positive value of the depth argument
//
31054, 00000, "The %s operator cannot have an ancillary operator "
//  *Cause:  An ancillary operator was used with an operator which does not 
//           does not support ancillary operators
//  *Action: Remove the ancillary operator in the query 
//
31055, 00000, "A null XMLType element cannot be inserted into RESOURCE_VIEW"
//  *Cause:  The element which is being inserted into the RESOURCE_VIEW is 
//           NULL
//  *Action: Specify a non-null XMLType element to insert into RESOURCE_VIEW
//
31056, 00000, "The document being inserted does not conform to %s"
//  *Cause:  The XMLType element being inserted into the RESOURCE_VIEW does 
//           not conform to the specified Schema
//  *Action: Insert an element which conforms to the specified Schema
//
31057, 00000, "Display Name of the element being inserted is null"
//  *Cause:  The Display Name of the element which is being inserted into the 
//           RESOURCE_VIEW is null
//  *Action: Specify the Display Name and insert the element into RESOURCE_VIEW
//
31058, 00000, "cannot modify read-only XOBs"
//  *Cause:  Read-Only XOBs cannot be modified.
//  *Action: Use only read operations on such a XOB.
//
31059, 00000, "Cannot insert root XML document node if it already exists"
// *Cause:   An attempt was made to insert a root node into an XML 
//           document that already had a root node.
// *Action:  Call the appropriate replace function to replace the node
//           instead of inserting it anew.
31060, 00000, "Resource at path %s could not be deleted"
// *Cause:   An error occurred while deleting the named resource.  The 
//           specific error can be found one lower on the error stack.
// *Action:  Look at the next error on the stack and take approprate action.
31061, 00000, "XDB error: %s"
// *Cause:   The specified error occurred in XDB.
// *Action:  Correct the error or contact Oracle Support Services.
31062, 00000, "Cannot delete an unsaved resource"
// *Cause:   An attempt was made to delete a resource that had not
//           been saved to disk.
// *Action:  Delete only saved resources.
31063, 00000, "XPath compilation failed: %s.\n%s"
// *Cause:   XPath compilation failed for specified reason.
// *Action:  Contact Oracle Support Services.
31064, 00000, "Cannot instantiate abstract element or property [%s]"
// *Cause:   An attempt was made instantiate an abstract element.
// *Action:  Use only read operations on such elements.
31065, 00000, "Cannot modify read-only property [%s]"
// *Cause:   An attempt was made to modify an immutable XML node.
// *Action:  Use only read operations on such properties.
31066, 00000, "Insertion of %s into %s creates a cycle"
// *Cause:   An attempt was made to insert a link into the XDB hierarchy
//           that would create a cycle in the tree.
// *Action:  Ensure that links to existing resources do not cause cycles.
31067, 00000, "XML nodes must be updated with valid nodes and of the same type" 
// *Cause:   An attempt was made to use updateXML to update an XML
//           node with a node of another type.
// *Action:  Ensure that the node specified by the XPath matches the type of
//           new data provided.
31068, 00000, "updateXML expected data format [%s] instead of [%s]"
// *Cause:   An attempt was made to use updateXML to update data
//           with a node of the incorrect type.  Text and attribute
//           nodes must be updated with string data, whereas element
//           nodes must be updated with XMLType data.
// *Action:  Use CREATEXML or getStringVal to coerce the new data to the
//           proper format.
31069, 00000, "Cannot apply typed changes to non-schema-based XMLType nodes"
// *Cause:   An attempt was made to insert, delete, or update a 
//           non-schema-based XMLType node using an XML schema definition.
// *Action:  Make changes to non-typed nodes only by referencing their tag
//           names.
31070, 00000, "Invalid database user ID %s"
// *Cause:   An attempt was made set an invalid user ID into an XDB
//           resource metadata property.
// *Action:  Verify the validity of the user ID and try again.
31071, 00000, "Invalid database username or GUID %s"
// *Cause:   An attempt was made to set an invalid username or GUID
//           into an XDB resource metadata property.
// *Action:  Verify the validity of the username or GUID and try again.
31072, 00000, "Too many child nodes in XMLType fragment for updateXML"
// *Cause:   An attempt was made to pass an XMLType fragment with multiple
//           children as new data for the updateXML operator.
// *Action:  Extract the desired child from the XMLType before passing
//           it to updateXML as the desired new XML node.
31073, 00000, "Resource not retrieved using path name"
// *Cause:   An attempt was made to access the path name of a resource
//           that was either never saved to disk or was loaded using
//           a method other than with its path name.
// *Action:  Perform path name operations only on resources obtained using
//           a path name.
31074, 00000, "XML comment length %s exceeds maximum %s"
// *Cause:   The length of the disk-formatted XML comment exceeded the
//           maximum.
// *Action:  Keep outer XML comments declarations below the maximum length.
//////// 31075 - 31099 reserved for XML Schema Compiler 
31075, 00000, "invalid %s declaration in XML Schema"
//  *Cause:  The XML schema contains an invalid declaration identified 
//           by the message.
//  *Action: Fix the identified error and try again.
//
31076, 00000, "required attribute \"%s\" not specified"
//  *Cause:  The XML schema does not specify a required attribute.
//  *Action: Specify a value for the required attribute.
//
31077, 00000, "invalid attribute \"%s\" specified"
//  *Cause:  The XML schema specifies an invalid attribute.
//  *Action: Remove specification of the invalid attribute.
//
31078, 00000, "error in SQL mapping information"
//  *Cause:  There is an error in the SQL type and table specification 
//           within the XML Schema.
//  *Action: Ensure that all specified SQL types and tables are 
//           valid and compatible with the corresponding XML types.
//
31079, 00000, "unable to resolve reference to %s \"%s\""
//  *Cause:  The identified type or attribute or element could not be resolved.
//  *Action: Make sure that the name corresponds to a valid
//           XML (simple/complex) type or attribute or element and try again.
//
31080, 00000, "type not specified for attribute or element \"%s\""
//  *Cause:  The identified attribute or element does not have a type.
//  *Action: Make sure that every attribute and element has a valid
//           type specification.
//
31081, 00000, "name not specified for global declaration"
//  *Cause:  The XML schema does not specify the name for the global 
//           declaration of attribute or element or simpleType or complexType.
//  *Action: Specify names for all global declarations.
//
31082, 00000, "invalid attribute \"%s\" specified in declaration of \"%s\""
//  *Cause:  The XML schema specifies an invalid attribute.
//  *Action: Remove specification of the invalid attribute.
//
31083, 00000, "error while creating SQL type \"%s\".\"%s\" "
//  *Cause:  An error occurred while trying to create the SQL type based 
//           on the specification of a complex type.
//  *Action: Fix the identified error and try again.
//
31084, 00000, "error while creating table \"%s\".\"%s\" for element \"%s\""
//  *Cause:  An error occurred while trying to create the table based 
//           on the declaration for the identified element.
//  *Action: Fix the identified error and try again.
//
31085, 00000, "schema \"%s\" already registered"
//  *Cause:  An attempt was made to register a schema with the same URL 
//           as a previously registered schema.
//  *Action: Register the schema with a different URL.
31086, 00000, "insufficient privileges to register schema \"%s\""
//  *Cause:  An attempt was made to register a schema without 
//           sufficient privileges.
//  *Action: Make sure that the user has sufficient privileges to register 
//           the schema.
31087, 00000, "insufficient privileges to delete schema \"%s\""
//  *Cause:  An attempt was made to delete a schema resource without 
//           sufficient privileges.
//  *Action: Make sure that the user has sufficient privileges to delete the
//           schema.
31088, 00000, "object \"%s\".\"%s\" depends on the schema"
//  *Cause:  An attempt was made to delete a schema which has dependent 
//           objects.
//  *Action: Either drop the dependent objects prior to deleting the schema
//           or use the CASCADE or FORCE options.
31089, 00000, "schema \"%s\" does not target namespace \"%s\""
//  *Cause:  The schema document contains references (via include and import
//           definitions) to other schemas that do not belong to valid 
//           namespaces.
//  *Action: Make sure that all schemas referenced via include definitions 
//           target the same namespace as the parent schema.
//           Further make sure that the namespace specified in the import 
//           definition matches the actual target namespace of the 
//           specified schema.
31090, 00000, "invalid database schema name \"%s\""
//  *Cause:  The XML schema document contains an invalid database schema name 
//           For example, the value of attribute SQLSchema
//  *Action: Make sure that all database user/schema names specified in the 
//           XML schema document refer to existing database users/schemas.
31091, 00000, "empty string specified as a SQL name"
//  *Cause:  The XML schema document contains a null SQL name. For 
//           example, the values of attributes SQLName, SQLType, defaultTable.
//  *Action: Make sure that all names of SQL schema objects specified in the 
//           XML schema document are valid SQL names. Otherwise, remove 
//           such attributes from the schema and try again.
31092, 00000, "invalid SQL name \"%s\""
//  *Cause:  The XML schema document contains an invalid SQL name. For 
//           example, the values of attributes SQLName, SQLType, defaultTable.
//  *Action: Make sure that all names of SQL schema objects specified in the 
//           XML schema document are valid SQL names. This implies that 
//           the database length and other restrictions on names be satisfied.
31093, 00000, "null or invalid value specified for parameter : %s"
//  *Cause:  The argument value passed for the given parameter is null or 
//           invalid.
//  *Action: Make sure that all the input argument values are valid.
31094, 00000, "incompatible SQL type \"%s\" for attribute or element \"%s\""
//  *Cause:  The SQL type information provided in the XML schema is not 
//           compatible with the XML datatype for the specified attribute 
//           or element.
//  *Action: Make sure that the specified SQL types are compatible with the 
//           declared XML datatypes.
31095, 00000, "cannot generate %s : \"%s.%s\" already exists"
//  *Cause:  The type/table name specified in the XML schema document
//           cannot be generated because it is already being used.
//  *Action: Use different names for types/tables or use the NOGEN mode
//           so that schema compiler does not generate new types/tables.
31096, 00000, "validation failed for schema"
//  *Cause:  The XML Schema could not be validated.
//  *Action: Make sure that the SQLType and other datatype mapping is
//           valid.
31097, 00000, "Hierarchical Index not empty"
// *Cause:   An attempt was made to rebuild the hierarchical index which is
//           not empty.
// *Action:  Delete all rows in the hierarchical index and then
//           rebuild it.
31098, 00000, "Internal event to turn on XDB tracing"
// *Cause:   N/A
// *Action:  Do not document.
31099, 00000, "XDB Security Internal Error"
//  *Cause:  An XDB Security internal error has occurred.
//  *Action: Contact Oracle Support.
//////// 31100 - 31110 reserved for WebDAV compliant resource locks
31100, 00000, "XDB Locking Internal Error"
//  *Cause:  An XDB Locking Internal error has occurred.
//  *Action: Contact Oracle Support.
31101, 00000, "Token \"%s\" not given while locking resource \"%s\""
//  *Cause:  Locking attempted on resource when the pricipal already owns
//           a lock given by the token above.
//  *Action: Reattempt the lock with the token.
31102, 00000, "Already locked in exclusive mode. Cannot add lock."
//  *Cause: The resource is already locked in exclusive mode. Cannot
//          add another lock.
//  *Action: Unlock the existing lock.
31103, 00000, "Resource locked in shared mode. Cannot add exclusive lock"
//  *Cause: The resource is locked in shared mode. Cannot add a shared lock.
//  *Action: Try locking in shared mode or unlocking the existing lock.
31104, 00000, "Cannot find lock with token \"%s\" on \"%s\""
//  *Cause: The lock may have been unlocked or expired. If token was
//          supplied, token may be wrong. 
//  *Action: Verify this lock exists. Supply correct token. 
31105, 00000, "User does not own lock with supplied token \"%s\""
//  *Cause: The lock corresponding to the supplied token is not owned 
//          by the user.
//  *Action: Log on as correct user. Supply correct token.
31106, 00000, "Action failed as the parent container is locked"
//  *Cause: 
//  *Action: Supply the lock token on parent container or unlock it
31107, 00000, "Action failed as resource \"%s\" is locked by name lock"
//  *Cause: Lock requests cause the whole request URI to be locked
//  *Action: Supply lock token or unlock the lock
31108, 00000, "Action failed as resource %s is locked"
//  *Cause: Delete/Rename failed because of an existing lock
//  *Action: Do lockdiscovery to find the lock and delete it.
31109, 00000, "Action failed as parent resource %s is locked"
//  *Cause: Delete/Rename failed because of an lock on parent resource
//  *Action: Do lockdiscovery to find the lock and delete it.
31110, 00000, "Action failed as resource %s is locked by name"
//  *Cause: Delete/Rename failed because one of the children is locked.
//  *Action: Do lockdiscovery to find the lock and delete it.
//
31111, 00000, "table %s cannot be hierarchically enabled"
//  *Cause:  Trigger _xdb_pitrigger already exists
//  *Action: Either the table is already hierarchically enabled or the
//           user trigger _xdb_pitrigger needs to be dropped.
//
// *Action:  Delete all rows in the hierarchical index and then
//           rebuild it.
//
31112, 00000, "fail to %s for %s port using xdb configuration"
//  *Cause:  port number for the defined presentation is not valid
//  *Action: Either the port number is already in use or
//           it is protected. Specify another port number.
//
31113, 00000, "XDB configuration may not be updated with non-schema compliant data"
//  *Cause:  An attempt was made to update the XDB configuration resource with
//           non-schema or non-schema compliant data.
//  *Action: Check the document to make sure it is schema based and schema 
//           compliant.
//
31114, 00000, "XDB configuration has been deleted or is corrupted"
//  *Cause:  The XDB configuration resource has been deleted or corrupted. 
//  *Action: Reinstall XDB, or reinsert a valid configuration document.
//
31115, 00000, "XDB configuration error: %s"
//  *Cause:  An error related to XDB configuration has occurred.
//  *Action: Make sure the configuration resource contains valid data.
//
//
31116, 00000, "Tablespace not specified correctly"
//  *Cause:  XDB cannot be moved to the specified tablespace.
//  *Action: Specify a valid tablespace.
//
//
31117, 00000, "Table \"%s\".\"%s\" is not resource metadata enabled"
//  *Cause:  This table does not have a RESID column for resource metadata
//  *Action: Use disable/enable_hierarchy to enable resource metadata
//
//
31118, 00000, "System schema \"%s\" already registered"
//  *Cause:  An attempt was made to register schema with same URL as a system schema.
//  *Action: Change the schema URL to avoid conflicts with system XML schemas.
//   
31119, 00000, "XDB configuration cannot be udpated on all instances"
//  *Cause:  An attempt was made to update XDB configuration.
//  *Action: Ensure that each instance is correctly configured with
//           its listener.
//   
31120, 00000, "usedPort cannot be invoked in a Pluggable Database"
//  *Cause:  An attempt was made to invoke 'usedPort' in a Pluggable Database.
//  *Action: Connect to the root container and invoke 'usedPort'.
//   
/  Range 31120 - 31150 for res view, link view & path index 
/
31121, 00000, "The %s operator cannot be FALSE"
//  *Cause: The value of the operator that was specified is FALSE.
//  *Action: Specify an operator that evaluates to TRUE.
31122, 00000, "The %s operator has incorrect RHS value"
//  *Cause: The value on the right hand side, that has been specified for the  
//          operator did not evaluate to TRUE.
//  *Action: Specify a value on the right hand side that evaluates to TRUE .
//
/  Range 31125 - 31150 for events
/
31126, 00000, "Internal event for Structure XMLIndex debugging"
// *Document: NO
// *Cause: N/A
// *Action: N/A 
31127, 00000, "RCList cannot contain noncommitted resource configuration"
//  *Cause: A commit was not executed after adding a resource configuration
//          to an RCList by calling DBMS_RESCONFIG.ADDRESCONFIG()
//  *Action: Make sure a commit is executed after calling
//           DBMS_RESCONFIG.ADDRESCONFIG()
31128, 00000, "The event handler calls cannot exceed the depth of %s"
//  *Cause: Tried to fire an event with depth exceeding the maximum. 
//  *Action: Make sure the event that is being fired does not generate 
//           infinitely recursive calls, either to itself or to other 
//           functions or procedures. 
31129, 00000, "Unable to retrieve repository's resource configuration"
//  *Cause: Tried to access a resource configuration referenced by the XDB repository that
//          has been deleted.
//  *Action: Disassociate the resource configuration from the repository.
//
31130, 00000, "Specified resource configuration is not associated with given resource"
//  *Cause: Tried to delete a nonexistant resource configuration 
//          from the configuration list of the target resource.
//  *Action: Make sure that the resource and resource configuration names
//           are specified correctly and the resource configuration belongs
//           to the configuration list of the given resource.
31131, 00000, " contains OID that is not a resource configuration OID" 
//  *Cause: The OID in element was not a resource configuration OID. 
//  *Action: Update the element and resubmit statement.
//
31132, 00000, "Cannot validate handler \"%s\".\"%s\"" 
//  *Cause: Attempted to invoke an invalid event handler. This can be a result
//          of one of the following reasons:
//          1) The handler did not exist.
//          2) The handler could not be compiled successfully.
//  *Action: Verify that the named handler does exist, then recompile and fix 
//          all compilation errors that may subsequently arise.
//
31133, 00000, "Cannot execute handler \"%s\".\"%s\" with invoker rights" 
//  *Cause: Attempted to invoke an event handler with invoker rights when
//          the SET-INVOKER attribute in the resource configuration that 
//          defines the handler was not set to TRUE.
//  *Action: Either redefine the named handler with definer rights or change
//          the SET-INVOKER attribute in the resource configuration that 
//          defines the named handler to TRUE. 
//
31134, 00000, "Cannot delete a configuration that is referenced by other resources" 
//  *Cause: Attempted to delete a resource configuration that was referenced by other
//          resources.
//  *Action: Remove all references to the target resource configuration by
//          executing DELETERESCONFIG or DELETEREPOSITORYRESCONFIG procedures 
//          in DBMS_RESCONFIG package or specify the DELETE_FORCE option in the
//          DELETERESOURCE statement. 
//
31135, 00000, "Resource has already been rendered" 
//  *Cause: One of the following has occurred:
//   1) Attempted to invoke setRender* method after the resource was 
//      rendered through a setRender* method or after data was written 
//      to the output stream.
//   2) Attempted to access the output stream of the resource after a setRender*
//      method was executed on the resource.
//  *Action: Remove the method causing the problem.
//
31136, 00000, "Resource configuration %s is already associated with the resource %s" 
//  *Cause: The resource configuration already exists in the resource configuration list
//          of the resource or the repository
//  *Action: Check if this resource configuration really needs to be added. If so,
//           remove it from resource and repository lists before adding it.
//
31137, 00000, "Index out of range" 
//  *Cause: The position specified was not valid.
//  *Action: Check (0 <= pos < size of the configuration list of the target resource)
//
31138, 00000, "Resource-configuration is being referenced by one or more resources" 
//  *Cause: Tried to add a resource configuration to the repository
//          that was being referenced by existing resources.
//  *Action: Remove the resource configuration from other resources 
//           before trying to add it to the repository again.
//
31139, 00000, "Invalid resource configuration list"
//  *Cause: Attempted to create or update a resource that had duplicate resource
//          configurations or conflicted with the repository configurations. 
//  *Action: Correct the resource configuration list and re-submit statement.
//
31140, 00000, "Illegal operation: %s"
//  *Cause:  Tried to invoke a method when it was not allowed.
//  *Action: Do not execute the indicated method.
//
31141, 00000, "Must specify a valid path value"
//  *Cause:  The path specified for the or
//           element must refer to an existing resource.
//  *Action: Correct problem and resubmit statement.
//
31142, 00000, "Must specify the schema for each listener"
//  *Cause:  The schema element was not specified.
//  *Action: Correct problem and resubmit statement.
//
31143, 00000, "XDB_SET_INVOKER role is required"
//  *Cause:  XDB_SET_INVOKER role was required to set the SET-INVOKER 
//           attribute to TRUE.
//  *Action: Correct problem and resubmit statement.
//
31144, 00000, "Implementation language for %s is not specified"
//  *Cause:  Implementation language for specified listener source was not
//           specified.
//  *Action: Correct problem and resubmit statement.
//
31145, 00000, "Duplicate listener, %s, found in resource configuration"
//  *Cause:  Duplicate listener source was found in resource configuration. 
//  *Action: Remove duplicates and resubmit statement. 
//
31146, 00000, "Invalid listener source %s.%s"
//  *Cause:  The listener source specified in the resource configuration 
//           did not exist or was invalid.
//  *Action: Correct the listener source in the element and 
//           resubmit statement.
//
31147, 00000, "%s is not an ACL resource"
//  *Cause:  The specified resource did not conform to acl.xsd schema.
//  *Action: Specify a valid path for the element and 
//           resubmit statement.
//
31148, 00000, "%s is not a valid resource configuration"
//  *Cause:  The resource specified in the element while 
//           creating a resource configuration or specified as the rcpath in a 
//           call using DBMS_RESCONFIG package did not conform 
//           to XDBResConfig.xsd schema.
//  *Action: Specify a valid path and resubmit statement.
//
31149, 00000, "no such schema: %s"
//  *Cause:  Nonexistent schema defined in the resource configuration.
//  *Action: Specify a valid schema in the resource configuration and resubmit
//           statement.
//
31150, 00000, "uncaught error in handler %s"
//  *Cause:  The named handler raised an exception.
//  *Action: Fix the identified error.
//
//////// 31151 - 31179 reserved for XML Schema Compiler
31151, 00000, "Cyclic definition encountered for %s: \"%s\""
//  *Cause: The schema definition for this type has cycles.
//  *Action: Remove cyclic definition and re-compile schema.
31152, 00000, "Internal event to enable lru XOBs"
//  *Cause: N/A
//  *Action: Do not document
31153, 00000, "Cannot create schema URL with reserved prefix \"http://xmlns.oracle.com/xdb/schemas/\""
//  *Cause: This prefix is reserved for XDB extended schema URLs and cannot
//          be used in a user specified URL.
//  *Action: Modify the prefix to a different one.
31154, 00000, "invalid XML document" 
//  *Cause: The XML document is invalid with respect to its XML Schema.
//  *Action: Fix the errors identified and try again.
31155, 00000, "attribute %s not in XDB namespace"
//  *Cause: The specified attribute should be prefixed with XDB's namespace.
//  *Action: Ensure that all XDB specified attributes are prefixed with 
//           XDB's namespace and try again.
31156, 00000, "Internal event to turn off validation during schema registration"
//  *Cause:  N/A
//  *Action: Do not document
//
31157, 00000, "Invalid Content-Type charset"
//  *Cause:  HTTP Content-Type header had a charset that Oracle does not 
//           understand.
//  *Action: Fix the Content-Type header in the HTTP request.
//
31158, 00000, "schema \"%s\" currently being referenced"
//  *Cause:  The specified schema URL is currently being referenced by
//           the same session. This could happen because of PLSQL
//           XMLType variables still in scope.
//  *Action: Ensure all references to this schema in this session are
//           released and try the operation again.
//
31159, 00000, "XML DB is in an invalid state"
//  *Cause:  XML DB's internal tables are in an invalid state, probably 
//           because the database was not upgraded or the upgrade was
//           not successful
//  *Action: Ensure that the database is upgraded successfully. If the problem
//           persists, contact Oracle Support
//
31160, 00000, "max substitution group size %s exceeded by \"%s\" (%s) for head element \"%s\" (%s)"
//  *Cause:  The maximum limit on nested substitution groups has been exceeded
//           by an element.
//  *Action: Delete specified schema and re-register it after removing the
//           offending substitution element.
//
31161, 00000, "element or attribute \"%s\" cannot be stored out of line"
//  *Cause:  An element or attribute of a simple type has SQLInline=false 
//  *Action: Remove the SQLInline=false qualification for the offending element
//           or attribute
31162, 00000, "element or attribute \"%s\" has no SQLType specified"
//  *Cause:  Schema registration was invoked with GENTYPES=false without 
//           specifying a SQLType for some element or attribute
//  *Action: Specify a SQLType for the offending element or attribute and 
//           register the schema again
31163, 00000, "element or attribute \"%s\" has invalid attribute value \"%s\" (should be \"%s\")"
//  *Cause:  An element or attribute for a complextype derived by restriction
//           has an attribute whose value is different from that in the base 
//           type
//  *Action: Remove the mismatched attribute values from the offending element
//           or attribute           
31164, 0, "cannot load object-relational XML attribute using direct path \n"
// *Cause: The table being loaded contains a xml column with object-relational
//         storage. The xmltype column contains a type with subtypes. This
//         type of attribute cannot be loaded with direct path.
// *Action: Perform the load with conventional path mode.
//
31165, 0, "cannot load object-relational XML attribute using direct path \n"
// *Cause: The table being loaded contains a xml column with object-relational
//         storage. The xmltype column either contains an out-of-line 
//         partitioned table or the table itself is partitioned by one of
//         the attributes of xmltype. This type of table cannot be loaded
//         with direct path.
// *Action: Perform the load with conventional path mode.
//
31166, 0, "internal error code to handle ignorable attributes"
// *Cause: N/A
// *Action: Do not document
//
31167, 00000, "XML nodes over 64K in size cannot be inserted"
// *Cause:   An attempt was made to insert an XML Text Node with a size 
//           greater than 64K.  This is not supported.
// *Action:  Create text nodes under 64K.
31168, 00000, "Node localname and namespace values should be less than 64K"
// *Cause:  An attempt was made to specify an XML Node with localname
//          or namespace value greater than or equal to 64K. This is not 
//    supported.
// *Action: Node localnames and namespace values should be under 64K.
31169, 00000, "Number of children (%s) defined in '%s' exceeds maximum (%s)"
// *Cause:   An attempt was made to define more than the allowed number
//           of children in a complexType of an XMLSchema document.
// *Action:  Modify the XML Schema to move children of complexType into
//           subelements that are not inlined.
31170, 00000, "Cyclic Schema Registration without using FORCE option"
// *Cause:   An attempt was made to register cyclic schemas 
//           with FORCE = false.
// *Action:  Use FORCE = true when registering cyclic schemas. 
31171, 00000, "schema processing error LSX-%s\nwhile %s"
// *Cause:   An LSX routine returned an error.
// *Action:  Look up the LSX error and follow its corrective action.
31172, 00000, "cannot load ADT column or XMLType column using direct path"
// *Cause: The table being loaded contained an ADT column or XMLType column
//         with object-relational or binary storage and supplemental logging
//         was enabled for the table. Direct path load is not supported for
//         such tables when supplemental logging is enabled.
// *Action: Perform the load with conventional path mode.
31173, 00000, "internal event used by XDB schema cache"
// *Document: NO
// *Cause: N/A.
// *Action: Do not document
31176, 00000, "API not supported in this release"
// *Cause: This API was not supported.
// *Action: None
31178, 00000, "Miscellaneous event for XDB"
// *Document: NO
// *Cause: N/A
// *Action: N/A 
31179, 00000, "internal XDB event for ftp test harness"
// *Cause: N/A
// *Action: Do not document
//////// 31180 - 31189 reserved for PL/SQL DOM API
31180, 00000, "DOM Type mismatch in invalid PL/SQL DOM handle"
//  *Cause:  The specified PL/SQL DOM handle is referencing a DOM Node whose 
//           DOM Type that does not match the one available in the session. 
//           This could happen because the pl/sql handle was reused, or the 
//           original document is no longer available.
//  *Action: Ensure that the pl/sql handle for the target node is valid and
//           try the operation again.
31181, 00000, "PL/SQL DOM handle accesses node that is no longer available"
//  *Cause:  The specified pl/sql handle is referencing a node in a 
//           DOM Document that is no longer available.
//  *Action: Ensure that the pl/sql handle for the target node is valid and
//           try the operation again.
31182, 00000, "Too many PL/SQL DOM handles specified"
//  *Cause:  An attempt was made to create a PL/SQL DOM handle that exceeded
//           the maximum allowable number of PL/SQL DOM handles. 
//  *Action: Free PL/SQL DOM handles and try the operation again.
31183, 00000, "Node type %s cannot be converted to desired type"
// *Cause:   The given node's type cannot be converted correctly for 
//           this operation.  For example, a DOM Element cannot be converted
//           to Document Fragment
// *Action:  Pass a valid node type for the conversion.
31185, 00000, "DOM Nodes do not belong to the same DOM Document"
//  *Cause:  The specified PL/SQL DOM Node does not belong to the       
//           parent DOM Document of the referring DOM Node. 
//  *Action: Ensure that both the DOM Nodes are part of the same 
//           DOM Document.
//
31186, 00000, "Document contains too many nodes"
//  *Cause:  Unable to load the document because it has exceeded
//           the maximum allocated number of DOM nodes.
//  *Action: Reduces the size of the document. 
//
31187, 00000, "Cannot Add Node '%s' (type='%s') to Simple Type Node '%s'"
// *Cause:   Trying to add attribute/element nodes to a simple type against 
//           the schema definition. Simple types can have only special 
//           attribute like namespaces, xsi:nil etc.
// *Action:  Use a valid node for the operation.
31188, 00000, "The specified printing option is invalid"
// *Cause:   The printing option specified in the operation is invalid. 
// *Action:  Use a valid printing option for the operation.
31190, 00000, "Resource %s is not a version-controlled resource"
//  *Cause:  Either one of the following is the cause:
//           - Checkout is requested for a resource that isn't under version
//           control". Only version-controlled resource can be checked out.
//           - Checkout is requested for a row of a non-versioned table.
//  *Action: put the resource under version-control before checking out.
31191, 00000, "Resource %s is already checked out"
//  *Cause:  Either one of the following is the cause:
//           - Checkout is requested for a resource that is already checked
//           out to the workspace by the same of different user.
//  *Action: checked in the resource from the workspace before checking out
31192, 00000, "Resource %s has not been checked out"
//  *Cause:  Either one of the following is the cause:
//           - Checkin or uncheckout is requested for a resource that has not
//           been checked out to the workspace by any user in a workspace
//  *Action: checked in the resource from the workspace before checking out
31193, 00000, "This versioning feature isn't supported for resource %s"
//  *Cause:  Either one of the following is the cause:
//           - Container cannot be put under version-controlled.
//  *Action: Avoid using these features.
31194, 00000, "Resource %s is already deleted"
//  *Cause:  Access a version-controlled resource that is already deleted.
//  *Action: Recreate the resource.
//
//  *Action: Remove the cyclic definitions in the type and retry compilation.
31195, 00000, "XML node '%s' (type=%s) does not support this operation"
// *Cause:   The given node's type is not supported for this operation.  For
//           example, trying to add children to an attribute node, or passing
//           in a document node as a child, are unsupported operations.
// *Action:  Use a valid node type for the operation.
31196, 00000, "XML nodes over %s in size cannot be printed"
// *Cause:   An attempt was made to use an XML Text Node with a size 
//           greater than 64K, or an XML Comment Node with a size greater 
//           than 4K. These cannot be printed. For 
//           example, trying to add children to an attribute node, or passing 
//           in a document node as a child, are unsupported operations. 
// *Action:  Use getClobVal() or getStringVal() to print the Document.
31197, 00000, "Error in processing file %s"
// *Cause:   An error occurred while operating on the specifed file. 
//           The possible causes are 
//             the file header is corrupt or 
//             check the next error on stack
// *Action:  Ensure that the specified file is correct.
//           Look at the next error on the stack and take appropriate action.
31198, 00000, "Mismatch in number of bytes transferred due to non-binary mode"
// *Cause:   An error occurred while reading the specifed file. 
//           The most probable cause is that the transfer was initiated in 
//           ASCII mode.
// *Action:  Ensure that the transfer mode is set to BINARY
31199, 00000, "Warning in processing file %s"
// *Cause:   A warning was raised while operating on the specifed file. 
//           However, the current operation was completed successfully.
// *Action:  This is primarily an informational message.
//           Look at the next error on the stack to obtain further 
//           information.
31200, 00000, "Invalid ACL Argument"
// *Cause:   A System Constraining ACL was passed as one of the 
//           arguments to this function.
// *Action:  Please ensure that none of the aclid arguments are for
//           the System Constraining ACL.
//
//
//////////////////////////// DBMS_LDAP & OiD messages
/ Error Numbers 31201 to 31399 are reserved for OiD (Oracle Internet Dir)
/  these will be used for the DBMS_LDAP package as well as other services.
31201, 00000, "DBMS_LDAP: generic error: %s"
// *Cause: There has been an error in the DBMS_LDAP package.
// *Action: Please report the error number and description to Oracle Support.
31202, 00000, "DBMS_LDAP: LDAP client/server error: %s"
// *Cause: There is a problem either on the LDAP server or on the client.
// *Action: Please report this error to the LDAP server administrator or
//           your Database administrator.
31203, 00000, "DBMS_LDAP: PL/SQL - Init Failed."
// *Cause: There has been an error in the DBMS_LDAP Init operation.
// *Action: Please check the host name and port number, or report
//          the error number and description to Oracle Support.
31204, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP Session."
// *Cause: There has been an error in the DBMS_LDAP bind operation.
// *Action: Please check the session handler that you use for binding,
//          or report the error number and description to Oracle Support.
31205, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP Auth method."
// *Cause: There has been an error in the DBMS_LDAP bind operation.
// *Action: Please check the authentication credentials that you
//          use for binding, or report the error number and
//          description to Oracle Support.
31206, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP search scope."
// *Cause: There has been an error in the DBMS_LDAP search operation.
// *Action: Please check the search scope that you use for search,
//          or report the error number and description to Oracle Support.
31207, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP search time value."
// *Cause: There has been an error in the DBMS_LDAP search operation.
// *Action: Please check the search time value that you use for search,
//          or report the error number and description to Oracle Support.
31208, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP Message."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP message that you use for LDAP operation,
//          or report the error number and description to Oracle Support.
31209, 00000, "DBMS_LDAP: PL/SQL - LDAP count_entry error."
// *Cause: There has been an error in the DBMS_LDAP count_entry operation.
// *Action: Please check the LDAP count_operation, or report the error
//          number and description to Oracle Support.
31210, 00000, "DBMS_LDAP: PL/SQL - LDAP get_dn error."
// *Cause: There has been an error in the DBMS_LDAP get_dn operation.
// *Action: Please check the LDAP get_dn, or report the error
//          number and description to Oracle Support.
31211, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP entry dn."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the entry dn that you use for LDAP operation,
//          or report the error number and description to Oracle Support.
31212, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP mod_array."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP mod_array that you use for LDAP operation,
//          or report the error number and description to Oracle Support.
31213, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP mod option."
// *Cause: There has been an error in the DBMS_LDAP populate_mod_array
//         operation.
// *Action: Please check the LDAP mod option that you use for LDAP
//          populate_mod_array operation, or report the error number
//          and description to Oracle Support.
31214, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP mod type."
// *Cause: There has been an error in the DBMS_LDAP populate_mod_array
//         operation.
// *Action: Please check the LDAP mod type that you use for LDAP
//          populate_mod_array operation, or report the error number
//          and description to Oracle Support.
31215, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP mod value."
// *Cause: There has been an error in the DBMS_LDAP populate_mod_array
//         operation.
// *Action: Please check the LDAP mod value that you use for LDAP
//          populate_mod_array operation, or report the error number
//          and description to Oracle Support.
31216, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP rdn."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP rdn value that you use for LDAP
//          operation, or report the error number and description to
//          Oracle Support.
31217, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP newparent."
// *Cause: There has been an error in the DBMS_LDAP rename_s operation.
// *Action: Please check the LDAP newparent value that you use for LDAP
//          rename_s operation, or report the error number and
//          description to Oracle Support.
31218, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP deleteoldrdn."
// *Cause: There has been an error in the DBMS_LDAP rename_s operation.
// *Action: Please check the LDAP deleteoldrdn value that you use for LDAP
//          rename_s operation, or report the error number and
//          description to Oracle Support.
31219, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP notypes."
// *Cause: There has been an error in the DBMS_LDAP explode_dn or
//         explode_rdn operation.
// *Action: Please check the LDAP notypes value that you use for LDAP
//          explode_dn or explode_rdn operation, or report the error
//          number and description to Oracle Support.
31220, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP SSL wallet location."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP sslwrl value that you use for LDAP
//          operation, or report the error number and description to
//          Oracle Support.
31221, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP SSL wallet passwd."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP sslpasswd value that you use for LDAP
//          operation, or report the error number and description to
//          Oracle Support.
31222, 00000, "DBMS_LDAP: PL/SQL - Invalid LDAP SSL authentication mode."
// *Cause: There has been an error in the DBMS_LDAP operation.
// *Action: Please check the LDAP sslauth value that you use for LDAP
//          operation, or report the error number and description to
//          Oracle Support.
31223, 00000, "DBMS_LDAP: cannot open more than %s LDAP server connections"
// *Cause: An attempt was made to open more than the maximum allowed
//         LDAP server connections.
// *Action: Free unused connections.
31224, 00000, "DBMS_LDAP: invalid LDAP session"
//   *Cause: An attempt was made by a PL/SQL module to use an LDAP session 
//           which is not valid and might have already been closed.
//   *Action: Check the LDAP session handle in PL/SQL module involving 
//            DBMS_LDAP.
31225, 00000, "DBMS_LDAP: invalid BER_ELEMENT"
//   *Cause: An attempt was made by a PL/SQL module to use a BER_ELEMENT 
//           which is not valid and might have already been freed.
//   *Action: Check the BER_ELEMENT in PL/SQL module involving DBMS_LDAP.
31226, 00000, "DBMS_LDAP: MOD_ARRAY size limit exceeded"
//   *Cause: An attempt was made by a PL/SQL module to add an 
//           element beyond the MOD_ARRAY size limit.
//   *Action: Increase the MOD_ARRAY size limit in PL/SQL module involving 
//              DBMS_LDAP.
31227, 00000, "DBMS_LDAP: invalid LDAP MESSAGE handle"
//   *Cause: An attempt was made by a PL/SQL module to use an LDAP MESSAGE 
//           handle which is not valid and might have already been freed.
//   *Action: Check the LDAP MESSAGE handle in PL/SQL module involving 
//            DBMS_LDAP.
31228, 00000, "DBMS_LDAP: invalid MOD_ARRAY"
//   *Cause: An attempt was made by a PL/SQL module to use a MOD_ARRAY 
//                which is not valid and might have already been freed.
//   *Action: Check the MOD_ARRAY in PL/SQL module involving DBMS_LDAP.
31229, 00000, "DBMS_LDAP: invalid input parameter"
//   *Cause: An invalid argument has been passed by a PL/SQL module to 
//           a DBMS_LDAP subprogram
//   *Action: Check the input argument to the DBMS_LDAP subprogram in 
//            PL/SQL module involving DBMS_LDAP.
31230, 00000, "DBMS_LDAP: unable to dynamically allocate additional memory"
//   *Cause: An error occured during dynamic memory allocation from 
//             session heap.
//   *Action: Verify that adequate memory resources are available.
31231, 00000, "DBMS_LDAP: invalid PROPERTY_SET"
//   *Cause: An attempt was made by a PL/SQL module to use a PROPERTY_SET 
//                which is not valid and might have already been freed.
//   *Action: Check the PROPERTY_SET in PL/SQL module involving DBMS_LDAP.
31232, 00000, "DBMS_LDAP: invalid MOD_PROPERTY_SET"
//   *Cause: An attempt was made by a PL/SQL module to use a MOD_PROPERTY_SET 
//                which is not valid and might have already been freed.
//   *Action: Check the MOD_PROPERTY_SET in PL/SQL module involving DBMS_LDAP.
31398, 00000, "DBMS_LDAP: Shared servers are not supported."
//  *Cause: The session executing functions from the DBMS_LDAP package
//          is being handled by a shared server in the Database.
// *Action: Use dedicated database sessions to execute functions in the
//          DBMS_LDAP package.
31399, 00000, "Cannot contact LDAP server %s at port %d"
// *Cause: The LDAP server specified could not be contacted. This can
//              happen if the server is down or inaccessible.
//  *Action: Contact the administrator of the LDAP server
//////////////////////////// End of DBMS_LDAP & OiD messages
/ Error Numbers 31401 - 31540 are reserved for CDC (Change Data Capture)
/ These are raised by calling dbms_sys_error.raise_system_error.
/
31401, 00000, "change source %s is not an existing change source"
//  *Cause:  The caller did not use the name of an existing change
//           source. The name given does not match the name of any 
//           existing change source.
//  *Action: Check the spelling of the change source name.  Choose an
//           existing change source.
//
31402, 00000, "unrecognized parameter %s"
//  *Cause:  Unrecognized parameter was detected.
//  *Action: Check for too many parameters in the call.
//
31403, 00000, "change table %s already contains a column %s "
//  *Cause:  Issued ALTER_CHANGE_TABLE with an add operation but a column by 
//           this name already exists in the specified table.
//  *Action: Check the names and call the procedure again.
//           
31404, 00000, "all input parameters are null"
//  *Cause:  All input parameters are null. At least one property must be  
//           altered. 
//  *Action: Call the procedure again, making sure that all the required 
//           parameters have been specified. Ensure that at least one 
//           parameter is not null. Refer to user documentation for 
//           the correct way of calling this procedure.
//
31405, 00000, "cannot make changes while change set %s is advancing" 
//  *Cause:  The change set is currently advancing. Change sources related
//           to an advancing change set cannot be altered.  Change tables
//           related to the advancing change set cannot be created, altered
//           or dropped.  Some or all the parameters of the change set cannot 
//           be altered while the set is advancing.          
//  *Action: Wait until the change set has finished advancing, then reissue
//           the command. If altering the change set, only the advance_enable
//           parameter can be altered during an advance.
//
31406, 00000, "change source %s is referenced by a change set"       
//  *Cause:  The operation cannot complete because this change source is 
//           referenced by one or more change sets.
//  *Action: Drop the change sets first, then re-issue the command.  May have
//           to drop some change tables before the change sets are dropped.
//           
31407, 00000, "end_date must be greater than the begin_date" 
//  *Cause:  The end data of the change set is earlier than the begin date.  
//           The end date must always be later in time than the begin date, 
//           so that the duration between the begin and end dates is a 
//           positive amount of time.
//  *Action: Change the begin date and/or the end date, so that the end date 
//           is later than the begin date.
//           
31408, 00000, "invalid value specified for begin_scn or end_scn"
//  *Cause:  The begin_scn was not greater than zero. The end_scn was less than
//           zero.  The end_scn was less than the begin_scn.
//  *Action: Check the values of both begin_scn and end_scn.  Correct them to 
//           make sure that they form a legal SCN range.  An end_scn value of
//           zero indicates an infinite scn range.
//           
31409, 00000, "one or more values for input parameters are incorrect"
//  *Cause:  One or more of the inputs to the procedure had invalid values. 
//  *Action: Identify the bad parameter(s) and supply correct values to the 
//           procedure.
//           
31410, 00000, "change set %s is not an existing change set"
//  *Cause:  Could not find an existing change set by this name.
//  *Action: Check the spelling of the change set name.  Call the procedure 
//           again, passing the correct change set name.
//           
31411, 00000, "change set %s is referenced by a change table"
//  *Cause:  The operation cannot be performed because the change set contains
//           one or more change tables.
//  *Action: You will need to drop the change table(s) first, then repeat the 
//           operation
//
31412, 00000, "change set %s is disabled and cannot be advanced" 
//  *Cause:  The specified change set is disabled.  The change set needs to be
//           enabled for the operation to succeed.
//  *Action: Determine why the change set is disabled and correct this 
//           condition.  Alter the change set specifying 'y' for 
//           advance_enable then retry the operation.
//
31413, 00000, "change set %s is currently being advanced"
//  *Cause:  An advance operation is in progress for this change set and we 
//           only allow one at a time.
//  *Action: Since the change set is currently being advanced, the best action
//           is to wait for it to finish advancing.  Only one caller 
//           at a time can advance the change set.  Check for the cause of 
//           long running advance operations.  
//
31414, 00000, "error(s) occurred during change table advance" 
//  *Cause:  One or more errors occurred during the advance operation.
//  *Action: Check the log file(s) for a more detailed report of the 
//           underlying errors.
//           
31415, 00000, "change set %s does not exist" 
//  *Cause:  Specified change set does not exist or the user does not have 
//           access to the publications in that change set.  The name 
//           specified did not match the name of any existing change set. 
//           Certain privileges are required to access the publications 
//           within that change set.  
//  *Action: Check the name and call the procedure again, with the name of 
//           an existing change set.  Contact the publisher or database 
//           administrator if user privileges are required to access the 
//           publications in the change set.
//
31416, 00000, "invalid SOURCE_COLMAP value"
//  *Cause:  A source_colmap value of 'y' was specified for an asynchronous
//           change table. 
//  *Action: Specify a source_colmap parameter value of 'n' and call the 
//           procedure again.
//           
31417, 00000, "column list contains control column %s"
//  *Cause:  Reserved column name was specified in a column list or column
//           type parameter. 
//  *Action: Control columns are selected with separate parameters.  If you
//           did not want a control column, then change the name of the 
//           specified column so that it does not conflict with a reserved
//           column name.
//
31418, 00000, "source schema %s does not exist" 
//  *Cause:  Trying to create a synchronous change table and the source schema
//           did not match any existing schema names in the database.
//  *Action: Specify the name of an existing schema.
//
31419, 00000, "source table %s does not exist"
//  *Cause:  When creating a synchronous change table, the underlying source
//           table must exist when the procedure is called. In this case, 
//           the source table did not exist.
//  *Action: Specify the name of an existing table.
//
31420, 00000, "unable to submit the purge job"
//  *Cause:  When creating the first change table, a purge job is submitted to
//           the job queue. Submission of this purge job failed. 
//  *Action: Make sure that job queue processes are enabled and are currently 
//           running.  If this does not solve the problem, contact Oracle.
//
31421, 00000, "change table  does not exist"
//  *Cause:  Specified change table does not exist. 
//  *Action: Recheck the name, and call the procedure again using an existing 
//           change table.
//
31422, 00000, "owner schema %s does not exist"
//  *Cause:  Value specifed for the owner parameter does not contain the name 
//           of an existing schema in the database. 
//  *Action: Recheck the name, and call the procedure again using an existing
//           schema name.
//
31423, 00000, "change table %s does not contain column %s "
//  *Cause:  Issued ALTER_CHANGE_TABLE with a drop operation and the specified
//           column does not exist in the change table.
//  *Action: Recheck the names, and call the procedure again.
//
31424, 00000, "change table has active subscriptions"
//  *Cause:  The change table is subscribed to, so it cannot be dropped.
//  *Action: Do not drop a change table while there are active subscribers.  
//           If this is an emergency, use the FORCE parameter.  This will 
//           forcibly drop the change table out from under all subscribers.
//
31425, 00000, "subscription does not exist"  
//  *Cause:  The subscription either did not exist or did not belong to
//           this user. 
//  *Action: Call the function again with a valid subscription name.
//
31426, 00000, "cannot modify active subscriptions" 
//  *Cause:  The subscription was already activated so that additional 
//           calls to SUBSCRIBE were prohibited. 
//  *Action: Subscribe to all the desired tables and columns before 
//           activating the subscription. Ensure that the correct 
//           subscription name is specifed.  
//
31427, 00000, "publication %s already subscribed"
//  *Cause:  The subscription already contained this publication. 
//  *Action: Check the values of subscription_name and publication_id.
//           Check any other subscribe calls to see if they subscribe
//           to columns that are shared among more than one publication
//           on the same source table. Do not attempt to subscribe to 
//           the same publication more than once in the same subscription.
//           Use the publication_id variant of the SUBSCRIBE call if 
//           needed to specify precise publications.  
//
31428, 00000, "no publication contains all the specified columns"
//  *Cause:  One or more of the specifed columns cannot be found in 
//           a single publication. 
//  *Action: Change the subscription request to select only columns that are 
//           in the same publication.  Consult the USER_PUBLISHED_COLUMNS 
//           view to see current publications.  
//
31429, 00000, "subscription has not been activated"  
//  *Cause:  The called procedure required an activated subscription. 
//  *Action: Check the subscription name and correct if necessary.  Call the
//           ACTIVATE_SUBSCRIPTION procedure for this subscription and 
//           then reissue the original command.
//
31430, 00000, "subscriber view exists"
//  *Cause:  A view that is already in use was specified for the subscriber
//           view. 
//  *Action: Call the SUBSCRIBE procedure using a different subscriber
//           view name.
//
31431, 00000, "all source tables must belong to the synchronous change set" 
//  *Cause:  Not all of the source tables belong to the synchronous change 
//           set.
//  *Action: Check the spelling of the source tables. Make sure that all of 
//           the source tables belong to the synchronous change set.
//
31432, 00000, "invalid source table"
//  *Cause:  Either the schema_name.source_table did not exist or it did 
//           not belong to this subscription. 
//  *Action: Check the spelling of the schema_name and source_table.  Verify
//           that the specifed table exists in the specifed schema and is 
//           subscribed to by the subscription.
//
31433, 00000, "subscriber view does not exist" 
//  *Cause:  The subscription did not contain this subscriber view. 
//  *Action: Recheck the name, and specify the name of an existing 
//           subscriber view. 
//
31434, 00000, "purge is currently running" 
//  *Cause:  Called the PURGE procedure while a purge job was currently 
//           running.  
//  *Action: Wait for purge to complete before reissueing this command.
//
31435, 00000, "an error occurred during the purge operation" 
//  *Cause:  An error occurred during the purge operation
//  *Action: Check the logfile for a more detailed report of the underlying 
//           errors.
//
31436, 00000, "duplicate change source %s"
//  *Cause:  A change source by the specifed name already exists.
//  *Action: Recreate the change source with a unique name.
//
31437, 00000, "duplicate change set %s"
//  *Cause:  A change set by the specified name already exists.
//  *Action: Recreate the change set with a unique name.
//
31438, 00000, "duplicate change table %s"
//  *Cause:  A change table by the specified name already exists.
//  *Action: Recreate the change table with a unique name.
//
31439, 00000, "subscription is already active"
//  *Cause:  The subscription is already active.
//  *Action: Check name and retry.
//
31440, 00000, "change set %s is empty and cannot be advanced"
//  *Cause:  User attempted to advance a change set which does not contain 
//           any change tables.  Without change tables, a change set cannot 
//           be advanced.
//  *Action: Create change tables in the change set, then retry the advance.
//           
31441, 00000, "table is not a change table"
//  *Cause:  User attempted to execute the DROP_CHANGE_TABLE procedure on a 
//           table that is not a CHANGE table. This can also occur when 
//           a CHANGE table object has been orphaned. CHANGE tables can become
//           orphaned after a CREATE_CHANGE_TABLE failure or an incomplete 
//           DROP_CHANGE_TABLE.
//  *Action: Check spelling. If error was due to an incorrect name, then retry
//           the procedure using the correct name.  To drop a table that is
//           not a CHANGE table, or an orphaned CHANGE table, use the 
//           DROP TABLE DDL command instead.
//           
31442, 00000, "operation timed out while acquiring lock on %s"
//  *Cause:  CDC attempted to acquire a lock on the resource, but the operation
//           timed out.
//  *Action: Retry the operation later.
//
31443, 00000, "deadlock detected while acquiring lock on %s"
//  *Cause:  CDC attempted to acquire a lock on the resource, but encountered a
//           deadlock.
//  *Action: Contact Oracle corporation
//
31444, 00000, "parameter error while acquiring lock on %s"
//  *Cause:  CDC attempted to acquire a lock on the resource, but encountered a
//           problem passing parameters to the lock manager.
//  *Action: Contact Oracle corporation
//
31445, 00000, "invalid lock handle while acquiring lock on %s"
//  *Cause:  CDC attempted to acquire a lock on the resource, but encountered a
//           invalid lock handle, which did not correspond to any existing 
//           handle.
//  *Action: Contact Oracle corporation
//           
31446, 00000, "this session does not own the lock handle for %s"
//  *Cause:  CDC attempted to acquire a lock on the resource, does not own the 
//           the lock associated with the lock.  This is an internal
//           error.
//  *Action: Contact Oracle corporation
//
31447, 00000, "cannot create change tables in the SYS schema"
//  *Cause:  Attempted to create a change table in the SYS schema.  
//           This is not allowed. 
//  *Action: Use a different existing schema and retry the command.
//                       
31448, 00000, "invalid value for change_source"
//  *Cause:  The specified value was not a valid name for a Change Source.  
//  *Action: Specify a valid name and retry the command.
//
31449, 00000, "invalid value for change_set_name"
//  *Cause:  The specified value was not a valid name for a Change Set.  
//  *Action: Specify a valid name and retry the command.
//
31450, 00000, "invalid value for change_table_name"
//  *Cause:  The specified value was not a valid name for a Change Table.  
//  *Action: Specify a valid name and retry the command.
//
31451, 00000, "invalid value %s for capture_values, expecting: OLD, NEW, or BOTH"
//  *Cause:  The specified value was not a valid option for a capture_values.  
//  *Action: Specify a valid option and retry the command.
//
31452, 00000, "invalid value %s for parameter, expecting: Y or N"
// *Cause:   The specified value was not Y or N.  
//  *Action: Specify Y or N for the parameter and retry the command.
//
31453, 00000, "invalid value %s for parameter, expecting: Y, N, or NULL"
// *Cause:   The specified value was not Y, N or NULL.  
//  *Action: Specify Y, N or NULL for the parameter and retry the command.
//
31454, 00000, "invalid value %s for operation parameter, expecting: ADD or DROP"
//  *Cause:  The specified value was not ADD or DROP.  
//  *Action: Specify ADD or DROP and retry the command.
//
31455, 00000, "nothing to ALTER"
//  *Cause:  The specified column list is NULL and all optional control 
//           columns are 'N'.  
//  *Action: Specify one or more columns to ALTER.
//
31456, 00000, "error executing a procedure in the DBMS_CDC_UTILITY package"
//  *Cause:  An internal attempt to invoke a procedure within the 
//           DBMS_CDC_UTILITY package failed.   
//  *Action: Check the trace logs for more information.  Ensure that the 
//           package has been installed successfully. Try issuing a DESCRIBE 
//           command from SQL on the package. If it fails, then try 
//           reinstalling the package. If it succeeds then try invoking one 
//           of the procedures from SQL. 
//
31457, 00000, "maximum length of description field exceeded"
//  *Cause:  The maximum number of characters permitted in the description 
//           field was exceeded. 
//  *Action: The maximum length of the description field is 30 characters.  
//           Ensure the length does not exceed this value and retry the 
//           command.
//
31458, 00000, "an internal error occurred"
//  *Cause:  This is an internal error.
//  *Action: Contact Oracle Worldwide Customer Support and report the error.
//
31459, 00000, "system triggers for DBMS_CDC_PUBLISH package are not installed"
//  *Cause:  One or more required system triggers are not installed. These 
//           triggers are required for the proper operation of Change Data 
//           Capture.  Operations on Change tables cannot continue.  
//  *Action: Install or reenable the triggers, or reinstall the package.
//
31460, 00000, "logfile location %s is not an existing directory"
//  *Cause:  The directory specification for logfile location for the change 
//           source, does not correspond with an existing directory, or the 
//           directory was not accessible.
//  *Action: 1. Create the directory if it does not exist. If the directory 
//           does exist, change the file system permissions so the directory 
//           can be accessed. OR 2. perform ALTER CHANGE SOURCE and change 
//           the logfile_location to be an existing directory that contains 
//           the logfiles
//
31461, 00000, "logfile location %s contains no files that match pattern %s"
//  *Cause:  The directory specification for logfile location for the change 
//           source, does not contain any files whose names pattern-match 
//           the logfile_suffix.
//  *Action: 1. Make sure that the logfile location contains logfiles whose 
//           names match the logfile_suffix pattern for the change set.
//           OR 2. perform ALTER CHANGE SOURCE and change the logfile_suffix 
//           such that it matches the names of existing logfiles in the 
//           directory
//
31462, 00000, "internal error while accessing metadata"
//  *Cause:  An unexpected internal error occurred while CDC was accessing 
//           its internal Metadata.
//  *Action: Contact Oracle Corporation
//
31463, 00000, "logfile location %s is an empty directory"
//  *Cause:  The directory specification for logfile location for the change 
//           source, is an empty directory
//  *Action: 1. Make sure it is the correct location of the logfiles.  If it 
//           is, make sure the directory contains logfiles.
//           OR 2. perform ALTER CHANGE SOURCE and change the logfile_location
//           to be an existing directory that contains the logfiles
//
31464, 00000, "target table for the change table no longer exists"
//  *Cause:  User tried to drop a change table but its underlying storage table
//           (that contains the change data) has been dropped. 
//  *Action: Contact Oracle Corporation
//
31465, 00000, "cannot obtain a lock on the subscription"
//  *Cause:  A timeout occurred while trying to place a lock on the 
//           subscription.  Another session had already acquired the
//           lock on the subscription.
//  *Action: Ensure the subscription name is correct and correct it if 
//           necessary. If it is already correct, try the operation again 
//           after the session holding the lock has released it.
//
31466, 00000, "no publications found"
//  *Cause:  Did not find any publications that matched the input parameters
//           or the user does not have the privileges to access the specified
//           publication.
//  *Action: Check the input parameters on the call to SUBSCRIBE.  Validate 
//           that the proposed source table has been published by checking the
//           USER_PUBLICATIONS view for that source table.  Contact the 
//           publisher if user privileges are required to access the 
//           publication.  Retry the command with correct security or
//           publication information.
//
31467, 00000, "no column found in the source table"
//  *Cause:  The OBJECT_ID flag was set to 'Y' on the call to 
//           CREATE_CHANGE_TABLE and change table belongs to the synchronous
//           change set. The corresponding object column was not detected in
//           the source table.
//  *Action: Create the change table with the OBJECT_ID flag set to 'N' or
//           investigate why the object column is not in the source table and
//           add it to the source table.
//
31468, 00000, "cannot process DDL change record"
//  *Cause:  The change set has stop_on_ddl enabled and was trying to process
//           a DDL change record.  
//  *Action: Check the alert log to find out what the DDL record contained.  
//           Make any necessary changes to the change tables.  Call 
//           ALTER_CHANGE_SET with recover_after_error and remove_ddl set to 
//           'Y'.
//
31469, 00000, "cannot enable Change Data Capture for change set %s"
//  *Cause:  The change set has reached the specified limit that was set up
//           by the CREATE_CHANGE_SET command.
//  *Action: Check the alert log to find out whether capture, apply or both
//           reached the limit.  Once apply reaches its limit, the change
//           set is permanently disabled.  Create a new change set with
//           new limits to continue capturing data.
//
31470, 00000, "asynchronous change tables must contain the RSID$ column"
//  *Cause:  If creating an asynchronous change table, the RSID was set to 'N'.
//           If altering an asynchronous change table with an operation 
//           parameter of 'DROP' RSID was set to 'Y'.  
//  *Action: When creating asynchronous change tables, always specify 'Y' 
//           for the RSID parameter. When altering asynchronous change 
//           tables always specify 'N' for RSID.
//
31471, 00000, "invalid OBJECT_ID value"
//  *Cause:  An object_id value of 'y' was specified for an asynchronous 
//           change table.
//  *Action: Specify an object_id parameter value of 'n' and call the 
//           procedure again.
//
31472, 00000, "Importing Change Data Capture version %s.%s is too new"
//  *Cause:  An attempt was made to Import a file that was exported by a
//           newer version of Oracle than the target instance.
//  *Action: If possible, re-export the file using a version of export
//           that matches the import target.  Objects can not be imported
//           into previous versions of Oracle that did not support them.
//           
31473, 00000, "date bound out of range"
//  *Cause:  The upper_bound or lower_bound specified in 
//           extend_window or purge_window API is beyond the range of records 
//           in the change set.
//  *Action: Either select a bound that is within range or do not  
//           select an upper or lower bound at all.
//
31474, 00000, "Invalid change view window"
//  *Cause:  The specified upper_bound or lower_bound is forcing a condition
//           where the change view window will have nothing in it.   
//  *Action: Select a different upper_bound or lower_bound and reissue the 
//           API call that produced the error.  Alternatively, make the 
//           upper_bound or lower_bound parameter NULL and reissue the 
//           API call.
//
31475, 00000, "redo log catalog contains no metadata for the source table"
//  *Cause:  While advancing a change set, an CDC attempted to query the
//           LogMiner dictionary system tables to obtain the columns from 
//           the source table.  The query returned no rows. This may be 
//           because none of the redo logs  contains a catalog, or it 
//           may be an internal error.
//  *Action: First, verify that the source system  contains the source table.
//           execute dbms_logmnr_d.build procedure to populate the redos log
//           with logminer dictionary information.  If this has been done 
//           and the problem persists, then contact Oracle Corporation
//
31476, 00000, "a change table data column is missing from the source table"
//  *Cause:  While advancing a change set, an CDC determined that at least
//           one of the data columns in a change table does not match the
//           name of any of the columns in the source table.  The source 
//           table column listis stored in dictionary table SYSTEM.LOGMNR_OBJ$
//  *Action: Make sure that all of the data columns of the change table 
//           have the same names as the corresponding columns in the source 
//           table, and that all the columns exist in the source table.  
//
31477, 00000, "could not detach LogMiner session during cleanup"
//  *Cause:  Failure during detach from a LogMiner session during advance of
//           an asynchronous change set.  This is an internal error.  This 
//           exception is raised when a previous exception occurred during 
//           the internal protocol with LogMiner, after  which Change Data 
//           Capture attempted to detach the LogMiner session as part of 
//           recovery.  The detach session also failed
//  *Action: Contact Oracle Corporation
//
31478, 00000, "could not detach LogMiner session after change set advance"
//  *Cause:  Failure during detach from a LogMiner session after successful 
//           advance of an asynchronous change set.  This is an internal
//           error.  This exception is raised when an asynchronous change 
//           set has been successfully advanced but CDC was unable to detach 
//           from the LogMiner session
//  *Action: Contact Oracle Corporation
//
31479, 00000, "could not create LogMiner session"
//  *Cause:  Failure during create of  a new LogMiner session while advancing
//           an asynchronous change set.  This is an internal error.  
//  *Action: Contact Oracle Corporation
//
31480, 00000, "staging database and source database cannot be the same"
//  *Cause:  A CDC API call specified a source database name that matched 
//           the staging database on which the CDC API call is being executed.
//  *Action: Make sure that the CDC API call is being executed from the 
//           staging database and that the source database is correctly 
//           specified.  The source database and staging database need to be 
//           different databases.
//
31481, 00000, "change source %s is not a HotLog change source"
//  *Cause:  A change source was specified that was not a HotLog
//           change source, but a HotLog change source was required.
//  *Action: Correct the call to supply a HotLog change source.
//
31482, 00000, "invalid option for non-distributed Hotlog change source"
//  *Cause:  A CDC API call specified enabled_source = 'Y' on a 
//           non-Distributed HotLog change source.
//  *Action: Specify a Distributed HotLog change source.
//
31483, 00000, "cannot have spaces in the parameter %s "
//  *Cause:  The specifed parameter contained at least 1 space character.
//  *Action: Check the value of the specified parameter.  Remove the spaces 
//           and reissue the CDC API call.
//
31484, 00000, "source database version must be at least 9.2.0.6 or greater"
//  *Cause:  The source database is not at version 9.2.0.6 or higher.
//  *Action: Upgrade the source database to 9.2.0.6 or higher. 
//
31485, 00000, "invalid database link"
//  *Cause:  The database link used to connect from a staging database to
//           a source database was invalid. The database link may not exist,
//           may not be accessible to the current user, or may have been
//           redefined since the Distributed HotLog change source was
//           originally created.
//  *Action: Make sure that there is a database link to the
//           source_database for the Distributed HotLog change source.
//           Make sure this database link is accessible to the current
//           user.
//
31486, 00000, "cannot support column %s in this configuration"
//  *Cause:  The specified column cannot be used in a Distributed HotLog
//           configuration when the source database version is 9.2.0.6 or
//           10.1.0.0.
//  *Action: Remove the specified column from the CREATE_CHANGE_TABLE or
//           ALTER_CHANGE_TABLE CDC API call. 
//
31487, 00000, "cannot support begin dates or end dates in this configuration"
//  *Cause:  The specified values cannot be used in a Distributed HotLog
//           configuration.
//  *Action: Remove the specified values from the CREATE_CHANGE_SET
//           CDC API call. 
//
31488, 00000, "cannot support change set %s in this configuration"
//  *Cause:  Change sources with the hot mine option enabled are limited to 
//           1 change set.  The system detected an existing change set so a
//           second one can not be created.
//  *Action: Associate the change set with a different change source.
//
31489, 00000, "invalid DDL_MARKERS value"
//  *Cause:  A DDL_MARKERS value of 'y' was specified for an synchronous 
//           change table.
//  *Action: Specify a DDL_MARKERS parameter value of 'n' and call the 
//           procedure again.
//
31490, 00000, "could not attach to LogMiner session"
//  *Cause:  Failure during attach to a LogMiner session while advancing
//           an asynchronous change set.  This is an internal error.  
//  *Action: Contact Oracle Corporation
//
31491, 00000, "could not add logfile to LogMiner session"
//  *Cause:  Failure during add logfile to a LogMiner session while advancing
//           an asynchronous change set.  This is an internal error.  
//  *Action: Contact Oracle Corporation
//
31492, 00000, "could not set session parameters for LogMiner session"
//  *Cause:  Failure during set parameters for a LogMiner session while 
//           advancing an asynchronous change set.  This is an internal error.
//  *Action: Contact Oracle Corporation
//
31493, 00000, "could not prepare session for LogMiner session"
//  *Cause:  Failure during prepare session for a LogMiner session while 
//           advancing an asynchronous change set.  This is an internal error.
//  *Action: Contact Oracle Corporation
//
31494, 00000, "could not activate a  LogMiner session"
//  *Cause:  Failure during activation of a LogMiner session while advancing
//           an asynchronous change set.  This is an internal error.  
//  *Action: Contact Oracle Corporation
//
31495, 00000, "error in synchronous change table on \"%s\".\"%s\""
//  *Cause:  There was an error originating from this synchronous change 
//           table. One possible cause is that schema redefinition has 
//           occurred on the source table and one or more columns in the 
//           change table are now a different type than corresponding 
//           source columns. Another possible cause is that there is a 
//           problem accessing the synchronous change table.
//  *Action: Check further error messages in stack for more detail about
//           the cause. If there has been schema redefinition, drop and 
//           recreate the synchronous change table.
//
31496, 00000, "must use DBMS_CDC_PUBLISH.DROP_CHANGE_TABLE to drop change tables"
//  *Cause:  An attempt was made to use the SQL command DROP TABLE for change
//           tables, but DROP TABLE is not supported for change tables.  
//  *Action: Use the DBMS_CDC_PUBLISH.DROP_CHANGE_TABLE procedure instead 
//           of the DROP TABLE command.
// 
31497, 00000, "invalid value specified for first_scn"
//  *Cause:  The first_scn was not greater than zero or was less than the
//           previous value of first_scn.
//  *Action: Check the value of first_scn.  Correct it to make sure it is
//           an integer greater than zero and greater than any previous
//           value for this change source.
//
31498, 00000, "description and remove_description cannot both be specified"
//  *Cause:  The description and remove_description parameters were both
//           specified. 
//  *Action: Check the values of description and remove_description.
//           Correct call to only supply one of these values.
//
31499, 00000, "null value specified for required parameter %s"
//  *Cause:  A null value was specified for a parameter that requires
//           an explicit value. 
//  *Action: Correct call to supply a value for this parameter.
//
31500, 00000, "change source %s is not a ManualLog change source"
//  *Cause:  A change source was specified that is not a ManualLog
//           change source, but a ManualLog change source is required.
//  *Action: Correct call to supply a ManualLog change source.
//
31501, 00000, "change source %s is not an AutoLog change source"
//  *Cause:  A change source was specified that was not an AutoLog
//           change source, but an AutoLog change source was required.
//  *Action: Correct call to supply an AutoLog change source.
//
31502, 00000, "invalid number supplied for supplemental_processes"
//  *Cause:  The caller supplied an invalid value for supplemental_processes.
//           The value must be a positive integer.
//  *Action: Correct call to supply a positive integer value for
//           supplemental_processes.
//           
31503, 00000, "invalid date supplied for begin_date or end_date"
//  *Cause:  The caller supplied an invalid value for begin_date or end_date.
//           The value must be a valid date value.
//  *Action: Correct call to supply a valid date value for
//           begin_date and/or end_date.
//           
31504, 00000, "cannot alter or drop predefined change source"
//  *Cause:  The caller attempted to alter or drop one of the predefined
//           change sources HOTLOG_SOURCE or SYNC_SOURCE.
//  *Action: Do not attempt to alter or drop a predefined change source
//           or correct call to supply the name of a user-created change
//           source.
//           
31505, 00000, "cannot alter or drop predefined change set"
//  *Cause:  The caller attempted to alter or drop the predefined
//           change set SYNC_SET.
//  *Action: Do not attempt to alter or drop the predefined change set
//           or correct call to supply the name of a user-created change
//           set.
//           
31506, 00000, "duplicate subscription name %s"
//  *Cause:  A subscription by the specifed name already exists.
//  *Action: Recreate the subscription with a unique name.
//
31507, 00000, "%s parameter value longer than maximum length %s"
//  *Cause:  A value was specified for a parameter that was longer
//           than the maximum permitted length. 
//  *Action: Correct the call to supply a shorter value for this parameter
//           that fits within the maximum length.
//
31508, 00000, "invalid parameter value for synchronous change set"
//  *Cause:  A parameter value was specified that is not supported
//           for synchronous change sets. 
//  *Action: Correct the call to supply only valid parameter values
//           for a synchronous change set. Synchronous change sets 
//           only support the default values for the following parameters:
//           begin_scn, end_scn, begin_date, end_date, stop_on_ddl,
//           supplemental_processes.
//
31509, 00000, "publication does not exist"
//  *Cause:  The specified publication did not exist or the specified
//           subscription subscribed to a publication that no longer exists.
//  *Action: Recheck the publication or subscription specified. Either
//           call the procedure again with an existing publication or
//           create a new subscription that only subscribes to existing
//           publications.
//
31510, 00000, "name uses reserved prefix CDC$"
//  *Cause:  A name was specified that starts CDC$. The name prefix CDC$ 
//           is reserved for use by Oracle Corporation.
//  *Action: Change the name so it does not start with characters CDC$
//
31511, 00000, "name exceeds maximum length of 30 characters"
//  *Cause:  A name was supplied that exceeds the maximum length of
//           30 characters.
//  *Action: Change the name so it does not exceed 30 characters
//
31512, 00000, "name cannot contain double quotation marks"
//  *Cause:  A name containing a double quotation mark was supplied.
//           Subscription names cannot contain the double quotation mark. 
//  *Action: Change the name so it has no double quotation marks
//
31513, 00000, "unsupported column type specified in change table"
//  *Cause:  A source column of an unsupported type was specified for 
//           inclusion in a change table. Columns types of LOB or LONG are 
//           not currently supported for change capture.
//  *Action: Change the column list so that it does not include columns
//           of LOB or LONG types.
//
31514, 00000, "change set %s disabled due to capture error"
//  *Cause:  This change set has encountered a capture error and was disabled. 
//  *Action: Contact the change set's publisher to request that the
//           capture error be resolved. Subscriptions using this change
//           set cannot be activated or have their subscription windows
//           extended or purged until the capture error is resolved.
//
31515, 00000, "CDC change source %s already exists"
//  *Cause:  A Change Data Capture change source intended for import already
//           existed.
//  *Action: Either verify that the existing change source has the desired 
//           characteristics or drop the existing change source and
//           perform the import again.
//
31516, 00000, "CDC change set %s already exists"
//  *Cause:  A Change Data Capture change set intended for import already
//           existed.
//  *Action: Either verify that the existing change set has the desired 
//           characteristics or drop the existing change set and
//           perform the import again.
//
31517, 00000, "CDC change table %s.%s already exists"
//  *Cause:  A Change Data Capture change table intended for import already
//           existed.
//  *Action: Either verify that the existing change table has the desired 
//           characteristics or drop the existing change table and
//           perform the import again.
//
31518, 00000, "change column %s already exists in CDC change table %s.%s"
//  *Cause:  A column in a Change Data Capture change table intended for 
//           import was already present in the change table.
//  *Action: Either verify that the change table contains the desired 
//           columns or drop the change table and perform the import again.
//
31519, 00000, "CDC subscription %s already exists"
//  *Cause:  A Change Data Capture subscription intended for import already
//           existed.
//  *Action: Either verify that the existing subscription has the desired 
//           characteristics or drop the existing subscription and
//           perform the import again.
//
31520, 00000, "CDC subscription %s already subscribes to publication ID %s"
//  *Cause:  A Change Data Capture subscription intended for import already 
//           subscribed to a publication.
//  *Action: Either verify that the existing subscription has the desired 
//           characteristics or drop the existing subscription and
//           perform the import again.
//
31521, 00000, "CDC subscription %s already subscribes to publication ID %s column %s"
//  *Cause:  A Change Data Capture subscription intended for import already 
//           subscribed to a published column.
//  *Action: Either verify that the existing subscription has the desired 
//           characteristics or drop the existing subscription and
//           perform the import again.
//
31522, 00000, "could not find Streams object %s for CDC change set %s"
//  *Cause:  An underlying Streams capture, apply, or queue was missing
//           for an imported Change Data Capture change set.
//  *Action: Drop the imported change set because it is invalid.
//           Retry the import, ensuring that STREAMS_CONFIGURATION=y is
//           specified.
//
31523, 00000, "could not find change source %s for CDC change set %s"
//  *Cause:  The change source was missing for an imported 
//           Change Data Capture change set.
//  *Action: Drop the imported change set because it is invalid. 
//           Verify that the schema containing the missing change source
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing change source.
//
31524, 00000, "could not find change set %s for CDC change table %s.%s"
//  *Cause:  The change set was missing for an imported 
//           Change Data Capture change table.
//  *Action: Drop the imported change table because it is invalid.
//           Verify that the schema containing the missing change set
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing change set.
//
31525, 00000, "could not find column %s in CDC change table %s.%s"
//  *Cause:  A column was missing for an imported Change Data Capture 
//           change table.
//  *Action: It is likely that this table existed before the import
//           operation and import did not overwrite it. Determine whether
//           the imported change table should supercede the original
//           table. If so, drop the original table and retry the import.
//           If not, the change table must have a different name in
//           order to be imported.
//
31526, 00000, "could not find source table %s.%s for CDC change table %s.%s"
//  *Cause:  The source table was missing or was not set up correctly for 
//           an imported Change Data Capture change table. A synchronous
//           change table requires the source table to exist and have the
//           Change Data Capture trigger defined on it. An asynchronous
//           change table requires table rules to be defined for the 
//           source table.
//  *Action: Drop the imported change table because it is invalid.
//           Verify that the schema containing the source table
//           was included in the original export. If needed, perform the
//           export again, including the schema of the source table.
//           If change table is asynchronous, ensure that
//           STREAMS_CONFIGURATION=y is specified for the import.
//
31527, 00000, "could not find source column %s for CDC change table %s.%s"
//  *Cause:  A source column was missing for an imported Change Data Capture 
//           change table.
//  *Action: Drop the imported change table because it is invalid.
//           Verify that the schema containing the source table
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing source table.
//
31528, 00000, "could not find change set %s for CDC subscription %s"
//  *Cause:  The change set was missing for an imported 
//           Change Data Capture subscription.
//  *Action: Drop the imported subscription because it is invalid.
//           Verify that the schema containing the missing change set
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing change set.
//
31529, 00000, "could not find publication for CDC subscriber view %s.%s"
//  *Cause:  A publication was missing for an imported 
//           Change Data Capture subscription.
//  *Action: Drop the imported subscription because it is invalid.
//           Verify that the schema containing the missing publication
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing publication.
//
31530, 00000, "could not find published column %s for CDC subscriber view %s.%s"
//  *Cause:  A published column was missing for an imported 
//           Change Data Capture subscription.
//  *Action: Drop the imported subscription because it is invalid.
//           Verify that the schema containing the missing published column
//           was included in the original export. If needed, perform the
//           export again, including the schema of the missing published
//           column.
//
31531, 00000, "could not find column %s in CDC subscriber view %s.%s"
//  *Cause:  A column was missing in a subscriber view for an imported 
//           Change Data Capture subscription.
//  *Action: It is likely that this view existed before the import
//           operation and import did not overwrite it. Determine whether
//           the imported subscriber view should supercede the original
//           view. If so, drop the original view and retry the import.
//           If not, the subscriber view must have a different name in
//           order to be imported.
//
31532, 00000, "cannot enable change source %s"
//  *Cause:  The change source cannot be enabled when there is no change 
//           table created in any of the change sets associated with
//           the change source.
//  *Action: Add a change table to a change set before enabling the 
//           the change source.
//
31533, 00000, "only one change set (%s) is allowed in change source"
//  *Cause:  A Distributed HotLog change source can contain at most one 
//           change set.
//  *Action: Create a new change source and create the change set in the 
//           new change source.
//
31534, 00000, "Change Data Capture %s publisher %s is missing DBA role"
//  *Cause:  The publisher does not have the DBA role, which is required by
//           the Change Data Capture operation.
//  *Action: Grant the DBA role the Change Data Capture publisher. 
//
/
31535, 00000, "cannot support change source %s in this configuration"
//  *Cause:  Each database can only have one change source with hot mine 
//           option enabled.  The system detected an existing hot mine 
//           change source in the database, therefore, a second hot mine
//           change source cannot be created.
//  *Action: Remove the existing change source and create this new change 
//           source again.
//
/
31536, 00000, "cannot support encrypted column %s in the source table"
//  *Cause:  One of the columns specified in the parameter COLUMN_TYPE_LIST 
//           was an encrypted column in the source table
//  *Action: remove the encrypted column in the parameter COLUMN_TYPE_LIST
/
31537, 00000, "specified purge date is invalid"
//  *Cause:  The purge date specified was an invalid date or was outside 
//           of the range of data currently in the change set.
//  *Action: Do not specify purge date or specify a date that is within
//           the range of data in the change set.

31538, 00000, "change set %s disabled"
//  *Cause:  This change set was disabled. 
//  *Action: Contact the change set's publisher to request that the
//           change set be enabled. Subscriptions using this change
//           set cannot be activated or have their subscription windows
//           extended or purged until the change set is enabled.
/
31539, 00000, "no privilege to create job"
//  *Cause:  This change table could not be created because the create job
//           privilege is needed to submit the default purge job.
//  *Action: Grant the create job privilege and try again
/
31540, 00000, "%s is not a valid identifier"
//  *Cause:  All Change Data Capture (CDC) identifiers must have at most 30
//           characters, and must start with a letter that is followed
//           by any combination of letters, numerals, and the signs 
//           '$', '_', and '#'. Other characters cannot be used in identifiers.
//           The rules for CDC identifiers are the same as for PL/SQL identifiers.
//  *Action: Rename object to conform to CDC naming rules and try again.
/
/   ADD NEW CHANGE DATA CAPTURE ERROR MESSAGES ABOVE THIS LINE and add 
/     additional tests to tqccmesg.sql
/
/ Error Number 31541 - 31599 are reserved for Logminer
/
31541, 00000, "Supplemental logging is not enabled in CDB$ROOT."
// *Cause:  An attempt was made to enable supplemental logging in a 
//          pluggable database when supplemental logging was not already
//          enabled in CDB$ROOT.
// *Action: Enable supplemental logging in CDB$ROOT and then retry
//          the command.
/
/ Error Numbers 31600 - 31699 are reserved for Data Pump
/ These are raised by calling dbms_sys_error.raise_system_error.
/
31600, 00000, "invalid input value %s for parameter %s in function %s"
// *Cause:  A NULL or invalid value was supplied for the parameter.
// *Action: Correct the input value and try the call again.
31601, 00000, "Function %s cannot be called now that fetch has begun."
// *Cause:  The function was called after the first call to FETCH_xxx.
// *Action: Correct the program.
31602, 00000, "parameter %s value \"%s\" in function %s inconsistent with %s"
// *Cause:  The parameter value is inconsistent with another value
//          specified by the program.  It may be inconsistent with the
//          object type associated with the OPEN context, or it may be
//          of the wrong datatype (a boolean rather than a text string
//          or vice versa).
// *Action: Correct the program
31603, 00000, "object \"%s\" of type %s not found in schema \"%s\""
// *Cause:  The specified object was not found in the database.
// *Action: Correct the object specification and try the call again.
31604, 00000, "invalid %s parameter \"%s\" for object type %s in function %s"
// *Cause:  The specified parameter value is not valid for this object type.
// *Action: Correct the parameter and try the call again.
31605, 00000, "the following was returned from %s in routine %s:\nLPX-%d: %s"
// *Cause:  An LPX routine (XML/XSL processing) returned an internal
//          error number to its PL/SQL wrapper routine in facility KUX which
//          provides the implementation for package UTL_XML.
// *Action: Look up the LPX error number and follow its corrective action.
31606, 00000, "XML context %u does not match any previously allocated context"
// *Cause:   A method in package UTL_XML was called with an invalid XML
//           context handle. All handles must have previously been allocated by
//           UTL_XML.XMLINIT.
// *Action:  Always call XMLINIT before any other methods in pkg. UTL_XML.
31607, 00000, "function %s is inconsistent with transform."
// *Cause:  Either (1) FETCH_XML was called when the "DDL" transform
//          was specified, or (2) FETCH_DDL was called when the
//          "DDL" transform was omitted.
// *Action: Correct the program.
31608, 00000, "specified object of type %s not found"
// *Cause:  The specified object was not found in the database.
// *Action: Correct the object specification and try the call again.
31609, 00000, "error loading file \"%s\" from file system directory \"%s\""
// *Cause:  The installation script initmeta.sql failed to load
//          the named file from the file system directory into the database.
// *Action: Examine the directory and see if the file is present
//          and can be read.
31610, 00000, "cannot call this function from a non-master process"
// *Cause:  Called a Data Pump process model function from a process which is
//          not a master process.
// *Action: Create a master process first. Then call the function from the
//          master process. If this error occurs from a Data Pump client (e.g.
//          expdp or impdp), try the operation again. If the error occurs
//          again, contact Oracle Customer Support and report the error.
31611, 00000, "Data Pump multiple processing setting is locked and cannot be changed."
// *Document: NO
// *Cause:   Internal use only.
// *Action:  This error should never be reported except when doing problem
//           analysis under the supervision of Oracle development.
// *Comment: Tried to disable or enable multiple processing after a master
//           process was already created in this session. Exit the session and
//           start a new session. Or, make the call before creating a master
//           process. 
31612, 00000, "Allocation of process descriptor failed."
// *Cause:  During creation of a master process or a worker process, a failure
//          occurred allocating a process descriptor for the process.
// *Action: Try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31613, 00000, "Master process %s failed during startup."
// *Cause:  The master process whose name is listed failed during startup.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31614, 00000, "routine %s received this error from %s: \n%s"
// *Cause:  The call to the specified routine failed and the specific error 
//          text is included in this error message (the last %s string).
// *Action: Correct inputs to the specified routine. 
31615, 00000, "routine %s received this error: \n%s"
// *Cause:  The specified routine failed and the specific error 
//          text is included in this error message (the last %s string).
// *Action: Correct inputs to the specified routine. 
31616, 00000, "unable to write to dump file \"%s\""
// *Cause:  Export was unable to write to the export file, probably because of 
//          a device error. This message is usually followed by a device
//          message from the operating system.
// *Action: Take appropriate action to restore the device.
31617, 00000, "unable to open dump file \"%s\" for write"
// *Cause:  Export was unable to open the export file for writing. This
//          message is usually followed by device messages from the operating
//          system.
// *Action: Take appropriate action to restore the device.
31618, 00000, "FILESIZE is outside valid range of %sKB to %sTB"
// *Cause:  The value specified for the FILESIZE parameter was either too small
//          to hold the header information for the export file, plus any data,
//          or exceeded the allowed maximum size for a dump file.
// *Action: Retry the operation using a value for FILESIZE that falls within
//          the valid range.
31619, 00000, "invalid dump file \"%s\""
// *Cause:  Either the file was not generated by Export or it was corrupted.
// *Action: If the file was indeed generated by Export, report this as an
//          Import bug and submit the export file to Oracle Customer Support.
31620, 00000, "file or device \"%s\" cannot be specified for %s operation"
// *Cause:  There was an inappropriate use of file or device in the current
//          operation.
// *Action: Correct operation or job setup.
31621, 00000, "error creating master process"
// *Cause:  Setup to create a master process failed.
// *Action: Refer to any following error messages for possible actions. Correct
//          the error, if possible, and try the operation again. If the error
//          occurs again, contact Oracle Customer Support and report the error.
31622, 00000, "premature end of file at block %s"
// *Cause:  The end of the dump file input was unexpectedly reached. This is
//          caused either by a corrupted Data Pump export dump file or by an 
//          Oracle internal error. This message should be preceded by another
//          message identifying the name of the dump file in question.
// *Action: Retry the Data Pump import operation. Contact Oracle Support 
//          Services if the problem persists.
31623, 00000, "a job is not attached to this session via the specified handle"
// *Cause:  An attempt to reference a job using a handle which is invalid or
//          no longer valid for the current session.
// *Action: Select a handle corresponding to a valid active job or start a
//          new job.
31624, 00000, "A job cannot be modified after it has started."
// *Cause:  The user attempted to change the definition of a Data Pump job 
//          through filters, transforms or parameters after it had started.
//          These changes can only be made while defining a job.
// *Action: Stop the current job and rerun it with the correct definition.
31625, 00000, "Schema %s is needed to import this object, but is unaccessible"
// *Cause:  An error occurred when attempting to import objects.  The schema
//          specified is needed to import this object, but access to this
//          schema is not available.
// *Action: Refer to any following error messages for possible actions. Correct
//          the error, if possible, and try the operation again. If the error
//          occurs again, contact Oracle Customer Support and report the error.
31626, 00000, "job does not exist"
// *Cause:  An invalid reference to a job which is no longer executing,
//          is not executing on the instance where the operation was
//          attempted, or that does not have a valid Master Table.
//          Refer to any following error messages for clarification.
// *Action: Start a new job, or attach to an existing job that has a
//          valid Master Table.
31627, 00000, "API call succeeded but more information is available"
// *Cause:  The user specified job parameters that yielded informational
//          messages.
// *Action: Call DBMS_DATAPUMP.GET_STATUS to retrieve additional information.
31628, 00000, "error getting worker process exception"
// *Cause:  Attempt to get a worker process exception failed.
// *Action: Refer to any following error messages for possible actions. Correct
//          the error, if possible, and try the operation again. If the error
//          occurs again, contact Oracle Customer Support and report the error.
31629, 00000, "unable to allocate additional memory"
// *Cause:  A dynamic memory allocation failure occurred.
// *Action: Report this problem to a database administrator.
31630, 00000, "a job name is required to attach a job for user %s"
// *Cause:  No job name was supplied for an attach and the user has either
//          no jobs executing or mutiple jobs executing.
// *Action: Provide a job name for attach to use in selecting an executing
//          job, or to use for restarting a stopped job.
31631, 00000, "privileges are required" 
// *Cause:  The necessary privileges are not available for operations such
//          as: restarting a job on behalf of another owner, using a device
//          as a member of the dump file set, or ommiting a directory
//          object associated with any of the various output files.  
//          Refer to any following error messages for additional information.
// *Action: Select a different job to restart, try a different operation, or
//          contact a database administrator to acquire the needed privileges.
31632, 00000, "master table \"%s.%s\" not found, invalid, or inaccessible"
// *Cause:  A Master Table is required but no such table exists, or the
//          content is not consistent with that of a valid Master Table,
//          or the table is not accessible.  Refer to any following error
//          messages for clarification.
// *Action: Make sure a valid Master Table exists, and eliminate any problems
//          indicated by the following error messages.
31633, 00000, "unable to create master table \"%s.%s\""
// *Cause:  Job creation failed because a Master Table and its indexes could
//          not be created, most commonly due to the pre-existance of a table
//          with the same name (job name) in the user schema.  Refer to any
//          following error messages for clarification.
// *Action: Select a different job name, DROP the existing table, or eliminate
//          any problems indicated by the following error messages.
31634, 00000, "job already exists"
// *Cause:  Job creation or restart failed because a job having the selected
//          name is currently executing.  This also generally indicates that
//          a Master Table with that job name exists in the user schema.  Refer
//          to any following error messages for clarification.
// *Action: Select a different job name, or stop the currently executing job
//          and re-try the operation (may require a DROP on the Master Table).
31635, 00000, "unable to establish job resource synchronization"
// *Cause:  A lock used in synchronizing Data Pump resources during job
//          creation and deletion could not be obtained during job creation.
//          This indicates that a process for some other Data Pump job has not
//          released the lock due to an internal error.
// *Action: Eliminate the processes for any failed Data Pump job and try to
//          create the new job again.  If the error continues to occur, contact
//          Oracle Customer Support and report the error.
31636, 00000, "session is already attached to job %s for user %s"
// *Cause:  The session executing the attach is already attached to
//          the specified job.
// *Action: Select a different job or create a new session.
31637, 00000, "cannot create job %s for user %s"
// *Cause:  Unable to create or restart a job. Refer to any following or
//          prior error messages for clarification.
// *Action: Eliminate the problems indicated.
31638, 00000, "cannot attach to job %s for user %s"
// *Cause:  Unable to attach a job to a session. Refer to any following or
//          prior error messages for clarification.
// *Action: Eliminate the problems indicated.
31639, 00000, "unexpected data found"
// *Cause:  The Master Table or Data Pump file contents appear invalid.  The
//          table or file may not have been produced by a Data Pump job, or
//          they may have been corrupted.
// *Action: Select a different job name (Master Table) or replace the
//          table or file with one produced by Data Pump.
31640, 00000, "unable to open dump file \"%s\" for read"
// *Cause:  Import was unable to open the export file for reading. This
//          message is usually followed by device messages from the operating
//          system.
// *Action: Take appropriate action to restore the device.
31641, 00000, "unable to create dump file \"%s\""
// *Cause:  Export was unable to create the specified file with write enabled.
// *Action: Check the file name and file system for the source of the error.
31642, 00000, "the following SQL statement fails: \n%s"
// *Cause:  An internal error was generated from package DBMS_METADATA.
// *Action: Contact Oracle Customer Support and report the error.
31643, 00000, "unable to close dump file \"%s\""
// *Cause:  Export or Import was unable to close the dump file. This message
//          is usually followed by device messages from the operating system.
// *Action: Take appropriate action to restore the device.
31644, 00000, "unable to position to block number %s in dump file \"%s\""
// *Cause:  Export or Import was unable to position its file pointer to a
//          specific block within the dump file. This message is usually
//          followed by device messages from the operating system.
// *Action: Take appropriate action based on the device messages.
31645, 00000, "unable to read from dump file \"%s\""
// *Cause:  Import could not read from the dumpfile, probably because of a
//          device error. This message is usually followed by a device message
//          from the operating system.
// *Action: Take appropriate action to restore the device.
31646, 00000, "no dump files found"
// *Document: NO
// *Cause:  Signal to Master process that no files have been added to the
//          Import job.
// *Action:
31647, 00000, "Worker process received exit message from Master process"
// *Document: NO
// *Cause:  File Manager component raises this exception to calling Worker
//          when it receives an exit message during a file request. Worker
//          can then initiate its orderly shutdown.
// *Action:
31648, 00000, "Timeout before master process %s finished initialization."
// *Cause:  The master process whose name is listed started up but did not
//          finish its initialization within the allowed time limit.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31649, 00000, "Master process %s violated startup protocol."
// *Cause:  The master process whose name is listed started up but then exited
//          before notifying the creating process that it was finished with
//          initialization.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31650, 00000, "timeout waiting for master process response"
// *Cause:  After creating the job infrastructure and sending the initial
//          message to the master process, it failed to respond in the
//          allotted time and most likely aborted during startup.
// *Action: Retry the open or attach request. Contact Oracle Customer Support
//          if the problem persists.
31651, 00000, "communication error with master process - detaching job"
// *Cause:  Unexpected failure trying to communicate with the master
//          process.
// *Action: Attach again and retry operation. Contact Oracle Customer Support
//          if the problem persists.
31652, 00000, "command response message was invalid type - detaching job"
// *Cause:  Something horribly wrong with the command/response protocol.
// *Action: Reattach and retry operation. Contact Oracle Customer Support if
//          the problem persists.
31653, 00000, "unable to determine job operation for privilege check"
// *Cause:  Failure trying to determine the operation of the current job
//          in order to test for appropriate privileges.
// *Action: Retry in case it's an intermittent failure. If it still fails,
//          detach, reattach, and retry the call. Contact Oracle Customer
//          Support if the problem persists.
31654, 00000, "unable to convert file or volume size as specified to a number"
// *Cause:  File or volume size specification has an error the prevents it
//          from being converted into a numeric value. 
// *Action: Fix the call.
31655, 00000, "no data or metadata objects selected for job"
// *Cause:  After the job parameters and filters were applied, 
//          the job specified by the user did not reference any objects.
// *Action: Verify that the mode of the job specified objects to be moved.
//          For command line clients, verify that the INCLUDE, EXCLUDE and 
//          CONTENT parameters were correctly set.  For DBMS_DATAPUMP API 
//          users, verify that the metadata filters, data filters, and
//          parameters that were supplied on the job were correctly set.
31656, 00000, "cannot use TABLESPACE_EXPR filter with transportable mode"
// *Cause:  A TABLESPACE_EXPR metadata filter was supplied for for a 
//          transportable mode import job.  Transportable mode import does
//          not support the subsetting of tablespaces from a dump file set.
// *Action: Remove the filter expression.
31657, 00000, "data filter name can not be defaulted"
// *Cause:  A null data filter name was supplied.
// *Action: Fix the call to specify a data filter name.
31658, 00000, "specifying a schema name requires a table name"
// *Cause:  The caller specified a schema name but neglected to specify
//          a corresponding table name.
// *Action: Fix the call to include a table name.
31659, 00000, "status message was invalid type - detaching job"
// *Cause:  Message from the master process on the status queue
//          had an invalid message type, indicating a failure in the protocol.
// *Action: Reattach and retry the operation. Contact Oracle Customer Support
//          if the problem persists.
31660, 00000, "metadata filter name can not be defaulted"
// *Cause:  A null metadata filter name was supplied.
// *Action: Fix the call to specify a metadata filter name.
31661, 00000, "there are no metadata transform values of type VARCHAR2"
// *Cause:  The specified metadata transform value was an invalid type.
// *Action: Fix the call to specify a valid metadata transform value.
31662, 00000, "metadata transform name can not be defaulted"
// *Cause:  A null metadata transform name was supplied.
// *Action: Fix the call to specify a metadata transform name.
31663, 00000, "metadata remap name can not be defaulted"
// *Cause:  A null metadata remap name was supplied.
// *Action: Fix the call to specify a metadata remap name.
31664, 00000, "unable to construct unique job name when defaulted"
// *Cause:  The job name was defaulted, and the name creation algorithm
//          was unable to find a unique job name for this schema where the
//          table name (for the master table) didn't already exist.
// *Action: Specify a job name to use or delete some of the existing tables
//          causing the name conflicts.
31665, 00000, "mode can only be defaulted for IMPORT and SQL_FILE operations"
// *Cause:  The job mode can not be null except for IMPORT and SQL_FILE
//          operations.
// *Action: Fix the call to specify the job mode.
31666, 00000, "Master process %s had an unhandled exception."
// *Cause:  A Data Pump process model master process had an unhandled exception
//          condition.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31667, 00000, "parameter name can not be defaulted"
// *Cause:  A null was supplied for the parameter name. 
// *Action: Fix the call by providing a valid parameter name.
31668, 00000, "Timeout before worker process %s finished initialization."
// *Cause:  The worker process whose name is listed started up but did not
//          finish its initialization within the allowed time limit.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31669, 00000, "Worker process %s violated startup protocol."
// *Cause:  The worker process whose name is listed started up but then exited
//          before notifying the creating process that it was finished with
//          initialization.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31670, 00000, "Username argument must be specified and non-null."
// *Cause:  Called change user with a NULL username or a null string.
// *Action: Specify a valid username argument. If this error occurs from a
//          Data Pump client (e.g. expdp or impdp), try the operation again.
//          If the error occurs again, contact Oracle Customer Support and
//          report the error.
31671, 00000, "Worker process %s had an unhandled exception."
// *Cause:  A Data Pump process model worker process had an unhandled exception
//          condition.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31672, 00000, "Worker process %s died unexpectedly."
// *Cause:  A Data Pump process model worker process died unexpectedly, so
//          PMON is cleaning up the process.
// *Action: Check your system for problems. Check the trace file for the
//          process, if one was created, for any additional information.
//          Correct the error, if possible, and try the operation again. If
//          the error occurs again, contact Oracle Customer Support and report
//          the error.
31673, 00000, "worker process interrupt for normal exit by master process"
// *Cause:  A worker process was requested to clean up and exit because the
//          master process is doing a normal exit.
// *Action: If this error occurs from a Data Pump client (e.g. expdp or
//          impdp). it means that the master process for the operation exited
//          prematurely. Try the operation again. If the error occurs again,
//          contact Oracle Customer Support and report the error.
31674, 00000, "worker process interrupt for unhandled exception in master process"
// *Cause:  A worker process was requested to clean up and exit because an
//          unhandled exception occurred in the master process.
// *Action: If this error occurs from a Data Pump client (e.g. expdp or
//          impdp), it means that the master process for the operation had an
//          unhandled exception. Check the log file for the operaton and the
//          trace file for the master process for any additional information.
//          Try the operation again. If the error occurs again, contact
//          Oracle Customer Support and report the error.
31675, 00000, "worker process interrupt for unexpected death of master process"
// *Cause:  A worker process was requested to clean up and exit (signaled
//          by PMON, doing cleanup because the master process died
//          unexpectedly).
// *Action: If this error occurs from a Data Pump client (e.g. expdp or
//          impdp), it means that the master process for the operation died
//          unexpectedly. Check the log file for the operaton and the trace
//          file for the master process for any additional information. Try
//          the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31676, 00000, "illegal value for number of workers, %s"
// *Cause:  Called create worker processes with an illegal number of workers
//          specified.
// *Action: Make sure that the number of workers value is greater than 0 and
//          less than the maximum value for the platform (normally 32767). If
//          this error occurs from a Data Pump client (e.g. expdp or impdp)
//          and you specified the parallel parameter, try the operation again
//          with a smaller value for the parallel parameter. If the error
//          occurs again, contact Oracle Customer Support and report the error.
31677, 00000, "Estimate in progress using %s method..."
// *Document: NO
31678, 00000, "Worker Aborting Job"
// *Document: NO
31679, 00000, "Table data object %s cannot be imported or exported using a network link."
// *Cause:  The table object contained at least one type that requires direct
//          path and at least one type that requires insert as select or
//          external tables to import the data.  There is no method available
//          to export or import this data over a database link.
// *Action: Export this table and data to a file and then import the same
//          table and data from that file.
31680, 00000, ". . exported %s %s rows"
// *Document: NO
31681, 00000, ". . imported %s %s rows"
// *Document: NO
31682, 00000, "Master table %s successfully loaded/unloaded"
// *Document: NO
31683, 00000, "Processing object type %s"
// *Document: NO
31684, 00000, "Object type %s already exists"
// *Document: NO
31685, 00000, "Object type %s failed due to insufficient privileges. Failing sql is:\n%s"
// *Document: NO
31686, 00000, "error creating worker processes"
// *Cause:  Setup to create worker processes failed.
// *Action: Refer to any following error messages for possible actions. Correct
//          the error, if possible, and try the operation again. If the error
//          occurs again, contact Oracle Customer Support and report the error.
31687, 00000, "error creating worker process %s with worker id %s"
// *Cause:  Attempt to create the listed worker process failed.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31688, 00000, "Worker process %s failed during startup."
// *Cause:  The worker process whose name is listed failed during startup.
// *Action: Refer to any following error messages for possible actions. Check
//          the trace log for the failed process to see if there is any
//          information about the failure. Correct the error, if possible, and
//          try the operation again. If the error occurs again, contact Oracle
//          Customer Support and report the error.
31689, 00000, "illegal value for base worker id, %s"
// *Cause:  Called create worker processes with an illegal base worker id value
//          specified.
// *Action: Make sure that the base worker id value is greater than 0 and less
//          than the maximum value for the platform (normally 32767). If this
//          error occurs from a Data Pump client (e.g. expdp or impdp), try the
//          operation again. If the error occurs again, contact Oracle Customer
//          Support and report the error.
31690, 00000, "Process name buffer size must be specified and must be greater than 0."
// *Cause:  Called get worker exception and either specified NULL or 0 for the
//          buffer size argument.
// *Action: Be sure to specify a buffer size that is big enough to hold the
//          worker process name (e.g. 30 bytes). If this error occurs from a
//          Data Pump client (e.g. expdp or impdp), try the operation again. If
//          the error occurs again, contact Oracle Customer Support and report
//          the error.
31691, 00000, "The worker received message number %s from the MCP, which is invalid."
// *Cause:  Bad code.
// *Action: Fix mcp code and reissue export/import command.
31692, 00000, "The following SQL statement failed trying to insert a row into the Master table:\n%s"
// *Cause:  Bad code.
// *Action: Fix code and reissue export/import command.
31693, 00000, "Table data object %s failed to load/unload and is being skipped due to error:\n%s"
// *Cause:  Table failed to load or unload due to some error.
// *Action: Check load/unload error, correct problem and retry command.
31694, 00000, "master table %s failed to load/unload"
// *Cause:  Master table failed to load or unload.
// *Action: Check load/unload error, correct problem and retry command.
31695, 00000, "Inconsistent master table on restart. The following SQL statement returned %s identical objects.\n%s"
// *Cause:  Master table on restart has the same object inserted multiple
//          times.
// *Action: Restart not possible, reissue original export/import.
31696, 00000, "unable to export/import %s using client specified %s method"
// *Cause:  Table attributes prevent client specified method for exporting
//          or importing data.
// *Action: Use default 'DATA_ACCESS' parameter value.
31697, 00000, "aborting operation at process order number %s"
// *Cause:  User asked for it.
// *Action: Don't ask for it.
31698, 00000, "Error stack buffer size must be specified and must be greater than 0."
// *Cause:  Called get worker exception and either specified NULL or 0 for the
//          error stack size argument.
// *Action: Be sure to specify am error stack buffer size that is big enough to
//          hold the error stack string (e.g. 4096 bytes). If this error occurs
//          from a Data Pump client (e.g. expdp or impdp), try the operation
//          again. If the error occurs again, contact Oracle Customer Support
//          and report the error.
31699, 00000, "test error for use in testing"
// *Document: NO
// *Cause:   Internal use only
// *Action:  This error should never be reported to a customer.
// *Comment: Test error for use in testing.
/
/ Data Pump errors continue with message 39001
/
//////////////////////////// Future Security Features
/ Error Numbers 31700 to 31900 are reserved for Future Security Features
31700, 00000, "Very long string supplied for AUDIT_SYSLOG_LEVEL parameter"
// *Cause:  Very long string supplied for AUDIT_SYSLOG_LEVEL in init.ora
// *Action: Use a valid facility.level such as "local1.notice" as described 
//          in syslog's manual pages
/
31701, 00000, "Event to enable xmltype table export/import with schema"
// *Cause:  Event to enable xmltype table export/import with schema
// *Action: Disable the event at level 0x100
/
31702, 00000, "This privilege has already been granted."
// *Cause:  The GRANT statement contained a privilege that was already granted to the user.
// *Action: Remove the privilege from the statement and retry.
/
31703, 00000, "cannot grant %s privilege on behalf of other users"
// *Cause: Granting of the privilege was attempted by a user other than SYS or the owner.
// Action: Granting of the privilege can only be done by SYS or the owner.
31704, 00000, "cannot revoke %s privilege on behalf of other users"
// *Cause: Revoking of the privilege was attempted by a user other than SYS or the owner.
// Action: Revoking of the privilege can only be done by SYS or the owner.
31705, 00000, "failed to get library object"
// *Cause: An error occurred while trying to lock the library object.
// Action: Retry the operation later.
31706, 00000, "role %s not granted commonly or does not exist"
// *Cause:  Either the role was not granted commonly to the user, or the role did not exist.
// *Action: Create the role or grant the role commonly to the user and retry
//          the operation.
31707, 00000, "cannot grant %s privilege"
// *Cause:  Granting of privilege INHERIT PRIVILEGES or TRANSLATE SQL was
//          attempted to an invalid user.
// *Action: Grant the privilege to a valid user.
31708, 00000, "role %s not granted commonly or does not exist"
// *Cause:  Either the role was not granted commonly to the user, or the 
//          role did not exist.
// *Action: Create the role or grant the role commonly to the user and 
//          retry the operation.


//////////////////////////// End of Future Security Features


//////////////////////////// Summary Management
/ Error Numbers 31901 to 31950 are reserved for Summary Management
//////////////////////////// End of Summary Management


31901, 00000, "the current operation was cancelled by the user"
// *Cause:  The user requested to cancel current operation
// *Action: No action is necessary
/
31902, 00000, "access advisor debug/testing trace"
// *Document: NO
// *Cause:
// *Action: access advisor debug/testing
/
31903, 00000, "cannot unregister materialized view for Synchronous refresh"
// *Cause: One or more materialized views in the materialized views list 
//         were not registered for Synchronous refresh.
// *Action: Check catalog views for which materialized views are registered.
/
31904, 00000, "Synchronous refresh debug or testing trace"
// *Document: NO
// *Cause:    N/A.
// *Action: Synchronous refresh debug or testing
/
31905, 00000, "Synchronous refresh cannot be used for materialized view \"%s\".\"%s\"\n%s"
// *Cause:  The materialized view did not meet the requirements for Synchronous refresh.
// *Action: The query defining the materialized view  must conform to a star or 
//          snowflake schema, the fact-table and materialized view must both
//          be partitioned, and the partition-key of the materialized view
//          must be functionally-dependent on the partition-key of the fact-table.
//          Run CAN_SYNCREF_TABLE to obtain more diagnostics and troubleshoot
//          the problem further.
/
31906, 00000, "Staging log of \"%s\".\"%s\" contains rows which do not belong to any of the table's partitions."
// *Cause:   Synchronous refresh detected this error during PREPARE_REFRESH.
// Action:   Check the data in the staging log for validity. If the data is
//           valid, create additional partitions,, including a default
//           partition if needed, with the ALTER TABLE command.
/
31907, 00000, "Synchronous refresh of \"%s\".\"%s\" results in rows which do not belong to any of the materialized view's partitions."
// *Cause:   Synchronous refresh detected this error during PREPARE_REFRESH.
// Action:   Check the data in the staging logs of the materialized view's
//           base tables for validity. If the data is valid, create
//           additional partitions, including a default partition if needed,
//           with the ALTER MATERIALIZED VIEW command.
/
31908, 00000, "cannot modify the contents of a table with a staging log"
// *Cause:  An attempt was made to alter the contents of a table with 
//          a staging log.
// *Action: Do not use the following ALTER TABLE statements on a table 
//          with a staging log:
//          * ALTER TABLE EXCHANGE PARTITION
//          * ALTER TABLE DROP PARTITION
//          * ALTER TABLE TRUNCATE PARTITION
//          You must use the REGISTER_PARTITION_OPERATION procedure in 
//          the DBMS_SYNC_REFRESH package to perform these operations.
/
31909, 00000, "base table \"%s\".\"%s\" must have primary key or foreign key when creating a staging log"
// *Cause:  The base table did not have a primary or foreign key defined.
// *Action: Define primary key or foreign key on the base table.
/
31910, 00000, "staging log exists on table \"%s\".\"%s\""
// *Cause:  Staging log was already generated on the base table.
// *Action: Do not attempt to create the staging log.
/
31911, 00000, "MV log on table \"%s\".\"%s\" is not completely consumed."
// *Cause:  Materialized views (MV) referencing the base table were not refreshed.
// *Action: Refresh all the MVs referencing the base table before altering MV log to staging log.
/
31912, 00000, "Cannot alter MV log. MV log was not created on table \"%s\".\"%s\""
// *Cause:  Materialized view (MV) log was not created on the base table.
// *Action: Do not alter the MV log.
/
31913, 00000, "Log is already an MV log on table \"%s\".\"%s\"."
// *Cause:  An attempt was made to alter a staging log to a materialize view (MV) log when it was already an MV log.
// *Action: Do not alter the MV log.
/
31914, 00000, "Staging log was created on table \"%s\".\"%s\""
// *Cause:  Staging log was not created on base table.
// *Action: Do not alter the staging log.
/
31915, 00000, "At least one MV referencing table \"%s\".\"%s\" is REFRESH ON COMMIT."
// *Cause:  At least one materialize view (MV) referencing a table is defined as REFRESH ON COMMIT.
// *Action: Do not create or alter to the staging log.
/
31916, 00000, "Staging log on table \"%s\".\"%s\" cannot be dropped or altered."
// *Cause:  The current group contained a materialize view (MV) referencing the table.
// *Action: Do not drop or alter the staging log.
/
31917, 00000, "illegal operation on a table which has been locked by synchronous refresh"
// *Cause:  DML or DDL was used on a base table that had a staging log or was
//          locked by synchronous refresh. The synchronous refresh operation
//          locks tables related to the refresh group at PREPARE_REFRESH time
//          and unlocks them after the EXECUTE_REFRESH is done to prevent
//          wrong results.
// *Action: Do not perform  DML or DDL on such tables. You cannot modify 
//          tables locked by PREPARE_REFRESH until you have done the 
//          corresponding EXECUTE_REFRESH. 
/
31918, 00000, "The materialized view \"%s\".\"%s\" is registered for synchronous refresh and cannot be altered or dropped."
// *Cause:  The materialized view was registered for synchronous refresh.
// *Action: Do not drop or alter the materialized view.
/
31919, 00000, "Value of DMLTYPE$$ column is not one of ('I','D','UO','UN') in staging log \"%s\".\"%s\"."
// *Cause:  Value of DMLTYPE$$ column was not one of ('I','D','UO','UN').
// *Action: Update the staging log.
/
31920, 00000, "'UO' and 'UN' row counts or key values not matched in the staging log \"%s\".\"%s\"."
// *Cause:  'UO' and 'UN' row counts or key values were not matched in the staging log.
// *Action: Update the staging log.
/
31921, 00000, "Staging log rows to be updated, deleted or inserted were invalid.\n%s"
// *Cause:  The staging log rows to be updated, deleted or inserted were invalid.
// *Action: Change the staging log key in the staging log table.
/
31922, 00000, "Foreign key must contain partition key in table \"%s\".\"%s\"."
// *Cause:  The foreign key did not contain a partition key. If a table does not have a primary key, the foreign key must contain a partition key.
// *Action: Change the foreign key or partition key in the table.
/
31923, 00000, "must have primary key or partition key in table \"%s\".\"%s\""
// *Cause:  The table did not have a primary key or a partition key.
// *Action: Add a primary key or partition key to the table.
/
31924, 00000, "must have either primary key or foreign key in table \"%s\".\"%s\""
// *Cause:  The table did not have a primary key or a foreign key.
// *Action: Add a primary key or foreign key to the table.
/
31925, 00000, "Every row in staging log \"%s\".\"%s\" should contain non-NULL values for all the columns comprising staging log key."
// *Cause:  The staging log contained NULL values in key columns.
// *Action: Fill in non-NULL values to the staging log key columns.
/
31926, 00000, "Type \"%s\" is not supported for synchronous refresh."
// *Cause:  An attempt was made to create a staging log on a base table containing an unsupported data type.
// *Action: Do not attempt synchronous refresh on this base table. Refer to the documentation.
/
31927, 00000, "Staging log does not exist on table \"%s\".\"%s\"."
// *Cause:  An attempt to prepare a staging log that did not exist.
// *Action: Create a staging log on the table first.
/
31928, 00000, "Synchronous refresh error\n%s"
// *Cause:  An error occurred in the synchronous refresh package
//          (DBMS_SYNC_REFRESH). This message will be followed by a second message 
//          giving more details about the nature of the error.
// *Action: See the synchronous refresh documentation
//          for an explanation of the second error message.
/
31929, 00000, "Synchronous refresh debug or testing trace"
// *Document: NO
// *Cause:    N/A.
// *Action: Synchronous refresh debug or testing
/
31930, 00000, "The table is locked by synchronous refresh and the requested operation cannot be performed."
// *Cause:  An attempt was made to perform a PMOP (partition maintenance 
//          operation) or otherwise modify a table that was locked 
//          by synchronous refresh. The synchronous refresh operation
//          locks tables related to the refresh group at PREPARE_REFRESH time
//          and unlocks them after the EXECUTE_REFRESH is done to prevent
//          wrong results.
// *Action: Do not perform PMOPs or modify the table between the execution of 
//          PREPARE_REFRESH and EXECUTE_REFRESH. You can do these operations
//          before PREPARE_REFRESH or after EXECUTE_REFRESH.
/
31931, 00000, "general event for materialized view refresh"
// *Document: NO
// *Cause:    N/A
// *Action:   This internal event is used to enable various actions
//            associated with MV refresh. The event level is interpreted
//            as a bitmap of actions to enable.
//
// *Comment:  Not for general purpose use.
// LEVEL        ACTION
//---------------------------------------------------------------------------
// 0x0001       enable complete refresh that does not use SCN for insert
/
31932, 00000, "cannot allocate memory of %s bytes for query expression"
// *Cause: 
// *Action: 
/
31933, 00000, "error occurred during refresh statistics processing at %s\n%s"
// *Cause:  An error was detected by the refresh statistics subsystem at the
//          position indicated by the first argument in the error message.
//          The secondary error is indicated by the second argument in the
//          error message. This error message is recorded in the trace file and
//          alert log but is not thrown and the refresh operation is not
//          aborted because of this error.
// *Action: Fix the problems indicated in the secondary error.
/
31934, 00000, "error occurred while shrinking the materialized view log at %s\n%s"
// *Cause:  An error was detected while shrinking the materialized view (MV) log during 
//          refresh at the position indicated by the first argument in the error message.
//          The secondary error is indicated by the second argument in the
//          error message. This error message is recorded in the trace file and
//          alert log but is not thrown and the refresh operation is not
//          aborted because of this error.
// *Action: Fix the problems indicated in the secondary error, or disable 
//          MV log shrink during refresh by setting the parameter
//          _mv_refresh_shrink_log to FALSE.


/
/////////////////////////////
/ Error Numbers 31951 to 31999 are reserved for Zonemaps
////////////////////////////
31951, 00000, "invalid SCALE value"
// *Cause:  The value was not within the allowable range.
// *Action: Correct the value and try again.
/
31952, 00000, "invalid second argument"
// *Cause:  The second argument was not an integer, bind variable, or the keyword PARTITION.
// *Action: Specify either the keyword PARTITION or an integer or a bind variable.
/
31953, 00000, "expected MIN or MAX aggregate not found"
// *Cause:  Either a matching pair of MIN and MAX aggregates were missing or
//          an aggregate other than MIN or MAX was found.
// *Action: Specify only matching pairs of MIN and MAX aggregates.
/
31954, 00000, "duplicate MIN or MAX aggregate found"
// *Cause:  The same MIN or MAX aggregate was found more than once.
// *Action: Specify a MIN or MAX aggregate only once.
/
31955, 00000, "incorrect join found"
// *Cause:  A join other than equality left outer join was found.
// *Action: Specify only simple equality left outer joins with the fact table
//          on the left side.
/
31956, 00000, "construct or object '%s' not allowed for zonemap"
// *Cause:  A construct or object not allowed in the zonemap definition was found.
// *Action: Remove the construct or object that is not allowed in the zonemap definition.
/
31957, 00000, "table %s not joined"
// *Cause:  A table without a join to the fact table was found.
// *Action: Specify a left outer join between this table and the fact table.
/
31958, 00000, "fact table %s already has a zonemap %s on it"
// *Cause:  The fact table already had a zonemap.
// *Action: Drop the existing zonemap and repeat the command.
/
31959, 00000, "internal error during the refresh of zonemap \"%s\".\"%s\""
// *Cause:  An internal error was detected by the zonemap refresh subsystem and
//          the refresh operation was aborted.
// *Action: Call Oracle Support Services.
/
31960, 00000, "must use DROP MATERIALIZED ZONEMAP to drop \"%s\".\"%s\""
// *Cause:  An attempt was made to drop a zonemap using a command other than
//          DROP MATERIALIZED ZONEMAP.
// *Action: Use the DROP MATERIALIZED ZONEMAP command.
/
31961, 00000, "must use ALTER MATERIALIZED ZONEMAP to alter \"%s\".\"%s\""
// *Cause:  An attempt was made to alter a zonemap using a command other than
//          ALTER MATERIALIZED ZONEMAP.
// *Action: Use the ALTER MATERIALIZED ZONEMAP command.
/
31962, 00000, "cannot fast refresh zonemap \"%s\".\"%s\""
// *Cause:  The fast refresh operation was not possible because DML had occurred
//          to one or more dimension tables of the zonemap.
// *Action: Specify the force ('?') or complete ('C') option.
/
31963, 00000, "invalid ALTER MATERIALIZED ZONEMAP option"
// *Document: NO
// *Cause:  
// *Action: 
/
31964, 00000, "matching GROUP BY expression required"
// *Cause:  A matching GROUP BY expression was not found in the SELECT list.
// *Action: Specify an expression in the SELECT list that matches with the
//          GROUP BY expression.
/
31965, 00000, "incorrect predicate found"
// *Cause:  A predicate other than simple equality left outer join predicate
//          was found.
// *Action: Specify only simple equality left outer join predicates with the
//          fact table on the left side.
/
31966, 00000, "invalid option specified to alter \"%s\".\"%s\""
// *Cause:  An invalid option was used to alter a zonemap table.
// *Action: Choose a valid option with the ALTER TABLE command.
/
31967, 00000, "built-in aggregate function must be named ZONE_ID$"
// *Cause:  The name for built-in aggregate function was not ZONE_ID$.
// *Action: Specify zone_id$ or "ZONE_ID$" as the name for aggregate built-in
//          function.
/
31968, 00000, "internal error during the staleness tracking of zonemap \"%s\".\"%s\""
// *Cause:  An internal error was detected by the zonemap staleness tracking
//          subsystem and the DML operation on the zonemap fact table was aborted.
// *Action: Call Oracle Support Services.
/
31969, 00000, "ZONEMAP not supported for table stored in tablespace of this storage type"
// *Cause:  An attempt was made to define ZONEMAP on a table stored in
//          non-Oracle Exadata storage.
// *Action: Create this table in a tablespace residing on Oracle Exadata
//          storage and then define a ZONEMAP on it.
/
31970, 00000, "cannot comment on the materialized zonemap"
// *Cause:  An attempt was made to issue a COMMENT ON TABLE statement
//          on a materialized zonemap.
// *Action: Issue a COMMENT ON MATERIALIZED ZONEMAP statement instead.
/
31971, 00000, "maximum number of MIN/MAX columns is 240"
// *Document: NO
// *Cause:  
// *Action: 
/
/
//////////////////////////// KSP
/ Error numbers 31990 to 32030 are reserved for parameter operations
////////////////////////////
31990, 00000, "failed to process parameter \"%s\" from SPFILE"
// *Cause:  An error was encountered while processing parameters from the SPFILE.
// *Action: Update the parameter value using the ALTER SYSTEM SET statement with scope set to SPFILE, and try opening the pluggable database again.
/
31991, 00000, "error occurred processing parameter '%s'"
// *Cause:  The parameter could not be specified for a pluggable database.
// *Action: Remove the parameter and try again.
/
31992, 00000, "error while processing parameter '%s'"
// *Cause:  An error was encountered while processing a comment for the parameter.
// *Action: Update or remove the comment and try again.
/
31993, 00000, "cannot overwrite parameter file '%s'"
// *Cause: The specified parameter file or server parameter file was already in existence.
// *Action: Delete the parameter file or server parameter file and try again.
/
31995, 00000, "error occurred processing parameter '%s'"
// *Cause: The combined length of all the parameter values was more than
//          the allowed maximum.
// *Action: Reduce the parameter value length and retry the command.
/
32000, 00000, "write to SPFILE requested but SPFILE is not modifiable"
// *Cause:  An ALTER SYSTEM command or an internal self-tuning mechanism
//          requested a write to the SPFILE but the SPFILE was not modifiable.
// *Action: Perform an in-memory parameter update only.
/
32001, 00000, "write to SPFILE requested but no SPFILE is in use"
// *Cause:  An ALTER SYSTEM command or an internal self-tuning mechanism
//          requested a write to the SPFILE but no SPFILE was in use.
// *Action: Re-start the instance using an SPFILE, or execute ALTER SYSTEM
//          SET SPFILE.
/
32002, 00000, "cannot create SPFILE already being used by the instance"
// *Cause:  A create spfile command is trying to write to an SPFILE
//          that was used to startup the instance.
// *Action: Specify a different SPFILE name
/
32003, 00000, "error occured processing parameter '%s'"
// *Cause:  An error occured while parsing the parameter file.
// *Action: See additional errors to determine the root cause.
/
32004, 00000, "obsolete or deprecated parameter(s) specified for %s instance"
// *Cause:  Obsolete or deprecated parameters for this instance type 
//          were specified in the SPFILE or the PFILE on the server side.
// *Action: See alert log for a list of parameters that are obsolete
//          or deprecated. Remove them from the SPFILE or the server 
//          side PFILE.
/
32005, 00000, "error while parsing size specification [%s]"
// *Cause:  The value specified for an alter operation on a size parameter
//          is not valid
// *Action: Correct the value and retry the operation
/
32006, 00000, "%s initialization parameter has been deprecated"
// *Cause:  A deprecated parmeter was specified at startup
// *Action: Consult Oracle documentation to find new parameters 
//          to use instead.
/
32007, 00000, "internal"
// *Cause:  A parameter error occured.
// *Action: Call Oracle support.
/
32008, 00000, "error while processing parameter update at instance %s"
// *Cause:  An error occured while processing a parameter on a remote 
//          instance. 
// *Action: See accompanying error messages.
/
32009, 00000, "cannot reset the memory value for instance %s from instance %s"
// *Cause:  Memory resets of local parameters are only allowed.
// *Action: Retry the query for the local instance if needed.
/
32010, 00000, "cannot find entry to delete in SPFILE"
// *Cause:  The SPFILE did not contain the sid.parameter entry.
// *Action: Change the sid and/or the parameter.
/
32011, 00000, "cannot restore SPFILE to location already being used by the instance"
// *Cause:  A restore operation trying to write to an SPFILE
//          that was used to startup the instance.
// *Action: Specify a different SPFILE name
/
32012, 00000, "cannot reset the memory value of initialization parameter"
// *Cause:  An attempt was made to reset the memory value of a parameter that has
//          not been modified.
// *Action: None.
/
32013, 00000, "failure in verifying parameters from the restored SPFILE"
// *Cause:  Failure during processing of parameters from restored SPFILE.
//          It could be that restore image of the SPFILE is corrupted.
// *Action: Further diagnostic information should be in the error stack.
/
32014, 00000, "error processing parameter \"%s\" from the SPFILE restore image"
// *Cause:  Failure during processing of parameters from restored SPFILE.
//          It could be that restore image of the SPFILE is corrupted.
// *Action: Further diagnostic information should be in the error stack.
/
32015, 00000, "unable to restore SPFILE"
// *Cause:  Failure during SPFILE restore. It could be that the restore 
//          destination is not valid.
// *Action: Further diagnostic information should be in the error stack.
/
32016, 00000, "parameter \"%s\" cannot be updated in SPFILE"
// *Cause:  Database is mounted.
// *Action: Unmount the database to update the parameter in the SPFILE
/
32017, 00000, "failure in updating SPFILE"
// *Cause:  A failure occured while updating the SPFILE.
// *Action: See associated errors.
/
32018, 00000, "parameter cannot be modified in memory on another instance"
// *Cause:  Parameter adjustment can take a very long time
// *Action: Modify the parameter individually on each instance using
//          the SID clause of the alter system command
/
32019, 00000, "The parameter SPFILE cannot be updated in the server parameter file."                                                                
// *Cause:  An attempt was made to update the parameter SPFILE in the server 
//          parameter file.
// *Action: Convert the server parameter file into a parameter file and then
//          add the parameters needed and recreate the server parameter file.
/
32020, 00000, "SID='*' clause needed to modify this parameter"
// *Cause:  The parameter did not have the same value on all RAC instances.
// *Action: Retry the command by specifying SID='*'
//
/
32021, 00000, "parameter value longer than %s characters"
// *Cause:  An attempt was made to alter a parameter value but the number of
//          characters in the parameter value was longer than the
//          allowed maximum. For a list parameter, one of the 
//          values in the list was longer than the allowed maximum.
// *Action: Reduce the parameter value length and retry the command.
//          For the DISPATCHERS parameter, use listener aliases to
//          reduce value length.
/
32022, 00000, "parameter %s value longer than %s characters"
// *Cause:  The combined length of all the parameter values was more than
//          the allowed maximum.
// *Action: Reduce the parameter value length and retry the command.
//          For the DISPATCHERS parameter, use listener aliases to
//          reduce value length.
/
32023, 00000, "failure to update the value for the parameter"
// *Document: NO
// *Cause: Internal error used by parameter processing
// *Action: None
/
32024, 00000, "invalid directory specified for audit_file_dest parameter"
// *Cause:  Either the directory does not exist or it is not writable.
// *Action: Retry the command by specifying a valid directory or granting
//          appropriate directory permissions.
/
32025, 00000, "%s.%s is not a table or view object."
// *Cause:  An attempt was made to set the audit table to a non-table object
//          or a non-view object.
// *Action: Specify a valid table or view object for the audit table option.
/
32026, 00000, "%s.%s has fewer columns compared to %s table."
// *Cause:  An attempt was made to set the audit table to a table or view 
//          object that has fewer columns compared to the base audit table.
// *Action: Specify a valid table or view object for the audit table option.
/
32027, 00000, "There is no %s column with the matching type in %s.%s."
// *Cause:  An attempt was made to set the audit table to a table or view 
//          object that does not have a column with the same name and type 
//          as the one in the audit table.
// *Action: Specify a valid table or view object for the audit table option.
/
32028, 00000, "Syslog facility or level not recognized"
// *Cause:  Syslog facility or level did not conform to the standard  
//          facility or level provided in the syslog.h file
// *Action: Specify a facility or level such as "LOCAL1.NOTICE"
//          which conforms to the syslog.h file
/
32029, 00000, "resetting with SCOPE=MEMORY or SCOPE=BOTH is currently not supported"
// *Cause:  An attempt was made to reset an in-memory parameter value
// *Action: Specify SCOPE=SPFILE if applicable, or explicitly set the 
//          parameter to the desired value
/
32030, 00000, "an SPFILE is already associated with the instance"
// *Cause:  An attempt was made to update the parameter SPFILE on an instance
//          that was already associated with an spfile.
// *Action: Restart the instance with a parameter file.
/
/
/ Error Numbers 32031 - 32049 are reserved for WITH clause errors
/
32031, 00000, "illegal reference of a query name in WITH clause"
// *Cause:  forward or recursive reference of a query name in WITH clause is not 
//          allowed.
// *Action: Correct query statement, then retry.
/
32032, 00000, "free temporary object number not available"
// *Cause:  Too many queries using temp table transformation are currently 
//          being run to use up all temporay object numbers.
// *Action: Turn off temporary table transformation or wait, then retry
/
32033, 00000, "unsupported column aliasing"
// *Cause:  column aliasing in WITH clause is not supported yet
// *Action: specify aliasing in defintion subquery and retry
/
32034, 00000, "unsupported use of WITH clause"
// *Cause:  Inproper use of WITH clause because one of the following two reasons:
//          1. nesting of WITH clause within WITH clause not supported yet
//          2. For a set query, WITH clause can't be specified for a branch.
//          3. WITH clause cannot be specified within parenthesis.
// *Action: correct query and retry
/
32035, 00000, "unreferenced query name defined in WITH clause"
// *Cause:  There is at least one WITH clause query name that is not 
//          referenced in any place.
// *Action: remove the unreferenced query name and retry
/
32036, 00000, "unsupported case for inlining of query name in WITH clause"
// *Cause:  There is at least one query name which is inlined more than once 
//          because its definition query is too simple and references another 
//          query name. This is currently unsupported yet.
// *Action: remove such query name and retry
/
32037, 00000, "unsupported use of LEVEL in membership condition"
// *Cause: An attempt was made to use LEVEL in membership condition with 
//         subquery that is not supported.
// *Action: Rewrite query to avoid using LEVEL in membership condition
/
32038, 00000, "number of WITH clause column names does not match number of elements in select list"
// *Cause: A list of column aliases or names was specified for a WITH clause
//         query name but the number of elements in the list did not match the
//         number of elements in the select list of the definition query.
// *Action: Update the column alias list or the select list to ensure they
//          have the same number of elements.
/
32039, 00000, "recursive WITH clause must have column alias list"
// *Cause: A WITH clause query referred to itself (recursive) but did
//         not have a column alias list specified for it.
// *Action: Add a column alias list for the WITH clause query name.
/
32040, 00000, "recursive WITH clause must use a UNION ALL operation"
// *Cause: A WITH clause query referred to itself (recursive) but did
//         not use a UNION ALL operation in its definition query.
// *Action: Rewrite the recursive WITH clause query to use a UNION ALL
//          operation.
/
32041, 00000, "UNION ALL operation in recursive WITH clause must have only two branches"
// *Cause: A WITH clause query referred to itself (recursive) but used
//         a UNION ALL operation with more than two branches, which is not
//         currently supported.
// *Action: Rewrite the recursive WITH clause query to use only two branches in
//          the UNION ALL operation.
/
32042, 00000, "recursive WITH clause must reference itself directly in one of the UNION ALL branches"
// *Cause: A WITH clause query referred to itself (recursive) indirectly,
//         such as through a subquery or view.
// *Action: Rewrite the recursive WITH clause query to refer to itself directly
//          in the FROM clause of one of the UNION ALL branches.
/
32043, 00000, "recursive WITH clause needs an initialization branch"
// *Cause: A WITH clause query referred to itself (recursive) but did not
//         have a branch in a UNION ALL with no references to itself (the
//         initialization branch or anchor member).
// *Action: Rewrite the recursive WITH query to have a branch in a UNION
//          ALL operation with no references to itself.
/
32044, 00000, "cycle detected while executing recursive WITH query"
// *Cause: A recursive WITH clause query produced a cycle and was stopped
//         in order to avoid an infinite loop.
// *Action: Rewrite the recursive WITH query to stop the recursion or use
//          the CYCLE clause.
/
32045, 00000, "maximum level of recursion reached while executing recursive WITH query"
// *Cause: A recursive WITH query reached the maximum level of recursion
//         specified and was stopped.
// *Action: Increase the maximum level of recursion or use the CYCLE clause.
/
32046, 00000, "sequence column name for SEARCH clause must not be part of the column alias list"
// *Cause: The SEARCH clause for a recursive WITH query specified a sequence
//         column that was already listed in the column alias list for the
//         WITH clause query name.
// *Action: Specify a different name for the sequence column for the SEARCH
//          clause or remove the name from the column alias list.
/
32047, 00000, "cycle mark value and non-cycle mark value must be one byte character string values"
// *Cause: The cycle mark or the non-cycle mark values specified in the CYCLE
//         clause of a recursive WITH query were not one byte character
//         string values as required.
// *Action: Specify a one byte character string for the cycle mark and 
//          non-cycle mark values of the CYCLE clause for the recursive WITH
//          query.
/
32048, 00000, "cycle mark column name for CYCLE clause must not be part of the column alias list"
// *Cause: The CYCLE clause for a recursive WITH query specified a cycle mark
//         column that was already listed in the column alias list for the
//         WITH clause query name.
// *Action: Specify a different name for the cycle mark column for the CYCLE
//          clause or remove the name from the column alias list.
/
32049, 00000, "duplicate name found in column alias list for WITH clause"
// *Cause: The column alias list for a WITH clause element contained a name
//         which appeared more than once in the list.
// *Action: Remove the duplicate name from the column alias list.
/
////////////////////////////// FILE MAPPING ERRORS
// Error numbers 32050 to 32099 are reserved for file mapping errors
//////////////////////////////
32050, 00000, "%s operation failed"
// *Cause: A mapping operation failed.
// *Action: Check FMON trace files for errors.
/
32051, 00000, "mapping service not available"
// *Cause: The mapping service was never started or previously failed 
//         to start properly.
// *Action: Set FILE_MAPPING to TRUE if it is not currently set. Otherwise,
//          check FMON trace files for an ORA-32052 error.
/
32052, 00000, "failed to start mapping service"
// *Cause: The mapping service failed to start properly.
// *Action: Check FMON trace files for errors.
/
32053, 00000, "operation not supported"
// *Cause: Mapping libraries do not support operation.
// *Action: Check whether mapping libraries are available and
//          whether operation is supported by the libraries.
/
32054, 00000, "lost communication with FMPUTL process"
// *Cause: Lost communication with mapping utility.
// *Action: Check FMON and FMPUTL trace files for errors.
/
32055, 00000, "invalid file type"
// *Cause: Invalid file type used when mapping files.
// *Action: Specify one of expected file types.
/
32056, 00000, "invalid number of extents"
// *Cause: Invalid number of extents used for map operation.
// *Action: Specify a non-negative number of extents.
/
32057, 00000, "invalid lock mode"
// *Cause: An invalid mode was used for a lock operation.
// *Action: Specify one of expected lock modes.
/
32058, 00000, "operation restricted to SYSDBA users"
// *Cause: Operation requires SYSDBA priviliges.
// *Action: Connect to the database as SYSDBA.
/
32059, 00000, "deadlock detected on mapping structures"
// *Cause: Mapping structures already locked by the same session.
// *Action: Unlock mapping structures before proceeding with current operation.
/
32060, 00000, "channel failure"
// *Cause: Channel failure between foreground and background process.
// *Action: Check foreground trace files for errors.
/

/ Error Numbers 32100 - 32299 are reserved for OCCI errors
/
32100, 00000, "operation invalid on transient object"
// *Cause:  Trying to perform an operation on transient object which is 
//          is valid only on persistent objects
// *Action: Make sure object is persistent
/
32101, 00000, "cannot create OCI Environment"
// *Cause: An OCI Environment could not be created for OCCI
// *Action: Insure that the parameters to the creatEnvironment method are valid
/
32102, 00000, "invalid OCI handle"
// *Cause: An invalid OCI handle is passed to an OCI call.
// *Action: This is an internal OCCI Error.  Please contact customer support.
/
32103, 00000, "error from OCI call"
// *Cause: An error code other than OCI_ERROR is returned from an OCI call.
// *Action: This is an internal OCCI Error.  Please contact customer support.
/
32104, 00000, "cannot retrieve OCI error message"
// *Cause: Error message after an OCI call could not be retrieved.
// *Action:  This is an internal OCCI Error.  Please contact customer support.
/
32106, 00000, "array fetch not allowed without setBuffer on all columns"
// *Cause: The setBuffer method was not called for all column postions and 
//         the next method was called to fetch more than one row.
// *Action: Call the setBuffer method for all column positions if next is to
//          to be called to fetch more than one row.
/
32107, 00000, "internal OCI memory allocation failure"
// *Cause: Memory could not be allocated from an OCI heap.
// *Action: Increase the process memory size.
/
32108, 00000, "max column or parameter size not specified"
// *Cause: The max column or parameter size is not specified.
// *Action: Specify the max size by setMaxColumnSize or setMaxParamSize.
/
32109, 00000, "invalid column or parameter position"
// *Cause: An invalid column or parameter position is specified.
// *Action: Specify a valid column or position number.
/
32110, 00000, "Connection not specified"
// *Cause:  A null connection was passed.
// *Action: Pass a valid, non-null connection.
/
32113,00000, "Null object passed"
// *Cause:  Null object was passed.
// *Action: Pass a non-null object. 
/
32114, 00000, "Cannot perform operation on a null LOB"
// *Cause:  The LOB instance on which the operation was attempted was null.
// *Action: Use a valid, non-null LOB instance to perform this operation.
/
32116, 00000, "Buffer size is less than amount specified"
// *Cause:  The buffer size specified for the LOB read or write operation
//          was less than the amount to be read or written.
// *Action: The buffer size must be equal to or greater than than the amount
//          to be read from or written to the LOB.
/
32117, 00000, "Source LOB is null"
// *Cause:  The source LOB instance on which the operation was attempted
//          was null.
// *Action: Use a valid, non-null source LOB instance for this operation.
/
32118, 00000, "Cannot perform operation on a null FILE"
// *Cause:  The FILE instance on which the operation was attempted was null.
// *Action: Use a valid, non-null FILE instance to perform this operation.
/
32120, 00000, "Buffer size is less than amount specified"
// *Cause:  The buffer size specified for the FILE read or write operation
//          was less than the amount to be read or written.
// *Action: The buffer size must be equal to or greater than than the amount
//          to be read from or written to the FILE.
/
32121, 00000, "Source FILE is null"
// *Cause:  The source FILE instance on which the operation was attempted
//          was null.
// *Action: Use a valid, non-null source FILE instance for this operation.
/
32123, 00000, "Attribute number is out of range"
// *Cause:  The attribute number passed is greater than the total number of 
//          attributes of the described object. 
// *Action: Pass the attribute number within the allowable range. 
/
32124, 00000, "Illegal attribute passed"
// *Cause:  The attribute passed is not applicable for the described object.
// *Action: Pass a valid attribute.
/
32125, 00000, "Attribute type is not appropriate"
// *Cause:  The return type of the get method does not match the type of the 
//          attribute being passed.
// *Action: Call the appropriate get method.
/
32126, 00000, "Cannot perform operations on a null REF"
// *Cause:  The REF instance on which the operation was attempted was null.
// *Action: Use a valid, non-null REF instance to perform this operation.
/
32127, 00000, "REFs do not belong to any connection"
// *Cause:  Neither of the REFs being compared had associated connection
//          information.
// *Action: Atleast one of the REFs being compared must be associated with
//          a valid connection.
/
32128, 00000, "setDataBuffer called after fetch has started"
// *Cause: Fetch from result set has already started and the setDataBuffer
//         call was made.
// *Action: Call the setDataBuffer method before calling the next() method.
/
32129, 00000, "cannot get information about this column"
// *Cause: The setDataBuffer method was called to get information about this
//         column.  Therfore, the current method cannot be called.
// *Action: Use the information from the buffers specifed in the setDataBuffer
//          call.
/
32130, 00000, "invalid offset/index refrenced in Bytes"
// *Cause: The offset/index is out of range of valid data locations in Bytes
//         offsets.
// *Action: Insure that offsets or index is within the range of Bytes object.
/
32131, 00000, "bind data type cannot be changed"
// *Cause: The setXXX method is called again with a different data type than
//         originally specified, or the setXXX method is called for a subsequent
//         iteration without being called before the first iteration.
// *Action: Call the setXXX method with the same data type as done before the first
//          iteration.  If no setXXX method was called for this parameter postion
//          the first iteration, then make sure that a setXXX method  is called before
//          the first addIteration method is called.
/
32132, 00000, "maximum iterations cannot be changed"
// *Cause: The setMaxIterations is called after a setXXX method has been called.
// *Action: Call the setMaxIterations method before calling any setXXX methods.
/
32133, 00000, "Cannot get stream from LOB/FILE"
// *Cause:  An open stream exists on the the LOB/FILE on which
//          the operation was attempted.
// *Action: Close the stream before getting another.
/
32134, 00000, "Cannot assign LOBs"
// *Cause:  An open stream exists on the target LOB.
// *Action: Close the stream on the target LOB before assigning the LOBs.
/
32135, 00000, "Cannot assign FILEs"
// *Cause:  An open stream exists on the target FILE.
// *Action: Close the stream on the target FILE before assigning the FILEs.
/
32136, 00000, "Cannot perform operation on an invalid stream"
// *Cause:  The LOB/FILE from which the stream  was obtained had been
//          nullified or destroyed.
// *Action: Use a valid stream.
/
32139, 00000, "Cannot write to the stream"
// *Cause:  A write was performed after the last buffer was written.
// *Action: Close this stream and get a new stream to perform the write.
/
32140, 00000, "cannot peform this operation on stream"
// *Cause: Either a read is attempted from a stream oi write mode, or
//         a write is attempted on a stream in read mode.
// *Action: Check the status of the stream to find out the valid
//          operations that can be performed.
/
32141, 00000, "get method does not match the type of the parameter"
// *Cause: The getXXX method called on the Statement object does
//         not match the type of the bind parameter.
// *Action: Call the getXXX method that is the same as the type of the
//          parameter.
/
32142, 00000, "maximum number of iterations exceeded"
// *Cause: The addIteration exceeds the maximum number of iterations
//         set by the the setMaxIterations method.
// *Action: Increase the maximum number of allowed iterations.
/
32143, 00000, "Environment not specified"
// *Cause:  A null environment was passed.
// *Action: Pass a valid, non-null environment.
/
32144, 00000, "Cannot perform operation on a null interval"
// *Cause:  The interval involved in this operation is null.
// *Action: Use valid, non-null interval instance to perform this operation.
/
32145, 00000, "Environment not specified"
// *Cause:  The interval on which the operation was attempted was null
//          and no environment was specified.
// *Action: Specify non-null environment or perform the operation
//          on a non null instance.
/
32146, 00000, "Cannot perform operation on a null date"
// *Cause:  The date involved in this operation is null.
// *Action: Use valid, non-null date instance to perform this operation.
/
32147, 00000, "Environment not specified"
// *Cause:  The date on which the operation was attempted was null
//          and no environment was specified.
// *Action: Specify non-null environment or perform the operation
//          on a non null instance.
/
32150, 00000, "Cannot perform operation on a null timestamp"
// *Cause:  The timestamp involved in this operation is null.
// *Action: Use valid, non-null timestamp instance to perform this operation.
/
32151, 00000, "Environment not specified"
// *Cause:  The timestamp on which the operation was attempted was null
//          and no environment was specified.
// *Action: Specify non-null environment or perform the operation
//          on a non null instance.
/
32152, 00000, "Cannot perform operation on a null number"
// *Cause:  The number involved in this operation is null.
// *Action: Use valid, non-null number instance to perform this operation.
/
32153, 00000, "Environment not specified"
// *Cause:  The number on which the operation was attempted was null
//          and no environment was specified.
// *Action: Specify non-null environment or perform the operation
//          on a non null instance.
/
32154, 00000, "Anydata context not specified"
// *Cause:  A null anydata context was passed.
// *Action: Pass a valid, non-null anydata context.
/
32155, 00000, "Anydata not specified"
// *Cause:  A null anydata was passed.
// *Action: Pass a valid, non-null anydata.
/
32156, 00000, "Cannot perform operation on stream"
// *Cause: This operation is not applicable to streams obtained from LOBs.
// *Action:
/
32157, 00000, "Infinity not supported"
// *Cause:
// *Action:
/
32158, 00000, "Invalid type passed"
// *Cause:  An inapplicable type was passed to this call.
// *Action: Pass an applicable type.
/
32159, 00000, "Cannot set prefetch options for a null Type"
// *Cause:  A null Type name was passed.
// *Action: Pass an non-null Type name.
/
32161, 00000, "Cannot perform piecewise fetch"
// *Cause:  Zero amount was passed and buffer size was less than LOB size
// *Action: Specify a larger buffer or  use Stream
/
32162, 00000, "Read/Write SQL method not registered"
// *Cause:  readSQL/writeSQL method was NULL or was not registered
// *Action: Register readSQL/writeSQL by calling put method in Map
/
32163, 00000, "Method called on Invalid Environment type"
// *Cause:  A non-XA call made on an XA Environment or
//          XA call made on non-XA Environment
// *Action: Make sure Environment type is OK
/
32164, 00000, "Method called on Invalid Connection type"
// *Cause:  A non-XA call made on an XA Connection or
//          XA call made on non-XA Connection
// *Action: Make sure Connection type is OK
/
32165, 00000, "Cannot get XA environment"
// *Cause:  Incorrect dbname string was passed or the
//          XA connection has not been opened
// *Action: Pass the correct dbname string or check if
//          the XA connection is open
/
32166, 00000, "Cannot get XA connection"
// *Cause:  Incorrect dbname string was passed or the
//          XA connection has not been opened
// *Action: Pass the correct dbname string or check if
//          the XA connection is open
/
32167, 00000, "No payload set on the Message"
// *Cause:  An attempt was made to enqueue a message without setting a
//          payload on it.
// *Action: Set a payload on the message before calling the send method.
/
32168, 00000, "Cannot perform operation on a null AnyData"
// *Cause:  The AnyData instance on which the operation was attempted 
//          was null.
// *Action: Use a valid, non-null AnyData instance to perform this operation.

32169, 00000, "Execution completed successfully but the number of rows affected is more than the maximum value of the unsigned integer."
// *Cause:  The row count was larger than the maximum value of the 
//          unsigned integer. OCCI clients using 'executeUpdate()' 
//          cannot retrieve row counts larger than the maximum value 
//          of the unsigned integer.
// *Action: Use 'getUb8RowCount()' to get the correct row count. 
//          Use 'execute()' and 'getUb8RowCount()' for large updates.
/
/
/ Error Numbers 32300 - 32399 are reserved for Materialized view errors
/
32300, 00000, "cannot drop a secondary materialized view \"%s\".\"%s\""
// *Cause:  An attempt was made to drop a materialized view of a 
//          nested table column's storage table.
// *Action: Drop the materialized view that contains the nested 
//          table column. This will implicitly drop all secondary 
//          materialized views.

32301, 00000, "object-relational materialized views must be primary key based"
// *Cause:  An attempt was made to create an object-relational
//          materialized view that is not primary key based.
// *Action: Create the materialized view with the PRIMARY KEY keyword.
/
32302, 00000, "object materialized views must be object ID based"
// *Cause:  An attempt was made to create an object materialized view
//          that is not object ID based.
// *Action: Create the materialized view using the OF clause but omit 
//          any ROWID or PRIMARY KEY clauses.
/
32303, 00000, "mviews with user-defined types cannot reference multiple master sites"
// *Cause:  For materialized views with user-defined types, 
//          the definition query cannot reference tables from different 
//          master sites.
// *Action: Do not create materialized views with user-defined types 
//          referencing multiple master sites.
/
32304, 00000, "materialized views with user-defined types cannot use prebuilt table"
// *Cause:  An attempt was made to create a materialized view with the 
//          ON PREBUILT TABLE option.
// *Action: Do not create the materialized view with the 
//          ON PREBUILT TABLE option.
/
32305, 00000, "RepAPI materialized views with user-defined types are not supported"
// *Cause:  An attempt was made to create a RepAPI materialized view
//          with user-defined types.
// *Action: Do not create a RepAPI materialized view with user-defined types.
/
32306, 00000, "updatable materialized views with user-defined types must use SELECT *"
// *Cause:  An attempt was made to create an updatable materialized 
//          view with user-defined types where the definition query 
//          did not use SELECT * at the topmost level.
// *Action: Rewrite the definition query so that SELECT * is used
//          at the topmost level.
/
32307, 00000, "must use FROM ONLY clause when referencing an object table"
// *Cause:  An attempt was made to create a materialized view whose
//          definition query references object tables without the 
//          FROM ONLY clause.
// *Action: Rewrite the definition query to use the FROM ONLY clause
//          for all the object tables in the query.
/
32308, 00000, "object materialized views must use SELECT *"
// *Cause:  An attempt was made to create an object materialized view 
//          where the definition query did not use SELECT * 
//          at the topmost level.
// *Action: Rewrite the definition query so that SELECT * is used 
//          at the topmost level.
/
32309, 00000, "object mview type \"%s\".\"%s\" does not match the master table type"
// *Cause:  An attempt was made to create an object materialized view
//          whose type does not match the type of the master object table.
// *Action: Redefine the type so that it matches the type of the 
//          master object table.
/
32310, 00000, "object materialized views must select from an object table"
// *Cause:  An attempt was made to create an object materialized view whose
//          definition query did not select from an object table.
// *Action: Rewrite the definition query to select from an object table.
/
32311, 00000, "materialized view definition query selects an unsupported user-defined type"
// *Cause:  An attempt was made in the definition query to select an 
//          embedded user-defined type, function returning a
//          user-defined type, or a function whose arguments are 
//          user-defined types.
// *Action: Rewrite the definition query to exclude these unsupported 
//          user-defined types.
/
32312, 00000, "cannot refresh a secondary materialized view \"%s\".\"%s\""
// *Cause:  An attempt was made to refresh a materialized view of a 
//          nested table column's storage table.
// *Action: Refresh the materialized view that contains the nested 
//          table column. This will implicitly refresh all secondary 
//          materialized views.

32313, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after PMOPs"
// *Cause:  A Partition Maintenance Operation (PMOP) has been performed on a 
//          detail table, and the specified materialized view does not support
//          fast refersh after PMOPs.
// *Action: Use REFRESH COMPLETE.  Note: you can determine why your 
//          materialized view does not support fast refresh after PMOPs using
//          the DBMS_MVIEW.EXPLAIN_MVIEW() API.
/
32314, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after deletes/updates"
// *Cause:  One or more deletes or updates has been performed on one or more
//          of the detail tables referenced by the specified materialized
//          view.  This materialized view does not support fast refresh after
//          deletes or updates.
// *Action: Use REFRESH COMPLETE.  Note: you can determine why your 
//          materialized view does not support fast refresh after deletes or 
//          updates using the DBMS_MVIEW.EXPLAIN_MVIEW() API.
/
32315, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after mixed DML and Direct Load"
// *Cause:  One or more of the materialized view logs on the detail tables 
//          referenced by the specified materialized view omits the sequence
//          number option.  Such a log cannot be used to refresh a
//          materialized view after deletes or updates and direct path insert.
// *Action: Use REFRESH COMPLETE.  Note: you can use the 
//          DBMS_MVIEW.EXPLAIN_MVIEW() API to determine which materialized view
//          logs omit the sequence number option.
/
32316, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after mixed DML"
// *Cause:  One or more of the materialized view logs on the detail tables 
//          referenced by the specified materialized view omits the sequence
//          number option.  Such a log cannot be used to refresh a
//          materialized view after deletes or updates have been performed on
//          multiple detail tables.
// *Action: Use REFRESH COMPLETE.  Note: you can use the 
//          DBMS_MVIEW.EXPLAIN_MVIEW() API to determine which materialized view
//          logs omit the sequence number option.
/
32317, 00000, "cannot run a job from a job"
// *Cause:  An attempt was made to execute a job from within another job.
// *Action: Do not submit jobs that run other jobs.
/
32318, 00000, "cannot rename a materialized view"
// *Cause:  Renaming a materialized view or its base table is not supported.
// *Action: Do not rename the base table of a materialized view.
/
32319, 00000, "Cannot use direct loader log to FAST REFRESH materialized view \"%s\".\"%s\""
// *Cause:  The direct loader log might have been dropped 
// *Action: Need to do complete refresh
/
32320, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after container table PMOPs"
// *Cause:  A Partition Maintenance Operation (PMOP) has been performed on the 
//          materialized view, and no materialized view supports
//          fast refersh after container table PMOPs.
// *Action: Use REFRESH COMPLETE.  Note: you can determine why your 
//          materialized view does not support fast refresh after PMOPs using
//          the DBMS_MVIEW.EXPLAIN_MVIEW() API.
/
32321, 00000, "REFRESH FAST of \"%s\".\"%s\" unsupported after detail table TRUNCATE"
// *Cause:  A detail table has been truncated and no materialized view
//          supports fast refersh after a detail table has been truncated 
// *Action: Use REFRESH COMPLETE.  Note: you can determine why your 
//          materialized view does not support fast refresh after TRUNCATE using
//          the DBMS_MVIEW.EXPLAIN_MVIEW() API.
/
32322, 00000, "PCT refresh of \"%s\".\"%s\" not allowed the sequence of DMLs/PMOPs"
// *Cause:  A  table join dependent on another table on which PCT refresh is
//          enabled has changed
// *Action: Use REFRESH FORCE which will pick the best possible refresh method on
//          the materialized view
/
32330, 00000, "invalid operation on online redefinition interim table \"%s\".\"%s\""
// *Cause:  An invalid operation was performed on an interim table which 
//          was being used for online redefinition of a table.
// *Action: Do not perform any unsupported operation on the interim table.
32331, 00000, "type \"%s\".\"%s\" is incompatible with the master site"
// *Cause:  A type used by the materialized view was found to be
//          incompatible with its coressponding type on the master site. 
//          This could be because the type does not exist on the master site 
//          or has been evolved to a different version from that on the 
//          materialzied view site.
// *Action: Make sure that the types used by the materialized view are the
//          same on both the materialized view and master sites.
32332, 00000, "cannot refresh materialized view \"%s\".\"%s\" as type evolution has occured"
// *Cause:  The types used by the materialized view or its master tables have
//          been evolved.
// *Action: Ensure that the types used by the materialized view have been
//          evolved to the same version at both the master and materialized 
//          sites. Then, before  refreshing the materialized view, evolve the 
//          materialized view using ALTER MATERIALIZED VIEW.
/
32333, 00000, "disable table scn update for Materialized view"
// *Cause:  an event is set for disabling table scn update to prevent
//          deadlock situation. (bug 1376209)
// *Action: disable null refresh and/or base table scn update for Materialized view
/
32334, 00000, "cannot create prebuilt materialized view on a table already referenced by a MV"
// *Cause:  the table on which the materialized view is created as prebuilt is already
//          referenced by a materialized view
// *Action: create the materialized view on a different table
/
32335, 00000, "dimension must have at least one level"
// *Cause:  An level-less dimension is not allowed.
// *Action: Do not drop the only level of a dimension. 
/
32336, 00000, "cannot use USING NO INDEX to create materialized view \"%s\".\"%s\""
// *Cause:  The USING NO INDEX option was specified to create an updatable
//          primary key based materialized view, an index-organized 
//          materialized view or an object-id materialized view.
// *Action: Do not use the USING NO INDEX option to create an updatable
//          primary key based materialized view, an index-organized 
//          materialized view or an object-id materialized view.
/
32337, 00000, "cannot alter materialized view or zonemap to refresh on commit with pending changes"
// *Cause:  There were some pending changes in the detail tables.
// *Action: Perform on-demand refresh of the materialized view or zonemap to synchronize
//          the data between the materialized view and the detail tables and then
//          issue the ALTER MATERIALIZED VIEW or ALTER MATERIALIZED ZONEMAP statement.
/
32338, 00000, "on commit refresh grab all the detailed tables"
// *Cause:  an event is set to let on-commit MV refresh to grab all the detailed
//          tables, no matter whether they have modified or not.
// *Action: 
/
32339, 00000, "cannot alter materialized view with the PMOP"
// *Cause:  the materialized view is not allowed to have destructive PMOPS 
//          such as DROP, TRUNCATE and EXCHANGE (sub)partition. The UGA flag
//          of i_am_a_refresh should be set first.
// *Action: execute set_i_am_a_refresh first before alter materialized view
//          with the PMOP.
/
32340, 00000, "cannot tune the materialized view definition"
// *Cause:  Due to constructs in the materialized view definition, it
//          could not be tuned to be fast-refreshable or rewriteable. 
// *Action: Execute DBMS_MVIEW.EXPLAIN_MVIEW to determine the cause.
/
32341, 00000, "The EXPLAIN_MVIEW facility failed to explain the materialized view \"%s\".\"%s\""
// *Cause:  The dependent object(s) of the materialized view may have changed.
//          The materialized view may no longer be valid.
// *Action: Execute ALTER MATERIALIZED VIEW COMPILE and to determine the status of
//          the materialized view in catalog views.
/
32342, 00000, "The EXPLAIN_MVIEW facility failed to explain the materialized view statement"
// *Cause:  An error exists in the materialized view definition. As a result, 
//          the materialized view statement could not be explained.
// *Action: Check the syntax of the statement. If it is a CREATE MATERIALIZED 
//          VIEW statement, then also check the PARAMETERs specified for the 
//          materialized view.
/
32343, 00000, "let MVIEW engine know that it is IMPORT from 9i or earlier"
// *Cause:   N/A.
// *Action:  Set this event only under the supervision of Oracle development.
//           Not for general purpose use.
/
32344, 00000, "cannot create a secondary materialized view with synonym as base table"
// *Cause:   It is not supported to create a secondary materialized view with
//           synonym in the FROM clause.
// *Action:  Removed the synonym(s) from the statement.
/
32345, 00000, "fail to refresh the materialized view %s.%s due to the changed synonym"
// *Cause:   The definition of one or more synonyms in the from clause
//           have changed. The structure of the materialized view has become 
//           invalid.
// *Action:  Restore the synonym(s) or drop the materialized view and recreate
//           it again.
/
32346, 00000, "ON COMMIT materialized view refresh caused changes to the master table/materialized view"
// *Cause:  ON COMMIT refresh of a read-only materialized view changed the master table/materialized view. 
//          A trigger on the refreshed materialized view may be the cause.
// *Action: Do not create triggers on materialized view which update the master table/materialized view.
/
32347, 00000, "NULL capabilities during explain mview "
// *Cause:   The supplied defining query did not generate any capabilities
//           information.
// *Action:  Replace the query since it is not suitable for creating a
//           materialized view.
/
32348, 0000, "revalidate summary object based on user input"
// *Cause: An event was set to specify the number of attempts that the system
//         needed to make in order to validate an invalidated summary object.
//
// *Action: Revalidate an invalidated summary object based on user input.
/
32349, 00000, "cannot reference prebuilt table in definition query for materialized view"
// *Cause:  The prebuilt container table of the materialized view was 
//          referenced in the definition query.
// *Action: Change the definition query to reference a non-prebuilt table.
/
32350, 00000, "ON COMMIT refresh obtain shared lock for all the detailed tables"
// *Cause:  An event was set to let ON COMMIT refresh to obtain a shared lock
//          for all the detailed tables, whether they have been modified or
//          not.
// *Action: No action necessary.
/
32351, 00000, "database link name cannot start with a number while creating materialized view"
// *Cause:  This event was disabled by default. If enabled, the fix for bug
//          6074902 will be disabled and you will be unable to create database
//          links starting with a number when creating a materialized view
//          on remote tables.
// *Action: No action necessary.
/
32352, 00000, "cannot refresh materialized view %s.%s using out-of-place fast refresh"
// *Cause:  Out-of-place fast refresh was either not enabled on this
//          materialized view or not possible after changes to the base table 
//          made since the last refresh.
// *Action: Specify the FORCE or COMPLETE option for out-of-place refresh. 
/
32353, 00000, "cannot refresh materialized view %s.%s using out-of-place PCT refresh"
// *Cause:  Out-of-place Partition Change Tracking (PCT) refresh was either 
//          not enabled on this materialized view or not possible after 
//          changes to the base table made since the last refresh.
// *Action: Specify the FORCE or COMPLETE option for out-of-place refresh.
/
32354, 00000, "cannot refresh materialized view %s.%s using out-of-place complete refresh"
// *Cause:  The materialized view did not qualify for out-of-place complete
//          refresh. 
// *Action: Set the 'out_of_place' parameter to 'false'. 
/
32355, 00000, "out-of-place refresh cannot be used in atomic mode"
// *Cause:  Both 'atomic_refresh' and 'out_of_place' parameters were set to
//          'true' in the refresh interface.
// *Action: Either set the 'atomic_refresh' parameter to 'false' or set 
//          the 'out_of_place' parameter to 'false'.
/
32356, 0000, "refresh_all_mviews() debug or testing"
// *Document: NO
// *Cause: None
// *Action: None
/
32357, 00000, "failed to refresh on-commit materialized view %s.%s"
// *Cause:  There was an error in the refresh path of the on-commit 
//          materialized view.
// *Action: Examine the other messages on the error stack in the alert log and
//          take corrective action.
/
32358, 00000, "cannot perform on-query computation for materialized view %s.%s"
// *Cause:  The ENABLE ON QUERY COMPUTATION option was specified for the
//          materialized view [owner].[mv_name] but on-query computation
//          was not feasible for the change scenario.
// *Action: Alter the materialized view [owner].[mv_name] to disable on-query
//          computation, or refresh the materialized view [owner].[mv_name]
//          before issuing the query again.
/
32359, 00000, "cannot specify the FRESH_MV hint for this query"
// *Cause:  The query included a construct that was not supported by the on-query
//          computation, and so the FRESH_MV hint could not be specified. The on-query
//          computation does not support the CONNECT BY clause, the MATERIALIZE hint, or
//          spreadsheet queries.
// *Action: Remove the FRESH_MV hint from the query.
/
32360, 00000, "cannot ENABLE ON QUERY COMPUTATION for a refresh-on-commit materialized view"
// *Cause:  The ENABLE ON QUERY COMPUTATION option was specified when the
//          ON COMMIT REFRESH option was also specified.
// *Action: Remove the ENABLE ON QUERY COMPUTATION option or specify refresh
//          options other than ON COMMIT REFRESH.
/
32361, 00000, "cannot ENABLE ON QUERY COMPUTATION for the materialized view"
// *Cause:  On-query computation was not feasible for the materialized view
//          being created or altered.
// *Action: Remove the ENABLE ON QUERY COMPUTATION option or make the
//          materialized view capable of on-query computation.
/


32362, 00000, "cannot create system-partitioned materialized view"
// *Cause:  An attempt to create a system-partitioned materialized view failed.
// *Action: Remove the PARTITION BY SYSTEM clause from the materialized
//          view definition query.
/


32363,0000, "prebuilt table managed column cannot be a virtual column"
// *Cause:  An attempt was made to create a materialized view on a
//          prebuilt table that has a managed column which is a virtual column.
// *Action: Do not include the column in the materialized view definition.
/
32364, 00000, "cannot perform on-query computation for this query"
// *Cause:  The FRESH_MV hint was specified for the query but 
//          on-query computation was not feasible due to conflicting
//          system settings or processes.
// *Action: Remove the FRESH_MV hint from the query to run the query 
//          without on-query computation. To run the query with on-query 
//          computation, verify that the system settings are compatible with  
//          this feature.
/


// Error Numbers 32400 - 32479 are reserved for Materialized view log errors
32400, 0000, "cannot use object id columns from materialized view log on \"%s\".\"%s\""
// *Cause:  The materialized view log either does not have object id columns 
//          logged, or the timestamp associated with the object id columns is
//          more recent than the last refresh time.
// *Action: A complete refresh is required before the next fast refresh.
//          Add object id columns to the materialized view log, if required. 
/
32401, 00000, "materialized view log on \"%s\".\"%s\" does not have new values"
// *Cause:  Materialized view log on the indicated table does not have new
//          values information.
// *Action: Add new values to materialized view log using the ALTER
//          MATERIALIZED VIEW LOG command.
/
32403, 00000, "cannot use new values from mv log on \"%s\".\"%s\""
// *Cause:  The materialized view log either does not have new values
//          logged, or the timestamp associated with the new values columns is
//          more recent than the last refresh time.
// *Action: Perform a complete refresh is required before the next fast 
//          refresh.
/
32404, 00000, "snapshot log uses Change Data Capture which is not enabled for this database"
// *Cause:  A snapshot log that utilizes Change Data Capture is being imported
//          to a database where Change Data Capture has not been enabled.
// *Action: First enable Change Data Capture on the database then retry the
//          import.
/
32405, 00000, "cannot alter tablespace for existing materialized view log"
// *Cause:  The tablespace specification for the existing materialized view log
//          cannot be altered or changed.
// *Action: remove the tablespace clause from the statement.
/
32406, 00000, "cannot alter partitioning for existing materialized view log"
// *Cause:  The partitioning specification for the existing materialized view log
//          cannot be altered or changed.
// *Action: remove the partitioning clause from the statement.
/
32407, 00000, "cannot exclude new values when materialized view log includes new values"
// *Cause:  The excluding new values specification for the existing 
//          materialized view log cannot be accepted when including new 
//          values is the current option.
// *Action: change excluding new values clause.
/
32408, 0000, "materialized view log on \"%s\".\"%s\" already has new values"
// *Cause:  The materialized view log on the indicated table already has new values.
// *Action: No action required.
/
32409, 0000, "materialized view log on \"%s\".\"%s\" already excludes new values"
// *Cause:  The materialized view log on the indicated table already excludes new values.
// *Action: No action required.
/
32410, 0000, "internal mv logging event"
// *Document: NO
// *Cause: N/A
// *Action: To be used only under supervision of Oracle development.
// *Comment: Not for general purpose use.
/
32411, 0000, "materialized view definition query exceeds the maximum length"
// *Cause: The materialized view definition query exceeds the 64K limit.
// *Action: Change the materialized view definition query so that it does not exceed 
//          the maximum length of 64K.
/
32412, 00000, "encrypted column \"%s\" not allowed in the materialized view log"
// *Cause:  The materialized view log being created/altered is to capture an encrypted
//          column of the base table.
// *Action: Do not capture the encrypted column.
/
32413, 00000, "allow concurrent refresh of materialized view and truncate"
// *Cause:  This event is set to allow concurrent refresh of materialized view 
//          and truncate of base table; it prevents a deadlock situation. 
//          (bug 6710019)
// *Action: Set this event to allow concurrent refresh of materialized view 
//          and truncate of the base table.
/
32414, 00000, "materialized view logs are not compatible with each other for fast refresh"
// *Cause:  An attempt was made to create a fast refreshable materialized view 
//          on tables which have commit SCN-based materialized view logs and 
//          tables which have timestamp-based materialized view logs.
// *Action: Use COMPLETE REFRESH or change underlying materailized view logs
//          to make them compatible with each other for fast refresh.
/
32415, 0000, "fast refreshable remote materialized view on a detail table with commit SCN-based materialized view log is not supported"
// *Cause:  The materialized view creation failed because fast refreshable
//          remote materialized view on a detail table with commit SCN-based
//          materialized view log was not supported.
// *Action: NONE.
/
32416, 0000, "one or more commit SCN-based materialized view logs are not in consistent state for fast refresh"
// *Cause: Dictionary table "SYS"."SNAP_XCMT$" is not in consistent state.
// *Action: No action required.
//
/
32417, 0000, "must use DROP MATERIALIZED VIEW LOG to drop \"%s\".\"%s\""
// *Cause: An attempt was made to drop materialized view log using a command 
//         other than DROP MATERIALIZED VIEW LOG.
// *Action: No action required.
//
/
32418, 0000, "COMMIT SCN keyword only appears in CREATE MATERIALIZED VIEW LOG statement"
// *Cause: An attempt was made to alter an existing materialized view log 
//         to have commit SCN. 
// *Action: No action required.
//
/
32419, 0000, "on commit materialized view is not supported on detail tables with commit SCN-based materialized view logs"
// *Cause: An attempt was made to create an on commit materialized view on 
//         detail tables with commit SCN-based materialized view logs.
// *Action: No action required.
//
/
32420, 0000, "unsupported fast refreshable materialized view defined on detail tables which have commit SCN-based materialized view logs"
// *Cause: An attempt was made to create an unsupported fast refreshable materialized
//         view on detail tables with commit SCN based materialized view logs.
// *Action: No action required.
//
/
32421, 0000, "commit SCN-based materialized view log is not supported on a table with LOB column(s)"
// *Cause: An attempt was made to create a commit SCN-based materialized 
//         view log on a table which has LOB column(s).
// *Action: No action required.
//
/
32422, 0000, "commit SCN-based materialized view log cannot be created on table \"%s\".\"%s\" when there exist direct load/PMOP log entries for the table"
// *Cause: An attempt was made to create a commit SCN-based materialized 
//         view log on a table which had direct load/PMOP log entries in
//         sys.sumdelta$ and sys.sumpartlog$.
// *Action: Refresh the table's dependent materialized views before creating 
//          commit SCN-based materialized view log on the table.
//
/
32423, 0000, "commit SCN-based materialized view log cannot be dropped on table \"%s\".\"%s\" when there exist direct load/PMOP log entries for the table"
// *Cause: An attempt was made to drop a commit SCN-based materialized 
//         view log on a table which had direct load/PMOP log entries in
//         sys.sumdelta$ and sys.sumpartlog$.
// *Action: Refresh the table's dependent materialized views before dropping 
//          commit SCN-based materialized view log on the table.
//
/
32424, 0000, "materialized view log on \"%s\".\"%s\" already has this purge option"
// *Cause:  Materialized view log on the indicated table already has 
//          the purge option specified.
// *Action: Specify a different purge option or omit the purge option.
//
/
32425, 0000, "asynchronous and scheduled purge option is not allowed on commit SCN-based materialized view log"
// *Cause:  An attempt was made to create or alter a commit SCN-based 
//          materialized log with asynchronous and scheduled purge option.
// *Action: Specify a different purge option or omit the purge option.
//
/
32426, 00000, "materialized view log on \"%s\".\"%s\" in DST upgrade"
// *Cause:  The materialized view log was created or altered on a table 
//          that had a Daylight Saving Time upgrade in progress.
// *Action: Wait until DST upgrade finishes on the master table.
//
32427, 0000, "materialized view contains unsupported NLS transformation"
// *Cause:  An attempt was made to create or alter materialized view
//          under NLS settings which transformed the materialized view's 
//          defining query in ways not by supported by Oracle.
// *Action: Contact Oracle support or workaround problem by removing NLS 
//          settings or modifying the materialized view's defining query.
//
32428, 0000, "on-statement materialized join view error: %s"
// *Cause: An error related to on-statement materialized join view was
//         received.
// *Action: Refer to the error message for more information.
//
/
32429, 0000, "commit SCN-based materialized view log cannot be created on AQ table"
// *Cause: An attempt was made to create a commit SCN-based materialized 
//         view log on an Oracle Database Advanced Queuing (AQ) table.
// *Action: Do not create a commit SCN-based materialized view log on AQ tables.
//
/
32430, 0000, "materialized view log cannot be created on read-only database"
// *Cause: An attempt was made to create a materialized view log on a read-only
//         database.
// *Action: Do not create a materialized view log on a read-only database.
//
/
32431, 0000, "materialized view cannot be created on tables having inconsistent sharing"
// *Cause:  An attempt was made to create a materialized view on tables having
//          inconsistent sharing.
// *Action: Do not create a materialized view on tables having inconsistent
//          sharing, or ensure that tables have consistent sharing.
//
/
32432, 0000, "fast refreshable materialized view on tables with extended data link is not supported"
// *Cause:  An attempt was made to create a fast refreshable materialized 
//          view on tables with extended data link.
// *Action: Do not use REFRESH FAST. Use other refresh method.
/
// Error Numbers 32480 - 32498 are reserved for WITH clause errors
/
32480, 00000, "SEARCH and CYCLE clauses can only be specified for recursive WITH clause elements"
// *Cause: A SEARCH or a CYCLE clause was specified for a WITH clause element
//         that was not recursive.
// *Action: Remove the SEARCH or CYCLE clause, or add recursion to the WITH
//          clause element.
/
32481, 00000, "cycle value for CYCLE clause must be different from the non-cycle value"
// *Cause: A CYCLE clause was specified for a recursive WITH query but the
//         cycle value was the same as the non-cycle or DEFAULT value.
// *Action: Change either the cycle or the non-cycle values so that they no
//          longer match.
/
32482, 00000, "sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause"
// *Cause: A SEARCH clause and a CYCLE clause was specified for a recursive
//         WITH query, but the sequence column of the SEARCH clause matched
//         the cycle mark column of the CYCLE clause.
// *Action: Change either the sequence column or the cycle mark column so that
//          they no longer match.
/
32483, 00000, "duplicate name found in sort specification list for SEARCH clause of WITH clause"
// *Cause: A SEARCH clause was specified for a recursive query with a sort
//         specification list which contained duplicate names.
// *Action: Remove the duplicate names from the sort specification list of 
//          the SEARCH clause.
/
32484, 00000, "duplicate name found in cycle column list for CYCLE clause of WITH clause"
// *Cause: A CYCLE clause was specified for a recursive query with a cycle
//         column list which contained duplicate names.
// *Action: Remove the duplicate names from the cycle column list of  
//          the CYCLE clause. 
/
32485, 00000, "element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element"
// *Cause: An element in the cycle column list of a CYCLE clause that was 
//         specified for a recursive WITH query did not appear in the column
//         alias list of the WITH clause element.
// *Action: Change the cycle column list to use only names which are listed
//          in the column alias list of the WITH clause element.
/
32486, 00000, "unsupported operation in recursive branch of recursive WITH clause "
// *Cause: The recursive component of the UNION ALL in a recursive WITH clause
//         element used an operation that was currently not supported.  The
//         following should not be used in the recursive branch of the 
//         UNION ALL operation: GROUP BY, DISTINCT, MODEL, grouping sets,
//         CONNECT BY, window functions, HAVING, aggregate functions.
// *Action: Rewrite the query without the unsupported operation.
/
32487, 00000, "unsupported join in recursive WITH query"
// *Cause: The recursive component of a recursive WITH clause element
//         contained one of the following:
//         - A LEFT OUTER join where the right side was the recursive query name.
//         - A RIGHT OUTER join where the left side was the recursive query name.
//         - A FULL OUTER join involving the recursive query name.
// *Action: Rewrite the query without the unsupported join operation.
/
32488, 00000, "WITH clause element did not have a column alias list"
// *Cause: A WITH clause element used the SEARCH clause or CYCLE clause or both
//         but did not have a column alias list specified for it.
// *Action: Add a column alias list for the WITH clause query name.
/
32489, 00000, "element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element"
// *Cause: An element in the sort specification list of a SEARCH clause that
//         was specified for a recursive WITH query did not appear in the
//         column alias list of the WITH clause element.
// *Action: Change the sort specification list to use only names which are
//          listed in the column alias list of the WITH clause element.
/
32490, 00000, "recursive query name referenced more than once in recursive branch of recursive WITH clause element"
// *Cause: The recursive component of the UNION ALL in a recursive WITH clause
//         element referenced the recursive query name more than once.  Only
//         one reference to the recursive query name is allowed in the 
//         recursive branch of a recursive WITH clause element.
// *Action: Rewrite the query using only one reference to the recursive query
//          name in the recursive branch of the recursive WITH clause element.
/
32499, 00000, "operation not supported with old CONNECT BY clause"
// *Cause:  The query used the old CONNECT BY clause on operations that are not supported.
// *Action: Disable the old CONNECT BY clause by disabling the _old_connect_by_enabled parameter.
/
//////////////////////////// DIAGNOSIBILITY
/ Error numbers 32500 to 32549 are reserved for diagnosibility
////////////////////////////
32500, 00000, "Dirname '%s' cannot exceed '%s' characters"
// *Cause: Path name too long
// *Action: Use shorter pathname than maximum specified for dirname.
/
32501, 00000, "Writing SGA to file failed"
// *Cause: Underlying OSDs encountered an error
// *Action: Check additional information. slercerrno contains errno.
/
32502, 00000, "Cannot execute command. Flash Freeze is not in effect"
// *Cause:  This command can only be issued after a flash freeze
// *Action: Refer to instructions for flash freeze and Oracle diagnostics.
/
32503, 00000, "Mapping SGA from file failed"
// *Cause: Underlying OSDs encountered an error
// *Action: Check additional information. slercerrno contains errno.
/
32504, 00000, "expecting one of %s, %s, %s, or %s but found %s"
// *Cause:  illegal value specified for create watchpoint mode
// *Action: specify one of the expected modes
/
32505, 00000, "too many watchpoints"
// *Cause:  too many watchpoints created
// *Action: increase appropriate initialization parameters
/
32506, 00000, "expecting one of %s, %s, or %s but found %s"
// *Cause:  invalid arguments provided
// *Action: provide one of the expected arguments
/
32507, 00000, "expecting %s but found %s"
// *Cause:  invalid arguments to command
// *Action: provide one of the expected arguments
/
32508, 00000, "no such watchpoint id"
// *Cause:  invalid watchpoint id
// *Action: use oradebug show to list valid watchpoint ids
/
32509, 00000, "watchpoint was already deleted"
// *Cause:  trying to delete an already deleted watchpoint
// *Action: use oradebug show to list valid watchpoint ids
/
32510, 00000, "cannot create watchpoint on unreadable memory"
// *Cause:  trying to create watchpoint on invalid address
// *Action: provide a different valid address
/
32511, 00000, "cannot create watchpoint in memory needed by watchpointing code"
// *Cause:  overlap exists between requested memory range to watch
//          and internal memory structures that watchpointing operations need
// *Action: provide a different address range
/
32512, 00000, "type '%s' is unknown"
// *Cause:  trying to dump an invalid type name
// *Action: specify a known type
/
32514, 00000, "cannot dump multiple '%s' types: structure size is unknown"
// *Cause:  trying to dump an invalid address
// *Action: provide a different valid address
/
32515, 00000, "cannot issue ORADEBUG command '%s' to process '%s'; prior command execution time exceeds %s ms"
// *Cause:  The process targeted to execute the ORADEBUG command was
//          busy executing another ORADEBUG command for a time greater
//          than the timeout value specified.
// *Action: Increase the timeout value.
/
32516, 00000, "cannot wait for process '%s' to finish executing ORADEBUG command '%s'; wait time exceeds %s ms"
// *Cause:  The execution of the ORADEBUG command took longer than the
//          the timeout value specified.
// *Action: Increase the timeout value.
/
32517, 00000, "cannot issue ORADEBUG command '%s' to process '%s' (prior command execution time exceeds %s ms);  total wait time exceeds %s ms"
// *Cause:  The process targeted to execute the ORADEBUG command was
//          busy executing another ORADEBUG command. But, because
//          the total wait time for all targeted processes
//          exceeded the maximum wait time, the ORADEBUG command was 
//          not issued to the target process.
// *Action: Increase the timeout value.
/
32518, 00000, "cannot wait for process '%s' to finish executing ORADEBUG command '%s' (waited %s ms); total wait time exceeds %s ms"
// *Cause:  The total wait time for all targeted processes exceeded the
//          maximum wait time, therefore the wait for the targeted process
//          to finish executing the ORADEBUG command was aborted.
// *Action: Increase the timeout value.
/
32519, 00000, "insufficient privileges to execute ORADEBUG command: %s"
// *Cause: Sufficient privileges were not granted.  
// *Action: Perform the operation using a database session that 
//          has the required privileges. See the Oracle ORADEBUG
//          documentation for more details.
/
32520, 00000, "error authenticating credentials"
// *Cause: An error was encountered while authenticating credentials.
// *Action: Check the other error messages for additional information or
//          contact Oracle Support Services.
/
32521, 00000, "error parsing ORADEBUG command: %s"
// *Cause: An invalid ORADEBUG command was specified.
// *Action: Specify the correct ORADEBUG command and arguments.
/


32522, 00000, "restricted heap violation while executing ORADEBUG command: [%s] [%s] [%s]"
// *Cause: An invalid memory heap was used in an ORADEBUG command.
// *Action: Try executing the ORADEBUG command in the current process or
//          contact Oracle Support Services.
/


32523, 00000, "watchpoint cannot be created in dynamic processes"
// *Cause: An attempt was made to create a watchpoint in a process involving threads.
// *Action: Check the process mode or try creating watchpoints only in the static non-threaded processes.
/


//////////////////////////// LITERAL REPLACEMENT
/ Error numbers 32550 to 32574 are reserved for literal replacement
////////////////////////////
32550, 00000, "Replacement occured despite hint to the contrary"
// *Cause:  This should never be signalled; it's internal.
// *Action: Report to Oracle support.
/
//////////////////////////// PARSER
/ Error numbers 32575 to 32599 are reserved for additional parsing errors
////////////////////////////
32575, 00000, "Explicit column default is not supported for modifying views"
// *Cause: Default keyword was used to modify views.
// *Action: Use implicit default - omitting column-value pair.
/
32576, 00000, "missing TYPE keyword"
// *Cause: keyword TYPE is missing.
// *Action: Use TYPE keyword.
/
32577, 00000, "username must be SYS or SYSTEM"
// *Cause: A user name of SYS or SYSTEM was not specified when providing
//         a password in the CREATE DATABASE statement.
// *Action: Only passwords for the SYS and SYSTEM users can be provided
//          in the CREATE DATABASE statement. Re-issue the statement with
//          passwords for users SYS or SYSTEM.
/
32578, 00000, "password for SYS already specified"
// *Cause: A password for the SYS user was specified twice in the
//         CREATE DATABASE statement.
// *Action: Re-issue the CREATE DATABASE statement with only one password
//          for the SYS user.
/
32579, 00000, "password for SYSTEM already specified"
// *Cause: A password for the SYSTEM user was specified twice in the
//         CREATE DATABASE statement.
// *Action: Re-issue the CREATE DATABASE statement with only one password
//          for the SYSTEM user.
/
32580, 00000, "both SYS and SYSTEM passwords must be provided"
// *Cause: Passwords for both the SYS and SYSTEM users were not
//         provided in the CREATE DATABASE statement. If one of the
//         passwords was provided, then both should be provided.
// *Action: Re-issue the CREATE DATABASE statement with a password for
//          both the SYS and SYSTEM users.
/
32581, 00000, "missing or invalid password"
// *Cause: An incorrect password was provided for the SYS or
//         SYSTEM user in the CREATE DATABASE statement.
// *Action: Re-issue the CREATE DATABASE statement with a valid password.
/
32582, 00000, "table function with left correlation to a table cannot also be left outer-joined to the table"
// *Cause: A table function T2 contains a reference to a table T1.  T2
//         is also left outer-joined to T1.  This is not allowed.
// *Action: Remove the reference to T1 from T2 or remove the left outer-join
//          specification (+).
/
32583, 00000, "query passed to table function has wrong number of elements in select list"
// *Cause: The query used as an input to a table function which takes a
//         a ref cursor as argument has wrong number of elements in the select
//         list which does not correspond to the elements in ref cursor.
//         The ref cursor mentioned here refers to the one referenced in
//         order by parition clauses.  This is not allowed.
// *Action: Make sure that the select list of the query  matches the ref cursor 
//          columns as defined in the function.
/
32584, 00000, "missing LOG keyword"
// *Cause: keyword LOG is missing.
// *Action: Use LOG keyword.
/
32585, 00000, "duplicate specification of a supplemental log attribute"
// *Cause:  In a create/alter DDL a supplemental log attribute is specified
//          more than once.
// *Action: Rewrite the Create/Alter DDL such that it has a 
//          single occurence of any supplemental log attribute.
/
32586, 00000, "multiple specification of a supplemental logging attribute"
// *Cause:  The primary key, unique index, foreign key or all
//          column supplemental logging attribute can be specified at most 
//          once in a create/alter ddl.
// *Action: Rewrite the Create/Alter DDL with single occurence of 
//          the offending supplemental logging attribute.
/
32587, 00000, "Cannot drop nonexistent %s supplemental logging"
// *Cause: specified supplemental log attribute does not exist.
// *Action: None
//
/
32588, 00000, "supplemental logging attribute %s exists"
// *Cause: specified supplemental logging attribute exits.
// *Action: retry the alter/create ddl after removing this 
//          supplemental logging attribute.
//
/
32589, 00000, "unable to drop minimal supplemental logging"
// *Cause: Minimal supplemental logging could not be dropped as 
//         one of primary key, foreign key, unique or all column
//         supplemental logging is enabled at the database level.
// *Action: Use V$DATABASE to determine the databasewide supplemental
//          logging directives. Minimal supplemental logging could 
//          be dropped if and only if no other databasewide supplemental 
//          logging directives are enabled. 
/
32590, 00000, "log group specification not allowed here"
// *Cause: Supplemental log specification is not allowed in the 
//         statement.
// *Action: Remove the supplemental log specification from the 
//          statement. 
/
32591, 00000, "connect string too long"
// *Cause: The connect string specified for the database link was more than
//         2000 characters.
// *Action: Specify a connect string less than 2000 chracters.
/
32592, 00000, "all columns in log group can not be no log columns"
// *Cause: A supplemental log group must have at least one column of scalar 
//         type that is not marked as no log.
// *Action: Redefine the supplemental log group with at least one column of 
//          scalar type that is not marked as no log.
/
32593, 00000, "database supplemental logging attributes in flux "
// *Cause: there is another process actively modifying the database wide
//         supplemental logging attributes.
// *Action: Retry the DDL or the LogMiner dictionary build that raised this 
//          error. 
/
32594, 00000, "invalid object category for COMMENT command"
// *Cause: The object category specified is not a valid object for which to
//         use the COMMENT command.
// *Action: Retry the COMMENT command by specifying an accepted object
//          category. (ie, Table, Operator, Indextype, etc.) 
/
32595, 00000, "DDL statement cannot be audited with BY SESSION specified"
// *Cause:  An attempt was made to audit a DDL statement with BY SESSION
//          clause specified. DDL statements can be audited BY ACCESS only.
// *Action: Specify BY ACCESS instead of BY SESSION to audit the DDL
//          statement.
/
32596, 00000, "duplicate ALTER USER or CREATE USER option"
// *Cause:  An ALTER USER option was duplicated.
// *Action: Remove the duplicate option.
/
32597, 00000, "database supplemental logging attributes inconsistent"
// *Cause: failed to propogate supplemental logging attributes to all 
//         RAC instances.  Most likely caused by an instance leaving 
//         the RAC while this DDL was in progress.
// *Action: Retry the DDL or the LogMiner dictionary build that raised 
//          this error.
/
32598, 00000, "user names cannot be changed in ALTER DATABASE LINK command"
// *Cause: An attempt was made to change the fixed user name of the
//         database link.
// *Action: None.
/
32599, 00000, "cannot create a view in SYS schema with V$ or GV$ name prefix"
// *Cause: An attempt was made to create a view in SYS schema with
//         V$ or GV$ name prefix, which is reserved for fixed views.
// *Action: Provide a different name for the view or use a different schema.
/
//////////////////////////// LOB RETENTION and FLASHBACK
/ Error numbers 32600 to 32605 are reserved for lob retention
////////////////////////////
32600, 00000, "RETENTION and PCTVERSION cannot be used together"
// *Cause: cannot use both RETENTION and PCTVERSION together.
// *Action: Use either RETENTION or PCTVERSION.
/
32601, 00000, "value for retention cannot be provided"
// *Cause: cannot give a value for Retention Period.
// *Action: do not provide the value for parameter.
/
32602, 00000, "FREEPOOLS and FREELIST GROUPS cannot be used together"
// *Cause: cannot use both FREEPOOLS and FREELIST GROUPS together.
// *Action: Use either FREEPOOLS or FREELIST GROUPS.
/
32603, 00000, "invalid FREEPOOLS LOB storage option value"
// *Cause:   The specified FREEPOOLS LOB storage option value must be an
//           integer.
// *Action:  Choose an appropriate integer value and retry the operation.
/
32604, 00000, "invalid REBUILD option"
// *Cause:   Keyword FREEPOOLS expected after the REBUILD keyword.
// *Action:  User must specify FREEPOOLS keyword.
/
32605, 00000, "invalid REBUILD option"
// *Cause:   cannot rebuild freepools while creating table with lob column.
// *Action:  User must not specify REBUILD... in this context.
/
//////////////////////////// MODEL
/ Error numbers 32606 to 32689 are reserved for MODEL
////////////////////////////
32606, 00000, "missing NAV keyword in MODEL clause"
// *Cause: The NAV keyword was not specified where it was expected.
// *Action: Specify the NAV keyword or check the SQL statement.
/
32607, 00000, "invalid ITERATE value in MODEL clause"
// *Cause: The specified ITERATE value must be a 4 byte positive integer.
// *Action: Choose an appropriate value and retry the operation.
/
32608, 00000, "missing INCREMENT or DECREMENT keyword in FOR loop"
// *Cause: INCREMENT or DECREMENT keyword was not specifiedi where it is expected.
// *Action: Specify the INCREMENT or DECREMENT keyword or check the SQL statement.
/
32609, 00000, "missing REFERENCE keyword in MODEL clause"
// *Cause: The REFERENCE keyword was not specified where it is expected.
// *Action: Specify the REFERENCE keyword or check the SQL statement.
/
32610, 00000, "missing SINGLE REFERENCE or DIMENSION keyword in MODEL clause"
// *Cause: SINGLE REFERENCE or DIMENSION keyword was not specified where it is
//         expected.
// *Action: Specify the applicable keywords or check the SQL statement.
/
32611, 00000, "incorrect use of MODEL CV operator"
// *Cause: CV function was used outside a dimension expression, in UNTIL
//         condition, or with non-dimensional arguments.
// *Action: Check the SQL statement and rewrite if necessary.
/
32612, 00000, "invalid use of FOR loop"
// *Cause: The MODEL FOR loop was used where it is not allowed.
//         FOR loops are not allowed in complex dimensional predicates,
//         on the right hand side of rules, or in the until condition.
// *Action: Check the SQL statement and rewrite if necessary.
/
32613, 00000, "not a MODEL cell"
// *Cause: The operator requires a MODEL cell as operand.
// *Action: Specify MODEL cell as operand, check SQL statement.
/
32614, 00000, "illegal MODEL SELECT expression"
// *Cause: An expression other than MODEL aliases, constants,
//         or expressions of the two is specified in the
//         MODEL SELECT clause.
// *Action: Reformulate the query, perhaps nesting inside another SELECT.
/
32615, 00000, "incorrect use of MODEL IS ANY predicate"
// *Cause: IS ANY predicate is used outside dimension expression or with 
//         non-dimensional or different dimensional arguments.
// *Action: Check the SQL statement and rewrite if necessary.
/
32616, 00000, "missing DIMENSION BY keyword in MODEL clause"
// *Cause: The DIMENSION keyword was not pecified where it is expected.
// *Action: Specify the DIMENSION keyword or check the SQL statement.
/
32617, 00000, "missing MEASURES keyword in MODEL clause"
// *Cause: The MEASURES keyword was not specified where it is expected.
// *Action: Specify the MEASURES keyword or check the SQL statement.
/
32618, 00000, "incorrect use of MODEL PREVIOUS function"
// *Cause: The  MODEL PREVIOUS function was used outside of MODEL
//         "ITERATE UNTIL" clause, or was nested.
// *Action: Check the SQL statement and rewrite if necessary.
/
32619, 00000, "incorrect use of MODEL ITERATION_NUMBER"
// *Cause: ITERATION_NUMBER was used outside of an iterated MODEL.
// *Action: Check the SQL statement and rewrite if necessary.
/
32620, 00000, "illegal subquery within MODEL rules"
// *Cause: A subquery was used illegally within the MODEL rule.
// *Action: Check the SQL statement and rewrite if necessary.
/
32621, 00000, "illegal aggregation in UNTIL iteration condition"
// *Cause: An aggregate function was used in UNTIL condition.
// *Action: Check the SQL statement and rewrite if necessary.
/
32622, 00000, "illegal multi-cell reference"
// *Cause: Multi-cell reference was specified on a measure expression
//         without an aggregate function.
// *Action: Use an aggregate function on the measure expression or 
//          qualify the cell reference.
/
32623, 00000, "incorrect use of MODEL PRESENT* functions"
// *Cause: A PRESENT* function (IS PRESENT, PRESENTV, PRESENTNNV)
//         was used in a measure expression. 
// *Action:  Check the SQL statement and rewrite if necessary.
/
32624, 00000, "illegal reordering of MODEL dimensions"
// *Cause: The expressions to qualify dimensions were specified
//         in an incorrect order within a cell reference.
// *Action: Reorder dimension expressions in the cell reference.
/
32625, 00000, "illegal dimension in cell reference predicate"
// *Cause: A non-positional dimension was referenced in the predicate.
// *Action: Check the SQL statement and rewrite if necessary.
/
32626, 00000, "illegal bounds or increment in MODEL FOR loop"
// *Cause: FOR loop allows only numeric and datetime without timezone type
//         for bounds.  Only constants of interval and numeric types are 
//         allowed as increment/decrement expressions.
// *Action: Check the SQL statement and rewrite if necessary.
/
32627, 00000, "illegal pattern in MODEL FOR LIKE loop"
// *Cause: The FOR LIKE pattern had zero or more than one wild characters.
// *Action: Simplify the pattern to have a single wildcard character.
/
32628, 00000, "invalid nesting of MODEL cell reference"
// *Cause: MODEL cell reference was nested too deeply.
// *Action: Avoid deep nesting of cell references and rewrite if necessary.
/
32629, 00000, "measure used for referencing cannot be updated"
// *Cause: A measure used in nested referencing is updated by a MODEL
//         rule in the automatic order MODEL.
// *Action: Modify the SQL statement or use sequential order MODEL.
/
32630, 00000, "multiple assignment in automatic order MODEL"
// *Cause: A MODEL cell was updated on the same measure in
//         multiple MODEL rules.  Multiple assignment is not allowed 
//         in automatic order MODELs as it causes in ambiguity 
//         and nondeterminism.
// *Action: Use sequential order MODEL or rewrite the rule to avoid this.
/
32631, 00000, "illegal use of objects in MODEL"
// *Cause: An object column was used as a MODEL column. Object types are 
//         not allowed as partition by, dimension by or measure expressions.
// *Action: Check the SQL statement and rewrite if necessary.
/
32632, 00000, "incorrect subquery in MODEL FOR cell index"
// *Cause: An illegal subquery was specified in MODEL FOR cell index. 
//         A subquery used in a MODEL FOR cell index can not have
//         subqueries, correlation, binds and references to WITH tables.
// *Action: Check the SQL statement and rewrite if necessary.
/
32633, 00000, "MODEL subquery FOR cell index returns too many rows"
// *Cause: Subquery in MODEL FOR cell index returned more than 
//         the allowed maximum.
// *Action:  Split the rule into multiple ones.
/
32634, 00000, "automatic order MODEL evaluation does not converge"
// *Cause: Evaluation using automatic rule ordering did not reach
//         a convergence point.
// *Action: Modify the rules or use sequential order instead.
/
32635, 00000, "not a single cell reference predicate"
// *Cause: A predicate that is not a single cell reference predicate was specified
//         where a single cell reference predicate was expected.
//         A single cell reference predicate is either a constant expression
//         or a predicate of the form
// *Action: Make sure that the predicate is a proper single cell
//          reference. In some cases, you might have to put explicit
//          type conversion operators (or casts) on the constant expression.
/
32636, 00000, "Too many rules in MODEL"
// *Cause: The number of rules (possibly after rule unfolding) exceeded
//         the maximum number of rules allowed.
// *Action: Reduce the number of rules. 
/
32637, 00000, "Self cyclic rule in sequential order MODEL"
// *Cause: A self-cyclic rule was detected in the sequential order MODEL.
//         Sequential order MODELs cannot have self cyclic rules
//         to guarantee that the results do not depend on the order
//         of evaluation of the cells that are updated or upserted.
// *Action: Use ordered rule evaluation for this rule.
/
32638, 00000, "Non unique addressing in MODEL dimensions"
// *Cause: The address space defined for the MODEL (partition by and dimension by
//         expressions) do not uniquely identify each cell.
// *Action: Rewrite the MODEL clause. Using UNIQUE SINGLE REFERENCE
//          option might help.
/
32639, 00000, "Aggregate functions on reference MODELs are not allowed"
// *Cause: An aggregate function was specified on the cells of a reference
//         MODEL. 
// *Action: Check the SQL statement and rewrite if necessary.
/
32640, 00000, "FOR LIKE loops are not allowed for multi-byte character types"
// *Cause: FOR LIKE loops was specified for a multi-byte character type.
// *Action: Check the SQL statement and rewrite if necessary.
/
32641, 00000, "invalid expression in MODEL rule ORDER BY clause"
// *Cause: An invalid expression was specified in the MODEL rule ORDER BY clause
//         where only expressions of dimension and measure columns and 
//         reference MODEL cell references are allowed
// *Action: Modify the order by clause in the MODEL rule.
/
32642, 00000, "non-unique cell values from the ORDER BY clause"
// *Cause: The MODEL rule ORDER BY clause did not generate unique values for all 
//         cells that satisfy the predicates in the left side of the rule. 
// *Action: Modify the rule ORDER BY clause in the MODEL rule.
/
32643, 00000, "invalid use of window function in MODEL rule"
// *Cause: The window functions can not be used in SQL Model rules
//         that have FOR-loops on the left side or aggregates 
//         on the right side.
// *Action: Modify the MODEL rule.
/
32644, 00000, "this function is not allowed outside of MODEL clause"
// *Cause: A function allowed only within the MODEL clause is used
//         outside of MODEL clause.
// *Action: Rewrite the SQL statement. 
/
32689, 00000, "MODEL: event to turn on/off some optimizations"
// *Document: NO
// *Cause:    N/A
// *Action:   Turns on/off some optimizations in MODEL evaluation.
/
//////////////////////////// Hash Table Infrastructure (HTI)
/ Error numbers 32690 to 32699 are reserved for hash table infrastructure
////////////////////////////
/
32690, 00000, "Hash Table Infrastructure ran out of memory"
// *Cause: Not enough memory.
// *Action: Increase memory.
/
32691, 00000, "Internal event for Adaptive Group-By"
// *Document: NO
// *Cause: N/A
// *Action: Indicates the cache size multiple for in-memory and 
//          cache-friendly aggregation.
// *Comment:  Not for general purpose use.
/
32692, 00000, "Internal event for Adaptive Group-By"
// *Document: NO
// *Cause: N/A
// *Action: Indicates number of batches to try HBF strategy.
// *Comment:  Not for general purpose use.
/
32695, 00000, "HTI: Not enough memory"
// *Cause: Memory is not enough.
// *Action: Increase memory.
/
32696, 00000, "HTI: No free slot"
// *Cause: There is not enough memory.
// *Action: Increase memory.
/
32697, 00000, "HTI: max agg size"
// *Document: NO
// *Cause:    N/A
// *Action:   Sets max nda size
/
32698, 00000, "Overshoot in index scan prefetch"
// *Document: NO
// *Cause:    N/A
// *Action:
/
32699, 00000, "HTI: event to dump statistics"
// *Document: NO
// *Cause:    N/A
// *Action:   Dumps hash infrastructure statistics
/
////////////////////////////// RAC DIAGNOSABILITY FRAMEWORK
// Error numbers 32700 to 32729 are reserved for RAC DIAG process
//////////////////////////////
32700, 00000, "error occurred in DIAG Group Service"
// *Cause: An unexpected error occurred while performing a DIAG Group Service
//         operation.
// *Action: Verify that the DIAG process is still active. Also, check the
//          Oracle DIAG trace files for errors.
/
32701, 00000, "Possible hangs up to hang ID=%s detected"
// *Cause: Hang Manager detected one or more hangs.  These could be valid
//         hangs that require action or the system could be overloaded causing
//         very slow progress which can be interpreted as hangs.  If hang
//         resolution is enabled, Hang Manager may attempt to resolve
//         the hang by terminating the ultimate blocker.
// *Action: Check the incident logs associated with this message for
//          diagnostic information.
/
32702, 00000, "Rolling migration is going on"
// *Cause: DIAG detected rolling migration in IPC.
// *Action: No action needed. DIAG is shutting down for rolling migration.
//          This error number is solely used for internal purposes.
/
32703, 00000, "deadlock detected: %s"
// *Cause: Oracle sessions waiting for resources were deadlocked.
// *Action: Reissue any commands that failed and contact Oracle Support
//          Services with the incident information.
/


32704, 00000, "Oracle RAC deadlock detected: %s"
// *Cause: Oracle sessions or processes using Global Enqueue Service
//   were deadlocked waiting for resources.
// *Action: Reissue any commands that failed and contact Oracle Support
//          Services with the incident information.
/


32705, 00000, "Oracle RAC deadlock search terminated due to an exception"
// *Document: NO
// *Cause: Global Enqueue Service deadlock search encountered an internal
//         error.
// *Action: This exception is caught and recovered automatically.


/ Error numbers 32706-32716 reserved for DBMS_HANG_MANAGER package
/
32706, 00000, "invalid parameter name or value for Oracle Hang Manager"
// *Cause: An invalid parameter name or value was passed to the
//         DBMS_HANG_MANAGER package when setting an Oracle Hang Manager
//         parameter.
// *Action: Choose a documented parameter name and value.
/
32707, 00000, "internal error of Oracle Hang Manager parameter management"
// *Cause: An internal error was encountered while processing the Oracle Hang
//         Manager parameter management request.
// *Action: Check the alert log file for error details.
/
32708, 00000, "DBMS_HANG_MANAGER package not supported for this instance type"
// *Cause: Oracle Hang Manager parameter management was not supported for this
//         instance type.
// *Action: No action required.
/


////////////////////////////// RAC DIAG-based parallel oradebug
// Error numbers 32730 to 32760 are reserved for DIAG-based parallel oradebug
//////////////////////////////
32730, 00000, "Command cannot be executed on remote instance"
// *Cause: DIAG is not registered with DIAG Group Service
// *Action: Issue the command without the cluster database syntax
/
32731, 00000, "Another Parallel Oradebug session is in progress"
// *Cause: Another session for Parallel Oradebug is in progress
//         with the database
// *Action: Issue the command later when the current session finishes
/
32732, 00000, "Parallel Oradebug session is aborted"
// *Cause: Group reconfiguration is occurring among DIAGs
// *Action: Issue the command later when group reconfiguration completes
/
32733, 00000, "Error occurred when executing Parallel Oradebug"
// *Cause: Error is encountered during executing command at local node
// *Action: Check alert log and DIAG trace file for error detail
/
32734, 00000, "Error occurred when sending Oradebug command to remote DIAGs"
// *Cause: IPC communication problem encountered
// *Action: Check IPC communication between DIAGs and issue the command again
/           at a later time
32735, 00000, "DIAG process is not running in the instance"
// *Cause: DIAG process is not alive
// *Action: Check error in DIAG trace file and issue the command again 
//          when DIAG is restarted
/
32736, 00000, "Hang analysis aborted due to wrong message type"
// *Cause: DIAG received wrong message.
// *Action: Check DIAG trace files for errors.
/
32737, 00000, "Hang analysis aborted due to failed memory allocation"
// *Cause: DIAG couldn't allocate buffer for remote copy.
// *Action: Check DIAG trace files for errors.
/
32738, 00000, "Hang analysis aborted due to failed memory copy"
// *Cause: DIAG couldn't copy buffer to remote node.
// *Action: Check DIAG trace files for errors.
/
32739, 00000, "Hang analysis aborted due to failed heap re-grow"
// *Cause: DIAG couldn't re-grow the heap for wait-for-graphs.
// *Action: Check DIAG trace files for errors.
/
32740, 00000, "The requested operation cannot be proceeded"
// *Cause: Operation was aborted because instance termination was in progress.
// *Action: Retry later after restarting the instance.
/
32741, 00000, "Hang analysis already going on"
// *Cause: Hang analysis was already in process globally or for the instance.
// *Action: Wait for the current operation to complete and re-run the command.
/
32742, 00000, "Hang analysis initialize failed"
// *Cause: Hang analyzer was not able to allocate memory to initialize.
// *Action: Check the trace files.
/
32743, 00000, "command cannot be executed on remote instance"
// *Cause: The database was not mounted in SHARED mode.
// *Action: Mount the database in SHARED mode.
/
////////////////////////////// Temp LOB Ref Count
// Error numbers 32761 to 32765 are reserved for Temp LOB Ref Count tracing
//////////////////////////////
32761, 00000, "Turn off Temp LOB Ref Count Feature "
// *Cause: None
// *Action: Turn off the whole temp lob ref count feature
32762, 00000, "Turn on Temp LOB Ref Count Tracing "
// *Cause: None
// *Action: Check Trace file for debug info
32763, 00000, "Turn off N-Pass Temp LOB cleanup "
// *Cause: None
// *Action: Facilitate debugging and testing
////////////////////////////// SQL function on LOBs
// Error numbers 32766 to 32770 are reserved for SQL function on LOBs
//////////////////////////////
32766, 00000, "instr with negative offset: use varchar semantics on LOBs" 
// *Cause: The current varchar behavior is different. 
//         e.g. instr('abcd', 'cd', -2, 1) returns 3, whereas
//         instr(to_clob('abcd'), 'cd', -2, 1) returns 0, (i.e. no match),
//         because the reverse search starts from offset -2, which points 
//         to 'c' and moving backward, i.e. 'd' is ignored.  
//         This is symmetric to instr('dcba','dc',2,1), which returns 0.
// *Action: ORACLE uses the same varchar semantics on LOBs (instr). 
//          Using the same example, instr(to_clob('abcd'), 'cd', -2, 1) 
//          will return 3 as in the varchar case. 
/
/
32767, 00000, "No server connection for this operation"
// *Cause: The client side sql or plsql function operation requires 
//         a connection to the server, but currently no client/server
//         connection existed.
//         
// *Action: Establish a client/server connection.
/
/


////////////////////////////// BIGFILE TABLESPACE
// Error numbers 32771 to 32779 are reserved for Bigfile Tablespace 
//////////////////////////////
32771, 00000, "cannot add file to bigfile tablespace"
// *Cause: An attempt was made to add the second file to a bigfile
//         tablespace. 
// *Action: Do not use this command with bigfile tablespace. 
32772, 00000, "BIGFILE is invalid option for this type of tablespace"
// *Cause: An attempt was made to create a bigfile tablespace that is
//         dictionary managed or locally managed with manual
//         segment-space management. 
// *Action: Either change the tablespace type to locally managed with
//          automatic segment-space management, or create a SMALLFILE
//          tablespace instead. 
32773, 00000, "operation not supported for smallfile tablespace %s"
// *Cause: An attempt was made to perform an operation which is supported 
//         only for bigfile tablespaces, e.g. resize tablespace.
// *Action: Use the appropriate clause of the ALTER DATABASE DATAFILE 
//          command instead.
32774, 00000, "more than one file was specified for bigfile tablespace %s"
// *Cause: More than one datafile or tempfile was specified in CREATE
//         TABLESPACE command for a bigfile tablespace.
// *Action: Change command to contain only one file or create a smallfile
//          tablespace instead.
32775, 00000, "cannot change size attributes of read only tablespace %s"
// *Cause: An attempt was made to change size attributes of a tablespace
//         that is read only.
// *Action: Change the tablespace to read/write and retry the operation. 
32776, 00000, "Local temporary tablespaces are not allowed in a tablespace group."
// *Cause: An attempt was made to create or alter a tablespace group to contain
//         a tablespace that is a local temporary tablespace.
// *Action: Use a tablespace that is not a local temporary tablespace or do not
//          include this tablespace in a group.
32777, 00000, "DDL operations are disabled on local temporary tablespaces FOR RIM."
// *Cause: A DDL operation on a local temporary tablespace FOR RIM was 
//         attempted in a system without any read-only running instances.
// *Action: Add at least one read-only instance to the cluster.
32778, 00000, "DDL operations are disabled on local temporary tablespaces FOR LEAF."
// *Cause: A DDL operation on a local temporary tablespace FOR LEAF was 
//         attempted in a system without any read-only running instances.
// *Action: Add at least one read-only instance to the cluster.
/
// //////////////////////////
// 32780 - 32789 reserved for window function events
// ////////////////////////// 
/
32780, 00000, "Analytical Functions: event to turn on or off optimizations"
// *Document: NO
// *Cause:    N/A
// *Action:   Turns on or off some optimizations in OLAP analytical 
//            function evaluation
//            Level:
//            0x01 - turn off reporting aggregate optimization
//            0x02 - turn off nosort rank pushdown/stopkey optimization
//            0x04 - turn off range parallelism for cumulative window fns
//            0x08 - turn off new sort in window functions
//            0x10 - turn off ordering key minimization
//
32781, 00000, "Trace event for window functions"
// *Cause:   N/A 
// *Action:  Set this event only under the supervision of Oracle development.
//           Trace level is a bitfield.
//
//  LEVEL        ACTION
//---------------------------------------------------------------------------
//  0x0001       trace window functions after ordering semantics rewrite
//  0x0002       trace statistics collected for window functions
//  0x0004       trace ordering groups generated for window functions
//  0x0008       trace dynamic sampling statistics expressions
//  0x0010       trace messages for slave-2-QC communication
//  0x0020       trace window consolidation rows
/
// //////////////////////////
// Schema compiler error
// //////////////////////////
/
32790, 00000, "Element '%s' cannot share the default table '%s' with element '%s'"
// *Cause:  An element in the restriction shared a default table with the 
//          corresponding element in it's supertype.
// *Action: Change the default table's name for the element in restriction.
/
/////////////////////////////////////////////////////////////////////////////
/ 32791 - 32799 are reserved for 12g SQL enhancements projects
/////////////////////////////////////////////////////////////////////////////
32791,0000, "prebuilt table managed column cannot have a default on null"
// *Cause:  An attempt was made to create a materialized view on a 
//          prebuilt table that has a managed column with a default on null
//          expression.
// *Action: Either remove the default on null property, or do not include
//          the column in the materialized view definition.
/
32792,0000, "prebuilt table managed column cannot be an identity column"
// *Cause:  An attempt was made to create a materialized view on a 
//          prebuilt table that has a managed column that is an identity
//          column.
// *Action: Either remove the identity property, or do not include
//          the column in the materialized view definition.
/
32793,0000, "cannot alter a system-generated sequence"
// *Cause:  An attempt was made to alter a system-generated sequence.
// *Action: A system-generated sequence, such as one created for an 
//          identity column, cannot be altered.
/
32794,0000, "cannot drop a system-generated sequence"
// *Cause:  An attempt was made to drop a system-generated sequence.
// *Action: A system-generated sequence, such as one created for an 
//          identity column, cannot be dropped.
/
32795,0000, "cannot insert into a generated always identity column"
// *Cause:  An attempt was made to insert a value into an identity column
//          created with GENERATED ALWAYS keywords.
// *Action: A generated always identity column cannot be directly inserted.
//          Instead, the associated sequence generator must provide the value.
/
32796,0000, "cannot update a generated always identity column"
// *Cause:  An attempt was made to update an identity column created with 
//          GENERATED ALWAYS keywords.
// *Action: A generated always identity column cannot be directly updated.
/
32797,0000, "identity column sequence mismatch in ALTER TABLE EXCHANGE PARTITION"
// *Cause:  The two tables specified in the EXCHANGE have identity columns
//          with sequences that are neither both increasing nor decreasing.
// *Action: Ensure that the identity columns have sequences with INCREMENT BY
//          having the same sign.
/
32798,0000, "cannot use ANSI RIGHT or FULL outer join with a left correlation"
// *Cause:  An attempt was made to use a lateral view with a left correlation 
//          to the first operand of an ANSI RIGHT or FULL outer join.
// *Action: Rewrite the query without the left correlation.
/
32799,0000, "cannot rename a system-generated sequence"
// *Cause:  An attempt was made to rename a system-generated sequence.
// *Action: A system-generated sequence, such as one created for an
//          identity column, cannot be renamed.
/
/ ////////////////
/ 32800 - 32999 are reserved for Messaging Gateway (MGW)
/ Used by DBMS_MGWADM package and other related packages and types.
/ ////////////////
/
//////////// OLAP framework
/  Error numbers 33000 to 38000 are reserved for OLAP work.
/
/ End of File - Add errors from e38001.msg. Consult errorinf.txt
/ 65535 -  (MAX ERROR NUMBER; NONE CAN BE LARGER)
/
/
/*********************************************************************
/
/ 32800 - 32999 reserved for Oracle Messaging Gateway (MGW)
/ These errors are used for DBMS_MGWADM package and related types.
/
/*********************************************************************
/
32800, 00000, "internal error %s"
// *Cause:  An unexpected error occurred.
// *Action: Contact Oracle Support Services.
/
32801, 00000, "invalid value %s for %s"
// *Cause:  An invalid value was specified for a parameter.
// *Action: Specify a valid value for the parameter.
/
32802, 00000, "value for %s must be %s"
// *Cause:  An invalid value was specified for a parameter.
// *Action: Specify the value as indicated by the message.
/
32803, 00000, "value for %s cannot be altered"
// *Cause:  An attempt was made to alter a value that cannot be altered.
// *Action: Retry the operation without altering the indicated value.
/
32804, 00000, "invalid value %s, %s should have form %s"
// *Cause:  A value specified for a parameter has the incorrect form.
// *Action: Specify a string of the correct form.
/
32805, 00000, "identifier for %s too long, maximum length is %s characters"
// *Cause:  An identifier string exceeded the maximum allowed length.
// *Action: Specify a string whose length is less than the maximum allowed
//          length.
/
32806, 00000, "value for %s is too long, maximum length is %s"
// *Cause:  A value exceeded it's maximum allowed length.
// *Action: Specify a value whose length is less than the maximum allowed
//          length.
/
32807, 00000, "message system link %s already exists"
// *Cause:  A message system link of the specified name already exists.
// *Action: Specify a different name.
/
32808, 00000, "message system link %s does not exist"
// *Cause:  A message system link of the specified name does not exist.
// *Action: Specify a message system link name that already exists.
/
32809, 00000, "foreign queue %s is already registered"
// *Cause:  The foreign queue has already been registered for this message
//          system link (NAME@MSGLINK).
// *Action: Specify a different name that is not being used for this 
//          message system link.
/
32810, 00000, "foreign queue %s is not registered"
// *Cause:  The foreign queue (NAME@MSGLINK) has not been registered for 
//          this message system link.
// *Action: Specify the name of a registered foreign queue.
/
32811, 00000, "subscriber %s already exists"
// *Cause:  The specified subscriber identifier already exists.
// *Action: Specify a different identifier.
/
32812, 00000, "subscriber %s does not exist"
// *Cause:  The specified subscriber identifier does not exist.
// *Action: Specify an existing subscriber identifier.
/
32813, 00000, "propagation schedule %s already exists"
// *Cause:  The specified propagation schedule identifer already exists.
// *Action: Specify a different identifier.
/
32814, 00000, "propagation schedule %s does not exist"
// *Cause:  The specified propagation schedule identifier does not exist.
// *Action: Specify a schedule identifier that already exists.
/
32815, 00000, "message system link %s is referenced by a foreign queue"
// *Cause:  An attempt was made to remove a message system link currently
//          referenced by one or more registered foreign queues.
// *Action: Unregister all foreign queues using this message system link
//          and retry the operation.
/
32816, 00000, "foreign queue %s is referenced by a subscriber or schedule"
// *Cause:  An attempt was made to unregister a foreign queue currently
//          referenced by one or more subscribers or propagation schedules.
// *Action: Remove all subscribers and propagation schedules using this
//          foreign queue and retry the operation.
/
32817, 00000, "message system link %s is not configured with a log queue for %s"
// *Cause:  An attempt was made to add a propagation subscriber but the 
//          message system link was not configured with a log queue for the 
//          indicated propagation type.
// *Action: Alter the message system link to configure the link with a log 
//          queue for this propagation type.
/
32818, 00000, "AQ queue %s does not exist"
// *Cause:  An operation was attempted where the specified AQ queue 
//          does not exist.
// *Action: Specify the name of an existing AQ queue.
/
32819, 00000, "AQ queue %s must be a normal queue"
// *Cause:  An operation was attempted where the specified AQ queue exists 
//          but is not a normal queue.
// *Action: Specify the name of an AQ queue which was created as a normal
//          queue (NORMAL_QUEUE).
/
32820, 00000, "subscriber queue and exception queue must use same message system link"
// *Cause:  An operation was attempted for INBOUND propagation where the 
//          specified subscriber queue and exception queue reference 
//          different message system links.
// *Action: Specify an exception queue that is a registered foreign queue
//          of the same message system link as the subscriber queue.
/
32821, 00000, "subscriber queue and exception queue must have same payload type"
// *Cause:  An operation was attempted for OUTBOUND propagation where the 
//          AQ queues used for the subscriber queue and exception queue 
//          have different payload types.
// *Action: Specify an exception queue that has the same payload type as
//          the subscriber queue.
/
32822, 00000, "subscriber %s is marked for removal"
// *Cause:  An administration operation was attempted for a subscriber which
//          is marked for removal. If attempting to remove a subscriber, the 
//          Messaging Gateway agent is not running or is running but unable
//          to remove the subscriber at this time.
// *Action: Do not issue propagation administration commands for a subscriber
//          for which removal is pending. Wait for the subscriber to be 
//          removed by the agent or issue REMOVE_SUBSCRIBER with the FORCE
//          option to force the subscriber to be removed.
/
32823, 00000, "subscriber exists for queue %s and destination %s"
// *Cause:  An attempt was made to create a propagation subscriber when one
//          already exists for the specified queue and destination pair.
// *Action: Specify a different queue and destination pair, or remove the
//          subscriber using that pair and retry the operation.
/
32824, 00000, "schedule exists for source %s and destination %s"
// *Cause:  An attempt was made to create a propagation schedule when one 
//          already exists for the specified source and destination pair.
// *Action: Specify a different source and destination pair, or remove the
//          schedule using that pair and retry the operation.
/
32825, 00000, "Messaging Gateway agent has not been started"
// *Cause:  An attempt was made to shut down the Messaging Gateway agent when
//          it is not started.
// *Action: No action required.
/
32826, 00000, "Messaging Gateway agent has already been started"
// *Cause:  An attempt was made to start the Messaging Gateway agent when
//          it is already started.
// *Action: No action required.
/
32827, 00000, "Messaging Gateway agent must be shut down"
// *Cause:  An operation was attempted that requires the Messaging Gateway 
//          agent to be shut down.
// *Action: Issue SHUTDOWN, wait for MGW_GATEWAY view to show a NOT_STARTED
//          status, and retry the operation. CLEANUP_GATEWAY may need to be
//          issued to reset the gateway state if the agent fails to shut down
//          after a reasonable time period.
/
32828, 00000, "Messaging Gateway agent must be running"
// *Cause:  An operation was attempted that requires the Messaging Gateway
//          agent to be started and responsive.
// *Action: Issue STARTUP, wait for MGW_GATEWAY view to show a RUNNING status,
//          and retry the operation.
/
32829, 00000, "Messaging Gateway agent cannot be shut down while it is starting"
// *Cause:  An attempt was made to shut down the Messaging Gateway agent when 
//          it is in the process of starting and initializing.
// *Action: Wait for MGW_GATEWAY view to show a RUNNING status and retry the
//          operation. CLEANUP_GATEWAY may need to be issued to reset the 
//          gateway state if the agent fails to start after a reasonable
//          time period.
/
32830, 00000, "result code %s returned by Messaging Gateway agent"
// *Cause:  The Messaging Gateway agent terminated abnormally due to an 
//          unexpected error.
// *Action: Review the Messaging Gateway log file for further information
//          regarding the problem. Resolve the problem and start the 
//          Messaging Gateway agent. Contact Oracle Support Services if 
//          the problem cannot be resolved.
/
32831, 00000, "timed out trying to acquire administration lock"
// *Cause:  A timeout occurred when attempting an administration operation.
//          Either an administration operation was attempted while the 
//          Messaging Gateway agent was starting and initializing, or 
//          two administration operations were attempted at the same time.
// *Action: Retry the operation. If the Messaging Gateway agent is starting, 
//          wait for MGW_GATEWAY view to show a RUNNING status and retry the
//          operation.
/
32832, 00000, "failure %s trying to acquire administration lock"
// *Cause:  An unexpected error occurred trying to acquire administration lock.
// *Action: Retry the operation. Contact Oracle Support Services if the error
//          persists.
/
32833, 00000, "failure %s trying to release administration lock"
// *Cause:  An unexpected error occurred trying to release administration lock.
// *Action: Contact Oracle Support Services if the error persists.
/
32834, 00000, "Messaging Gateway agent user has not been set"
// *Cause:  A Messaging Gateway agent user has not been configured.
// *Action: Create a database user having role MGW_AGENT_ROLE and issue
//          DB_CONNECT_INFO to configure an agent user.
/
32835, 00000, "database user %s does not exist"
// *Cause:  The specified database user does not currently exist.
// *Action: Create the user and grant all necessary privileges and roles.
/
32836, 00000, "database user %s must be granted role %s"
// *Cause:  The specified database user does not have a required role.
// *Action: Grant the user the indicated role.
/
32837, 00000, "invalid configuration state %s"
// *Cause:  The specified configuration state is invalid.
// *Action: Remove and re-create the configured entities. Contact Oracle 
//          Support Services if the problem cannot be identified or resolved.
/
32838, 00000, "exceeded maximum number of properties"
// *Cause:  An attempt was made to alter a property list where the number 
//          of properties in the resulting list exceeds the maximum allowed.
// *Action: Order the elements of the alter list differently so the number 
//          of elements in the resulting list is less than the maximum.
/
32839, 00000, "property %s is reserved, names with MGWPROP$_ prefix are not valid"
// *Cause:  An attempt was made to specify a reserved name for a property name.
// *Action: Use a non-reserved name.
/
32840, 00000, "property name cannot be NULL"
// *Cause:  An attempt was made to use NULL for a property name.
// *Action: Specify a non-NULL name.
/
32841, 00000, "invalid value for property %s"
// *Cause:  An attempt was made to specify an invalid value for a property.
// *Action: Specify a valid property value.
/
32842, 00000, "value for property %s cannot be altered"
// *Cause:  An attempt was made to alter a property that cannot be altered.
// *Action: Retry the operation without altering the indicated property.
/
32843, 00000, "value for %s is outside the valid range of %s to %s"
// *Cause:  A value was specified that is not in the valid range.
// *Action: Specify a value within the indicated range.
/
32844, 00000, "exceeded maximum number of %s values"
// *Cause:  An attempt was made to add a value of the specified type but
//          the maximum number of such values has been reached.
// *Action: No action required.
/
32845, 00000, "Messaging Gateway agent is already running"
// *Cause:  An attempt was made to start the Messaging Gateway agent 
//          when an agent instance is already running.
// *Action: Shut down the Messaging Gateway agent currently running, 
//          verify the agent process has been terminated, and start 
//          the Messaging Gateway agent.
/
32846, 00000, "Messaging Gateway agent cannot be started; status is %s"
// *Cause:  An attempt to start the Messaging Gateway agent failed due to 
//          the indicated agent status. A BROKEN status indicates a problem 
//          that requires user intervention before the agent can be started.
// *Action: Review the MGW_GATEWAY view and the Messaging Gateway log file 
//          for further information. Resolve the problem and start the 
//          Messaging Gateway agent. Contact Oracle Support Services if 
//          the problem cannot be resolved.
/
32847, 00000, "operation is not supported on this platform"
// *Cause:  An attempt was made to perform an operation that is not 
//          supported on this platform.
// *Action: Switch to a platform on which the operation is supported.
/
32848, 00000, "foreign queue DOMAIN required for JMS unified connections"
// *Cause:  A DOMAIN was not specified when registering a foreign queue
//          for a messaging system link that is configured to use the 
//          JMS unified messaging model.
// *Action: Specify a non-NULL value for the DOMAIN parameter.
/
32849, 00000, "%s cannot be set unless %s is set"
// *Cause:  An attempt was made to specify a value for a parameter that 
//          cannot be set unless an associated parameter is also set.
// *Action: Specify a valid value for both parameters, or, do not specify
//          a value for either parameter.
/
32850, 00000, "agent %s does not exist"
// *Cause:  The specified Messaging Gateway agent name did not exist.
// *Action: Specify an existing agent name.
/
32851, 00000, "agent %s already exists"
// *Cause:  The specified Messaging Gateway agent name already existed.
// *Action: Specify a different agent name.
/
32852, 00000, "agent %s is referenced by a message system link"
// *Cause:  An attempt was made to remove a Messaging Gateway agent 
//          currently referenced by one or more message system links.
// *Action: Remove all message system links associated with this agent
//          and retry the operation.
/
32853, 00000, "propagation job %s does not exist"
// *Cause:  The specified propagation job identifier did not exist.
// *Action: Specify an existing identifier.
/
32854, 00000, "propagation job %s already exists"
// *Cause:  The specified propagation job identifier already existed.
// *Action: Specify a different identifier.
/
32855, 00000, "propagation job %s is marked for removal"
// *Cause:  An administration operation was attempted for a propagation job
//          which is marked for removal. If attempting to remove a job, the
//          Messaging Gateway agent is not running or is running but unable
//          to remove the job at this time.
// *Action: Do not issue propagation administration commands for a job
//          for which removal is pending. Wait for the job to be removed 
//          by the agent, or, issue REMOVE_JOB with the FORCE option to 
//          force the job to be removed.
/
32856, 00000, "operation not supported for propagation job"
// *Cause:  An attempt was made to perform an operation that was not 
//          supported for a propagation job.
// *Action: Perform the operation using a propagation job procedure.
/
32857, 00000, "propagation job exists for source %s and destination %s"
// *Cause:  An attempt was made to create a propagation job, subscriber,
//          or schedule when a propagation job already existed for the 
//          specified source and destination pair.
// *Action: Specify a different source and destination pair, or remove the
//          propagation job using that pair and retry the operation.
/
//
// Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
//
// NAME
//   olap33k.msg - OLAP messages in the 33,000 range
//
// DESCRIPTION
//   Provides the OLAP error messages for inclusion in the RDBMS
//
// NOTES
//   Concatenated with other files to build the RDBMS message file
//   If you change this:
//     cd rdbms/mesg
//     gmake concat
//     gmake oraus.msb
//
// MODIFIED    (MM/DD/YY)
// jcarey       08/26/15 - add 33279
// cjohnson     08/12/15 - reduce length of message 33422
// yuli         03/25/15 - remove unused 34374
// cchiappa     02/24/15 - Remove xspq
// cjohnson     01/21/15 - MXCGCHRL01
// jcarey       12/15/14 - add dberrplat
// cjohnson     02/25/14 - objeng messages,
// ghicks       04/21/14 - improve wording of XSDPART20 error, add 33277, 33433 
// cjohnson     07/22/13 - mxdcl02
// panzho       07/10/13 - panzho_bug-16864696
// cjohnson     03/21/13 - improve CFINDVAL02 error
// mstasiew     05/10/12 - 13537982 unreserve 36425-36599 for SQL DDL for Cubes
// smierau      03/22/12 - Change text for 35563
// cvenezia     01/30/12 - Bug 12992498: add _EIFIMPRT01 (33393)
// wechen       01/18/12 - add _XSRWLD15_, _XSRWLD16_, _XSRWLD17_
// ghicks       01/17/12 - add PMTUPDAT07
// cjohnson     09/01/11 - remove vcfmt002
// jdhunter     06/02/11 - remove _XSOQMAP_BAD_MAP_ (36029)
// ckearney     05/12/11 - remove cbas
// rsamuels     03/22/11 - reserve range 36425-36599 for SQL DDL for Cubes
// akociube     02/23/11 - Add CBAS errors
// jdhunter     01/25/11 - add _XSOQMAP_BAD_MAP_ (36029)
// ckearney     01/24/11 - add 37423
// smierau      01/04/11 - Add 35585 for _XSRWLD14_
// ghicks       12/29/10 - add DIMSHOW01, DIMSHOW02
// byu          11/12/10 - add 37528 for _XSOBJORG_BAD_HIER_
// esoyleme     08/17/10 - cube dml
// jcarey       10/20/10 - update 36779 cause text
// jcarey       09/22/10 - correct syntax in msg 36779
// smesropi     08/02/10 - add 33409 for _EIFEXPRT16_
// yuli         09/09/10 - raise minimum compatible to 11.0
// cjohnson     05/05/10 - remove obsolete messages
// almurphy     04/01/10 - add 36145 for _XSSETPROP01_
// ckearney     03/31/10 - add error 37421
// ghicks       03/17/10 - add XSSPROPNA
// ckearney     02/05/10 - remove "bytes" from error 33674
// byu          01/15/10 - Add extra text to 35571 to make it more meaningful
// ruqtang      01/11/10 - remove XSAGDNGL46
// jdhunter     12/17/09 - Bug 8572767: OBJORG errors (37093-37099, 37166-37170)
// csperry      10/01/09 - Add 37575-37577 Invalid oplog component specified
// cchiappa     04/06/09 - Add sparsity advisor unexpected change message
// ckearney     03/26/09 - add EXPRESS AW errors 37580 to 37582
// ghicks       03/10/09 - _MXDSS18_, tinker with _MXDSS25_ wording
// ghicks       02/09/09 - _MXDSS25_
// wechen       02/04/09 - Add 37553, 37554
// ckearney     01/27/09 - _XSTFDSC06_
// ghicks       01/06/09 - _MXDSS28_
// cchiappa     12/17/08 - Add 37171: invalid number to SIGNAL
// cjohnson     12/04/08 - toomany errors
// smierau      11/24/08 - Add 35583
// cjohnson     11/27/08 - change deldent02
// cjohnson     11/19/08 - remove valset00
// cjohnson     10/22/08 - apaberr01
// cchiappa     10/22/08 - Add error logging to message
// wechen       10/18/08 - add 35582
// cjohnson     10/13/08 - ftcode00
// akociube     10/13/08 - more logging errors
// smierau      08/25/08 - Clean up modifications comments.
// wechen       08/20/08 - add 37552
// cchiappa     08/08/08 - Add DBMS_CUBE_LOG spec errors
// smierau      08/05/08 - Add logging reject messages.
// smierau      06/25/08 - added 34123 for rejected records log
// cjohnson     06/30/08 - remove mxdcl34 mxdcl35
// jcarey       06/18/08 - apibranch support
// cjohnson     07/08/08 - fix bad merge
// cvenezia     05/22/08 - add 37165
// wechen       05/14/08 - fix cause/action for 37541 through 37551
// jcarey       05/22/08 - restore 33275
// cchiappa     05/16/08 - Add logging errors
// ckearney     05/17/08 - add _OCI13_ & _OCI14_, 34805 & 34806 respectively
// wechen       05/14/08 - add 37541 through 37551
// jcarey       05/02/08 - add 33275
// jcarey       05/12/08 - add 33299
// ghicks       04/15/08 - cause and action for REGRESS00
// ruqtang      04/10/08 - add new hierck err mesg
// ckearney     11/30/07 - add 37163
// zqiu         04/12/07 - add 37420
// wechen       03/20/07 - add 37162
// mdombros     01/17/07 - add _XSTBLFUNC14_, change XSOTEXPAND00 to
//                         _XSTBLFUNC13_
// zqiu         01/12/07 - error for explain_mview on CREATE CUBE MV
// ghicks       12/27/06 - add _XSLPDSC07_
// ruqtang      12/15/06 - add _XSAGMODDIM02_
// cwelton      12/08/06 - add XSCCLOAD01 and XSCCLOAD02
// ruqtang      11/21/06 - add XSDPART25
// ruqtang      11/13/06 - add XSAGDNGL51
// hyechung     11/06/06 - add and modify XSMXCLEAs
// cjohnson     10/31/06 - makedcl10
// jcarey       10/30/06 - no aw detach when cursor open
// jcarey       10/24/06 - add _XSCHKMAKE01_
// ckearney     10/16/06 - add XSANALYZ04, 05 & 06, delete property stat msgs
// ruqtang      10/12/06 - add _XSCCOMP23, XSVPART09_
// hyechung     10/18/06 - add XSVALSETs
// hyechung     10/18/06 - add XSAGDNGL16
// hyechung     10/12/06 - add causes and actions
// sdonnell     10/11/06 - readonly
// ruqtang      09/18/06 - cc group mesg
// esoyleme     09/18/06 - xscoqa messages
// jcarey       09/18/06 - Dont rollback non-frozen AW to freeze point
// csperry      09/12/06 - Add no aggcount error
// ghicks       08/30/06 - add XSRESREV05
// cwelton      08/25/06 - add XSAGGR35, XSCCOMP17
// cchiappa     08/22/06 - Add more COT errors
// cjohnson     08/11/06 - remove obsolete messages
// cjohnson     08/15/06 - remove obsolete errors
// wechen       08/14/06 - recycle 37120, 37150, 37151, 37157
// jcarey       07/26/06 - add DBERRSYNC
// ruqtang      08/02/06 - XSRELGID24, 25
// wechen       07/31/06 - add 37161
// ruqtang      07/21/06 - add XSRELDEP00
// cchiappa     07/12/06 - Disallow DELETE of AW with COT 
// ghicks       07/03/06 - new XSAWRESREVnn messages
// mdombros     06/12/06 - add 36825, tabfun arg expansion failed
// jcarey       06/15/06 - add xsILPMLTPreOp01
// ruqtang      06/16/06 - change err msg for GID Property
// pludwig      06/13/06 - txn117409: LOOP OPTIMIZED and LOOP AGGMAP() 
// ruqtang      06/12/06 - more err msg for groupset option in gid
// ruqtang      05/31/06 - modify XSAGGR33
// ruqtang      06/06/06 - Add XSRELGID19, 20 
// ckearney     06/05/06 - add ANALYZDIM00 & ANALYZCUBE00 
// wechen       05/22/06 - add 37160
// jcarey       05/25/06 - comment
// wechen       05/26/06 - fix 37159
// mdombros     06/01/06 - join pushing failed msg
// ckearney     05/19/06 - update lmgen messages 
// ruqtang      05/24/06 - add XSRELGID18
// cchiappa     06/02/06 - OLAP ORGANIZED tables error messages
// cchiappa     04/18/06 - OLAP ORGANIZED tables 
// jcarey       04/14/06 - aw rollback 
// wechen       05/12/06 - add 37159
// cjohnson     04/05/06 - timestamp
// cchiappa     04/07/06 - Reserve error number range for AW MVs 
// pludwig      03/24/06 - txn117234: Add XSTBLFUNC10, 11, 10
// cjohnson     03/28/06 - fileset04
// cjohnson     03/24/06 - date_format
// cchiappa     03/20/06 - Eliminate DBERR00 
// cjohnson     03/06/06 - datetime dim 
// ckearney     02/09/06 - update sql import error messages 
// cwelton      03/01/06 - cleanup CC error messages 
// ghicks       02/08/06 - add _OCI12_, modify wording of a couple of others
// cchiappa     01/12/06 - Adjust Aggregate errors to reflect optional aggmap 
// ghicks       12/21/05 - remove DTNAMES00, DTNAMES01 (MONTHNAMES, DAYNAMES)
// ghicks       12/12/05 - add PRMPINIT217, 218, 219
// ckearney     11/29/05 - add stat prop message
// ckearney     11/16/05 - add analyze errors 
// cchiappa     12/01/05 - Add NXHANDLEALLO 
// ghicks       11/15/05 - add _VCHEX01_
// jcarey       10/26/05 - add freezing 
// cchiappa     11/07/05 - More verbose sparsity advisor messages 
// ruqtang      10/11/05 - Add _XSHIERCK09_
// cchiappa     10/03/05 - Add fatal UPDATE error 
// cjohnson     09/26/05 - stateq01
// ghicks       09/23/05 - add _PHYS03_, _PHYS04_
// ghicks       09/22/05 - add _SNSYN116_
// ruqtang      09/07/05 - add _XSHIERCK06-8_
// ghicks       08/24/05 - add _QFSVNS00_
// cjohnson     08/14/05 - qfget02 d ->ld 
// ghicks       08/02/05 - add _NLSSORT01_
// ilyubash     06/17/05 - spell check a few errors
// cchiappa     07/20/05 - Add 33271: Simulated paging error 
// zqiu         07/21/05 - add _XSPGERRPQUPD_ 
// jcarey       06/29/05 - fix pgfetch messages 
// ruqtang      06/30/05 - add XSHIERCK05,06 and remove HIERCHECK_
// ghicks       06/29/05 - add _XSCHGDFN01_, add NTEXT to _HASHSCAN01_
// ruqtang      06/21/05 - add XSHIERCK03,04
// ghicks       06/18/05 - add _HASHSCANxx_
// zqiu         06/20/05 - better DBERR20 
// ruqtang      06/16/05 - add XSAGMODHIER02
// zqiu         06/10/05 - add DBERR20 
// ghicks       06/08/05 - remove _MXDCL07_, _MAKETD**_
// ghicks       04/19/05 - add _XSINPUTERR_
// dpeltier     04/21/05 - some new EIF messages 
// ghicks       04/19/05 - _XSAGGCNTMOVE01_ .. 06_
// ghicks       03/25/05 - add XSLANGDM02
// cchiappa     03/30/05 - Remove 37081 
// akociube     03/17/05 - add XSTBLFUNC09
// ghicks       03/18/05 - update list of valid types for _XSMCSESS04_
// cjohnson     03/16/05 - remove xscgrank05 
// ghicks       03/17/05 - add XSLANGDM*; tinker with XSSPROP* punctuation.
// dpeltier     03/17/05 - really complicated iterators 
// cchiappa     03/15/05 - Add XSAGDNGLPREC (33009) 
// cjohnson     03/11/05 - remove unused errors 
// cwelton      03/11/05 - add XSAGDNGL49, XSAGDNGL50
// cchiappa     03/10/05 - Add XSPQEXPRESS (37069)
// cjohnson     03/02/05 - xscgrank05
// ghicks       03/02/05 - add OPCREATE01, O2; remove PPENG04
// cchiappa     03/01/05 - Tweak sps adv errors based on errors_us feedback
// cjohnson     02/16/05 - delete mxcgaf04 
// cchiappa     02/15/05 - Tweak sparsity advisor messages 
// dpeltier     02/15/05 - partitioning / aggcount stuff
// ghicks       02/12/05 - add _LOCKCHECK01_
// cchiappa     02/10/05 - Add DELDENTANON 
// cchiappa     02/08/05 - Move errors out of reserved ranges 
// ruqtang      01/31/05 - add _XSCGMDLAGG09-13_
// dpeltier     01/24/05 - add messages for _mvtopart 
// ghicks       01/20/05 - add XSFCAST28 (36951)
// cchiappa     01/10/05 - More sparsity advisor messages 
// wechen       12/28/04 - add 37118 through 37120, 37150 through 37158
// ilyubash     12/09/04 - add DBERR07 (33274)
// cchiappa     11/29/04 - Sparsity advisor errors 
// ckearney     11/01/04 - add 36849 & 36850, add %a to 36886
// ghicks       10/31/04 - spelling; remove MXSQL25, XSAGDNGL45
// dpeltier     10/13/04 - MXMSERR01 takes a qon node 
// pludwig      10/04/04 - Fix assignments of scalar to temp scalar variables
// ruqtang      09/14/04 - correct more mesg for XSRELTBL/XSRELGID
// ruqtang      09/08/04 - XSRELGID17
// esoyleme     09/07/04 - message for transportable platform mismatch 
// cchiappa     08/20/04 - Move bad error messages
// ghicks       07/28/04 - slight adjustment to MXRECAP09
// ghicks       07/19/04 - delete EIFEXPRT00
// cjohnson     07/13/04 - Add XSBASLIM00
// cchiappa     06/29/04 - Add XSAGGRFORM
// ghicks       06/30/04 - eliminate MODGONE00, add MDQUERY01
// dpeltier     06/25/04 - xsLmsMesg changes
// cwelton      06/24/04 - XSCCOMP11 thru XSCCOMP15
// zqiu         06/23/04 - more action for DBERRBSZ
// ckearney     06/23/04 - Add XSSRF04, XSSRF05 & XSSRF06
// cwelton      06/28/04 - Cleanup cc error messages
// ghicks       06/17/04 - add SNSYN205
// cchiappa     06/17/04 - Fix XSAGGR33 arguments
// cchiappa     06/09/04 - Tweak cause for XSAGGCNTPROP
// cchiappa     06/07/04 - Add XSAGGCNTPROP
// ghicks       06/03/04 - remove obsolete PRMPINIT initializers
// dpeltier     06/01/04 - XSCCOMP0[456] wording, add XSCCOMP10
// dpeltier     05/17/04 - aw_upgrade -> polymorphic convert
// cchiappa     05/14/04 - Add XSAGPROPFROM
// dpeltier     05/12/04 - AGGCOUNT
// ghicks       05/03/04 - XSSQLMDQ messages
// dpeltier     04/15/04 - AWUPG messages
// cchiappa     04/09/04 - Add XSSPROPDTYPE
// cchiappa     04/09/04 - Fix text for XSMXAGGR10
// cchiappa     04/09/04 - Add XSAGGRRUVCV
// cchiappa     03/29/04 - Spell correct DBERR18, text for 33269
// ruqtang      03/29/04 - RELTBL15
// dpeltier     03/16/04 - make EIFEXPRT01 more general
// dpeltier     03/03/04 - XSMXAGGR06
// cjohnson     03/02/04 - obsolete errors
// ilyubash     03/15/04 - Allow add SESSION in MULTI
// cjohnson     02/18/04 - obsolete errors
// cjohnson     02/23/04 - obsolete errors
// ghicks       02/05/04 - delete obsolete messages, add XSSPFC01
// dpeltier     01/30/04 - MAINTCHK messages
// ilyubash     12/29/03 - Add messages delayed since 10gR1
// jcarey       12/19/03 - add XSDBVALID 05, 06
// cwelton      08/18/03 - Add XSCCOMP00 - XSCCOMP09
// dpeltier     08/07/03 - add compressed composite messages
// ckearney     08/06/03 - add _XSSRF03_ message & update other SRF messages
// ghicks       08/05/03 - fix %p (-> %%p) in VCFMT005
// wechen       08/04/03 - add 37117 for xsldolap
// cjohnson     07/23/03 - MAXDIMS 256 
// cchiappa     07/31/03 - Fix XSDPART24
// esoyleme     07/29/03 - add 37100
// pludwig      07/29/03 - txn107486: Concat custom members
// ghicks       07/22/03 - reintroduce QFHEAD01 in case of need
// ckearney     07/21/03 - add _XSTBLFUNC08_
// zqiu         07/22/03 - change err text of 36770
// rtang        07/24/03 - add XSAGDNGL48
// ghicks       07/17/03 - reword QFHEAD06; 86 QFHEAD01; QFHEAD causes/actions
// jcarey       07/16/03 - More cause and actions
// jcarey       07/15/03 - add finegrained access control error message
// zqiu         07/09/03 - add DBERRBSZ
// ilyubash     07/03/03 - Add Bad Expression error to Table Fucntions
// cchiappa     06/24/03 - Eliminate XSPQRO (37071)
// ghicks       06/23/03 - drop word 'dimension' from PERMIT06
// wechen       06/17/03 - add 37116 for xsldolap
// ilyubash     06/13/03 - Add Rollback support error messages
// pludwig      06/09/03 - txn107433: dup concat leaves in model DIMENSION stmt
// rtang        06/05/03 - add more errs for XSCGMDLAGG
// ghicks       05/29/03 - fix run-on sentence in 37002
// cchiappa     05/28/03 - Eliminate session sharing stuff
// wechen       05/27/03 - add 37115 for xsldolap
// pludwig      05/27/03 - txn106886: More UNIQUE Concats
// rtang        05/19/03 - XSMCSESS08
// dpeltier     05/19/03 - 9i2 compatibility & EIF
// ghicks       05/15/03 - 86 FCREATE06
// ghicks       05/09/03 - 86 QFGET04
// cwelton      05/08/03 - XSCCUBE01/02
// ghicks       05/07/03 - PERMIT06
// dpeltier     05/07/03 - add ESDREAD17, XSVPART07
// dpeltier     05/07/03 - partition list maintenance
// cjohnson     05/06/03 - TRGPRG02
// ghicks       04/29/03 - edit causes/actions for 4/21/03 messages
// cjohnson     04/29/03 - TRGSET01
// cchiappa     04/21/03 - Add XSPQRO
// ghicks       04/21/03 - CINSERT06/07, CMOVE03; reword XSMCSESS messages
// cjohnson     04/21/03 - TRIGGER
// rtang        04/21/03 - Add more XSRELGID err msg
// rtang        04/16/03 - XSMCSESS07
// dpeltier     04/08/03 - list partitioning changes
// cwelton      04/08/03 - 
// pludwig      04/07/03 - txn105869: Unique CONCATs
// rtang        03/28/03 - More err msg for custmem
// cwelton      04/03/03 - 
// cchiappa     03/26/03 - Add DBERRTABLE
// cjohnson     03/26/03 - TRANSLATEBYTES 
// cchiappa     03/19/03 - DBERRLEN 8 byte arguments
// ghicks       03/19/03 - Add Hide/unhide model msg
// dpeltier     03/14/03 - change some partitioning messages
// cchiappa     03/13/03 - Add DBERRLEN
// cchiappa     03/06/03 - Reword DBDESC06
// esoyleme     02/06/03 - SQL spreadsheet error
// cjohnson     02/24/03 - chgdfn inverted
// cwelton      03/26/03 - XSAGPARTDEP - aggregate + recursive partitions
// cwelton      03/03/03 - XSAGHIERPART - aggregate + partitions
// dpeltier     02/14/03 - more partitioning stuff
// dpeltier     02/13/03 - bad compatibility settings for object define
// dpeltier     02/10/03 - some small partitioning stuff
// ilyubash     01/20/03 - New-gen-present errors
// ghicks       01/15/03 - remove (very) obsolete MAINTAIN COMPACT reference
// cjohnson     01/10/03 - sharemap 
// zqiu         01/13/03 - remove _XSAWRENAME_*
// cchiappa     01/15/03 - Add message for text ag var reuse
// esoyleme     12/24/02 - fix message for 37080
// cjohnson     12/22/02 - TEMP dimension
// zqiu         01/03/03 - add 37060, 37061 for aw_rename
// wechen       12/19/02 - add 37111, 37112, 37113 & 37114 for xsldolap
// dpeltier     12/09/02 - multiwriter dimension maintenance
// ilyubash     12/02/02 - Multiwriter work
// dpeltier     11/19/02 - more partitioning
// ghicks       12/04/02 - substitution marker in MXCGVAR01
// cjohnson     11/26/02 - export partition template
// pludwig      11/19/02 - txn105041
// ghicks       11/16/02 - various small fixes
// rtang        11/15/02 - Fix MCSESS Error Msg
// rtang        11/12/02 - add XSMCSESS02
// ckearney     11/12/02 - Updated MXSQL24 & SQLOUT11
// ilyubash     11/11/02 - Add more Multiwriter errors
// cchiappa     11/04/02 - Optional aggmap in allocate (SNSYN163)
// dpeltier     11/04/02 - LIST partitioning
// dpeltier     11/02/02 - Add DELDENT05
// pludwig      11/01/02 - txn104999
// ghicks       10/28/02 - add QFSVNS01
// ilyubash     10/24/02 - More Multiwriter error msgs
// pludwig      10/23/02 - txn104769
// cchiappa     10/21/02 - Add BADSPROP, NOAGM
// cjohnson     10/19/02 - sort hierarchy
// ghicks       10/17/02 - add 'missing or' to MXIMPORT04
// dpeltier     10/16/02 - BASE -> CONCAT
// dpeltier     10/14/02 - more partitioning
// rtang        10/14/02 - messages for mnt session
// pludwig      10/12/02 - txn104553
// cchiappa     10/08/02 - Add _XSAGDIMBREAK_
// esoyleme     10/04/02 - more advisor messages
// dpeltier     09/30/02 - subpartitioning
// cchiappa     09/27/02 - Flow -> Drop
// cjohnson     09/27/02 - chgdims limit arg
// esoyleme     09/23/02 - aggregate advisor messages
// ilyubash     09/20/02 - Add more XSACQUIRE messages
// ghicks       09/19/02 - texts for AW LIST and AW(LISTALL)
// cchiappa     09/19/02 - Add 37003 - May not xeq in pq sess
// ckearney     09/12/02 - Change _XSSRF01 message
// dpeltier     09/11/02 - fix MXPSHPOP03
// ilyubash     09/05/02 - added multiwriter error msgs
// ilyubash     09/11/02 - Adding new DTB error messages
// ilyubash     09/04/02 - Add table function describe error messages
// dpeltier     09/04/02 - more partitioning
// dpeltier     08/28/02 - more partitioning
// cchiappa     09/04/02 - Add XSAGDIMFLOW
// rtang        08/22/02 - Add more error for GroupingID
// dpeltier     08/19/02 - Partitioned variables messages
// cchiappa     09/03/02 - Modify PHYS0{0,1}
// cchiappa     08/15/02 - Add autoupdate & autocommit error
// dpeltier     08/08/02 - More partitioning messages
// rtang        08/05/02 - Change RELTBL mesg
// cwelton      08/05/02 - Add XSTBLFUNC06
// ckearney     08/07/02 - Add _XSSRF02_ & _XSTBLFUNC07_
// cchiappa     08/02/02 - Add 37002, OLAP failed to initialize
// cchiappa     08/02/02 - Fix XSAGDNGL24, XSAGDNGL43
// cchiappa     08/01/02 - Add 36961, OLAP not available
// ckearney     08/01/02 - Add _XSSRF01_
// dpeltier     07/10/02 - XSDPART messages
// ghicks       07/30/02 - MAKEDCL35 - "date dimension" -> "time dimension"
// cchiappa     07/30/02 - Add XSUNUPDATED
// ghicks       07/25/02 - change MXPROPER04 to substitute min/max
// ilyubash     07/24/02 - Added MXDSS29
// pludwig      07/25/02 - txn103641
// rtang        07/23/02 - Add XSAGDNGL47
// pludwig      07/23/02 - pludwig_txn103382
// cwelton      07/24/02 - Add XSTBLFUNC05
// cjohnson     07/22/02 - XSSCLLEV09
// cwelton      07/17/02 - Add XSTBLFUNC04
// cchiappa     07/16/02 - Modify XSMXAGGRFROM
// pludwig      07/15/02 - pludwig_txn103382
// cchiappa     07/08/02 - Remove text from XSAGGR33 & XSAGGR34
// ghicks       07/02/02 - fix OFCENG02 ("specifiy")
// ckearney     06/27/02 - Added _SQLOUT20_ - ORA-35587.
// ckearney     07/10/02 - Added _XSSRF00_ 
// esoyleme     06/20/02 - Fix XSAGGR33
// cchiappa     06/20/02 - Add dataflow XSMXAGGR messages
// cchiappa     05/24/02 - Kill XSAGINFO01, add header
// jcarey       05/24/02 - LRG97582 - bad memory references past end-of-buffer
// dpeltier     05/23/02 - Fix NTEXT garbage in error messages
// edashevs     ??/??/?? - edashevs_txn102340
// zqiu         05/14/02 - change OLAP_PAGE_POOL_SIZE to big int
// cwelton      05/04/02 - Implement LMINFO function
// cchiappa     05/02/02 - Alias dimension for parents in allocate
// ckearney     05/02/02 - sql SELECT work
// cchiappa     04/25/02 - Allow agg of unlike-dimensioned vars in one command
// cwelton      04/12/02 - obj(aggmaplist) function
// rtang        04/07/02 - Single dimension model only as dynamic model
// rtang        ??/??/?? - rtang_txn105656
// ghicks       ??/??/?? - ghicks_txn105486
// cchiappa     ??/??/?? - cchiappa_txn105431
// cjohnson     03/27/02 - LEVELREL args for LAG/MOVING functions
// ghicks       03/13/02 - AIX porting bug 2194536 (again);
// ilyubash     02/01/02 - Gracefully handle out-of-temp-space problems.
// ghicks       01/26/02 - eversion and eifversion;
// ghicks       01/19/02 - allow obj(numvals) etc. to return > MINSB8MAXVAL;-
// cjohnson     01/18/02 - remove h files
// ghicks       01/18/02 - new Geneva functionality
// ghicks       01/11/02 - remove STRIP command;
// cchiappa     01/08/02 - Fix allocate bugs
// dpeltier     12/14/01 - More AW name: aliases, different semantics, etc.
// edashevs     ??/??/?? - edashevs_txn101085
// pludwig      12/12/01 - Fix Bug 2139758 - 64bit problem in xskvbn.c
// dpeltier     12/11/01 - AW names / attachnames
// edashevs     ??/??/?? - edashevs_txn100848
// jcarey       12/05/01 - causes and actions.
// dpeltier     12/05/01 - EIF export, FILEREAD, implicit conversion exceptions
// ahopeman     11/29/01 - Table functions use xsinterp to execute commands
// dpeltier     11/29/01 - Surrogate bug 2110865
// ghicks       11/29/01 - filequery
// ilyubash     11/29/01 - Segv in EIF code without running CDA
// cwelton      11/27/01 - Table Function error msg
// dpeltier     11/20/01 - Clean up LMS messaging; remove OS translation
// pludwig      11/20/01 - CONCAT base add and export exclude
// rtang        11/20/01 - New requirement of dynamic model at current stage
// cjohnson     11/19/01 - olint fixes
// jcarey       ??/??/?? - jcarey_txn100717
// ilyubash     11/16/01 - Further support for directory aliases
// ghicks       11/16/01 - allow (slightly crippled) multi-file EIF export;
// rtang        11/14/01 - fill cause and action fields in error message.
// rtang        11/13/01 - number dimesnioned destination relation GID
// dpeltier     11/12/01 - NUMBER dims
// cjohnson     11/01/01 - remove .h files from xseng/globals.h
// dpeltier     10/31/01 - NTEXT: UNISTR(), output functions
// ghicks       10/31/01 - BUG2075951 - INFO(PARSE TYPE) for program/extcall
// dpeltier     10/29/01 - Surrogates: unit tests and bug fixes
// cjohnson     10/26/01 - GUARD/ONEXIT bugs
// ghicks       10/26/01 - porting grp changes for variable name conflicts etc.
// rtang        10/26/01 - hierheight & groupingid support multidim relations
// dpeltier     10/24/01 - Remove data gatherer messages from olap33k.msg
// cjohnson     10/21/01 - fix qa tests
// cjohnson     10/19/01 - remove obsolete code and fix txengcdd.tst
// ilyubash     10/19/01 - Fix AW DELETE and link it into enqueues
// cjohnson     10/16/01 - fix QA log files/  CGETPOS05 xsOOPS
// dpeltier     10/15/01 - Some NTEXT import / export fixes
// dpeltier     10/11/01 - Fix log files for message difs
// dpeltier     10/10/01 - Messages from rdbms/ora*.msb, not olap/aps*.msb
// abatakis     ??/??/?? - Created from old files
//


/**************************************************************
/ Message file for Oracle OLAP
/**************************************************************
/
33000, 00000, "(AGOPEN00) %a %j %s\nAGGMAP %1p cannot be accessed because it was compiled by a more recent version of %2p."
// *Cause: The AGGMAP was already compiled by a more recent version of the
//   product than was being used to execute this command.
// *Action: Recompile the AGGMAP in the current version.


/// Codes from xsagdang.c (100-359)
33002, 00000, "(XSAGDNGL00) %a %j %lf %lf\nIn AGGMAP %1p, the FLOOR argument of %2p must be less than the CEILING argument of %3p."
// *Cause: The user specified a floor argument greater than the
//   ceiling argument.
// *Action: Adjust the floor and ceiling arguments so that the floor is
//   less than the ceiling.
// OBSOLETE, please remove this


33003, 00000, "(XSAGDIMDROP) %j, to be transformed during data load, must be a base dimension and not otherwise referenced in the AGGMAP."
// *Cause: The user tried to specify a dimension in a dataflow-related clause
//   in an aggmap which is already in another RELATION statement, DIMENSION
//   statement, or possibly dimensioning the AGGMAP, or they specified a
//   composite or conjoint dimension, or an object which is not a dimension
// *Action: Remove the conflicting reference or specify a valid object


33004, 00000, "(XSAGDNGL01) %q is not a relationship array."
// *Cause: A RELATION clause in the AGGMAP named a workspace object that
//   is not a relation.
// *Action: Name a valid self-relation in the RELATION statement.


33005, 00000, "(XSAGDIMBREAK) Invalid breakout for dimension %n."
// *Cause: The user specified something that was not a valid dimension or
//   relation on a BREAKOUTDIM line in an aggmap.  This might be
//   because the object was not a valid relation, was not over the
//   specified dimension or was multidimensional
// *Action: Use a valid relation instead


33006, 00000, "(XSAGDNGL02) The relation %q is not related to itself."
// *Cause: A relation was named in a RELATION clause of the AGGMAP that is
//   not a self-relation.
// *Action: Name a valid self-relation in the RELATION statement.


33007, 00000, "(XSAGPVAR) %a %j\n%1p may only be used as one of: an OPERATOR, ARGS, or FROMVAR variable."


33008, 00000, "(XSAGDNGL03) %a %j %j\nThe relation %2p is not a relation over a base dimension of AGGMAP %1p."
// *Cause: A relation was named in a RELATION clause of the AGGMAP that is
//   not a relation for a base dimension of the AGGMAP.
// *Action: Name a valid self-relation in the RELATION statement, that is, one that
//   has a dimension that dimensions the AGGMAP.


33009, 00000, "(XSAGDNGLPREC) %a %j\n In AGGMAP %1p, PRECOMPUTE may only be specified either for the entire AGGMAP or for individual RELATION statements."
// *Cause: PRECOMPUTE was specified both as a line in the AGGMAP and on at least one of the RELATION lines, or it was specified more than once as a line of the AGGMAP.
// *Action: Remove either the PRECOMPUTE line, or the PRECOMPUTE specification for all of the RELATION lines.


33010, 00000, "(XSAGDNGL04) %a %q %n\nRelation %1p is duplicated in the AGGMAP %2p."
// *Cause: Two RELATION statements in the AGGMAP reference the same
//   relation object.
// *Action: Remove the duplicate RELATION statement.


33012, 00000, "(XSAGDNGL05) AGGMAP %n contains invalid syntax."
// *Cause: A line in the AGGMAP contains invalid syntax.
// *Action: Change the line to have valid syntax.


33014, 00000, "(XSAGDNGL06) %a %n %n %j\nIn AGGMAP %1p, variable operator %2p cannot be dimensioned by rollup dimension %3p."
// *Cause: Operator variables cannot have the rollup dimension as
//   one of their base dimensions.
// *Action: Modify the definition of the operator variable so that the
//   current rollup dimension is not one of its bases.


33016, 00000, "(XSAGDNGL07) %a %n %q\nIn AGGMAP %1p, %2p is not a valid operator or variable name."
// *Cause: An invalid argument was supplied to the OPERATOR clause in the
//   relation statement.
// *Action: Fix the OPERATOR clause so that it specifies either a valid
//   variable name or a valid operator.


33018, 00000, "(XSAGDNGL08) %a %n %n %s\nIn AGGMAP %1p, the data type of %2p must be TEXT, not %3p."
// *Cause: An operator variable was supplied whose data type is not TEXT.
// *Action: Change the operator clause to reference a TEXT variable.


33022, 00000, "(XSAGDNGL10) %a %j %j\nThe measure dimension %2p must be a TEXT or ID base dimension that does not dimension AGGMAP %1p, but is in the same analytic workspace."
// *Cause: A MEASUREDIM was supplied in the AGGMAP that was not acceptable.
// *Action: Modify the MEASUREDIM clause to specify a valid dimension.


33024, 00000, "(XSAGDNGL11) AGGMAP %j contains duplicate information."
// *Cause: The aggmap contains multiple instances of a clause that
//   can only be specified once.
// *Action: Remove the extra clause.


33026, 00000, "(XSAGDNGL12) %a %j %q\nIn AGGMAP %1p, %2p is not a valid valueset."
// *Cause: A line in the AGGMAP contains an invalid element where a valid valueset is required.
// *Action: Change the line to have a valid valueset.


33028, 00000, "(XSAGDNGL13) %a %j %n\nIn AGGMAP %1p, %2p should be scalar, not a dimensioned valueset."
// *Cause:  A line in the AGGMAP contains a dimensioned valueset where a scalared valueset is required.
// *Action: Change the line to have a scalar valueset.


33030, 00000, "(XSAGDNGL14) In AGGMAP %j, you can have either a single independent PROTECT statement or PROTECT statements in your RELATION statements."
// *Cause: The AGGMAP either specified multiple PROTECT statements not
//   on a RELATION line, or specified PROTECT statements both
//   independently and on RELATION lines.
// *Action: Correct the AGGMAP to have valid syntax.


33032, 00000, "(XSAGDNGL15) %a %j %n\nIn AGGMAP %1p, VALUESET %2p must be in extra dimensions of the relation."
// *Cause: The RELATION phrase contains a VALUESET which is not over the extra dimension of the RELATION.
// *Action: Correct the RELATION phrase to contain a valueset over the extra dimension or not to contain any valueset.


33034, 00000, "(XSAGDNGL16) %a %j %j\nIn AGGMAP %1p, VALUESET %2p in PRECOMPUTE phrase must be in the self dimension of the relation."
// *Cause: The precompute phrase contains a valueset which is not over the self dimension of the relation.
// *Action: Correct the relation phrase to contain a valueset over the self dimension or not to contain any valueset.


33036, 00000, "(XSAGDNGL17) ARGS option %n must be a TEXT variable."
// *Cause: An ARGS value had a non-text data type.
// *Action: Use a text variable for ARGS.


33038, 00000, "(XSAGDNGL18) %a %j %j\nIn AGGMAP %1p, RELATION %2p contains hierarchy dimensions that are also dimensions of the AGGMAP."
// *Cause: Hierarchy dimensions(extra dimensions) of a RELATION in the AGGMAP are base dimensions of the AGGMAP. 
// *Action: Correct the RELATION not to have hierarchy dimensions(extra dimensions) which are also base dimensions of the AGGMAP.


33040, 00000, "(XSAGDNGL19) %a %j %j %j\nIn AGGMAP %1p, VALUESETS %2p and %3p are both over the same hierarchy dimension."
// *Cause: Two or more different VALUESETs over the same hierarchy dimension are used in the AGGMAP.
// *Action: Use the same VALUESET for two RELATION phrases or use two different VALUESETs over two different hierachy dimensions.


33042, 00000, "(XSAGDNGL20) %a %j %j %j\nIn AGGMAP %1p, VALUESET %2p must qualify all relations dimensioned by %3p."
// *Cause: A VALUESET over a hierarchy dimension qualifies some RELATIONs but not all RELATIONs dimensioned by the same hierarchy dimension.
// *Action: Use the same VALUESET to qualify all the RELATIONs dimensioned by the same hierarchy dimension.


33044, 00000, "(XSAGDNGL21) %a %s %j\nAGGREGATE operator %1p requires a WEIGHTBY clause, but the ARGS clause in AGGMAP %2p did not specify one."
// *Cause: The user used an operator which needs weight values but not provided the weight values.
// *Action: Provide weight values using a WEIGHTBY cluase.


33045, 00000, "(XSAGDNGL51) %a %s %j %n\nThe AGGREGATE operator %1p does not require a weight, but ARGS clause in AGGMAP %2p specified %3p as a weight."
// *Cause: The ARGS variable specified a weight even though one is
//         not needed.
// *Action: Modify the ARGS variable so that it does not specify a weight for
//          that operation.


33046, 00000, "(XSAGDNGL22) In AGGMAP %j, you can specify only one SCREENBY clause."
// *Cause: The AGGMAP contained multiple SCREENBY clauses.
// *Action: Remove one of the SCREENBY clauses from the AGGMAP.


33048, 00000, "(XSAGDNGL23) %a %n %j %j\nIn AGGMAP %1p, the relation %2p and the relation %3p are both over the same base dimension."
// *Cause: The AGGMAP contains incompatible RELATION statements.
// *Action: Remove one of the RELATION statements from the AGGMAP.


33050, 00000, "(XSAGDNGL24) %a %j %j\nAGGMAP %1p cannot be used to aggregate %2p, because it is defined in a different analytic workspace."
// *Cause: The user attempted to aggregate a variable in another
//         analytic workspace.
// *Action: Create an AGGMAP in the other analytic workspace to aggregate
//          that variable.


33052, 00000, "(XSAGDNGL25) AGGMAP %j is a dimensioned AGGMAP; it can only be used to aggregate like-dimensioned variables."
// *Cause: The user attempted to aggregate a variable with different dimensions
//         than the AGGMAP. This is only possible with undimensioned AGGMAPs.
// *Action: Create a new undimensioned AGGMAP.


33058, 00000, "(XSAGDNGL28) %a %j %t %d\nIn AGGMAP %1p, error code %2p is greater than the maximum error code of %3p."
// *Cause: The user specified an invalid ERRORMASK value.
// *Action: Remove the invalid value from the ERRORMASK list.


33060, 00000, "(XSAGDNGL29) In AGGMAP %j, the value for the ERRORLOG MAX option must be greater than 0."
// *Cause: The user specified an ERRORLOG MAX of 0 or a negative number.
// *Action: Adjust the AGGMAP so that it uses a positive number.


33062, 00000, "(XSAGDNGL30) %a %j %n\nIn ALLOCMAP %1p, WEIGHTBY option %2p must be a numerical VARIABLE or FORMULA."
// *Cause: The WEIGHTBY clause requires numerical VARIABLE or FORMULA but the user used invalid objects. 
// *Action: Correct the WEIGHTBY cluase to use a valid numerical VARIABLE or FORMULA.


33064, 00000, "(XSAGDNGL31) %a %j %n\nIn AGGMAP %1p, the hierarchy dimension QDR %2p cannot refer to the related dimension of the relation."
// *Cause: The user specified an invalid hierarchy dimension qualified data reference.
// *Action: Adjust the AGGMAP so that it uses a valid dimension value qualified data reference.


33066, 00000, "(XSAGDNGL32) %a %j %n\nIn AGGMAP %1p, the hierarchy dimension QDR %2p must be a hierarchy dimension of the relation."
// *Cause: The user specified an invalid qualified data reference for the hierarchy dimension.
// *Action: Adjust the AGGMAP so that it uses a valid dimension value qualified data reference.


33068, 00000, "(XSAGDNGL33) %a %j %j\nIn AGGMAP %1p, the hierarchy dimension QDR over dimension %2p must specify a positive dimension offset."
// *Cause: The user specified an invalid qualified data reference for the hierarchy dimension.
// *Action: Adjust the AGGMAP so that it uses a valid dimension value qualified data reference.


33070, 00000, "(XSAGDNGL34) %a %j %j\nIn AGGMAP %1p, all QDRs of dimension %2p must map to the same dimension position."
// *Cause: The user specified two conflicting hierarchy dimension qualified data references.
// *Action: Adjust the AGGMAP so that it uses a consistent qualified data reference.


33072, 00000, "(XSAGDNGL35) %a %j %j\nIn AGGMAP %1p, the hierarchy dimension QDR over dimension %2p must be specified for every relation dimensioned by that hierarchy dimension."
// *Cause: Multiple dimensions share the same hierarchy dimension, but it is
//         only qualified within a subset of the AGGMAP relations.
// *Action: Adjust the AGGMAP so that it uses consistent qualified data references.


33074, 00000, "(XSAGDNGL36) %a %j %j %ld\nIn AGGMAP %1p, the offset %3p is not a valid offset into dimension %2p."
// *Cause: The hierarchy dimension offset is an invalid dimension position.
// *Action: Adjust the AGGMAP so that it uses valid qualified data references.


33076, 00000, "(XSAGDNGL37) %a %j %j %v\nIn AGGMAP %1p, the value '%3p' is not a valid value of dimension %2p."
// *Cause: The hierarchy dimension offset is an invalid dimension position.
// *Action: Adjust the AGGMAP so that it uses valid qualified data references.


33078, 00000, "(XSAGDNGL39) %a %j %q\nIn AGGMAP %1p, the hierarchy dimension QDR %2p must refer to a dimension."
// *Cause: The user specified an invalid qualified data reference for the hierarchy dimension.
// *Action: Adjust the AGGMAP so that it uses a valid dimension value qualified data reference.


33080, 00000, "(XSAGDNGL40) %a %j %j\nIn AGGMAP %1p, you cannot reference dimension %2p with both a RELATION statement and a DIMENSION statement."
// *Cause: The user included both RELATION and DIMENSION statements in
//   the AGGMAP referring to the same AGGMAP.
// *Action: Remove one of the conflicting clauses.


33082, 00000, "(XSAGDNGL41) %a %j %n\nIn AGGMAP %1p, the non-dimensioned valueset %2p must have a parent QDR in its VALUESET statement over the VALUESET's base dimension."
// *Cause: The VALUESET statement specified a scalar valueset
//   but did not include a qualified data reference to specify the parent.
// *Action: Add a qualified data reference specifying the parent to the VALUESET statement.


33084, 00000, "(XSAGDNGL42) %a %j %j\nIn AGGMAP %1p, you cannot qualify the dimensioned valueset %2p."
// *Cause: The VALUESET line referred to a dimensioned valueset.
// *Action: Use a non-dimensioned valueset to limit the status of the
//   dimensioned one.


/// XSAGINIT and XSAGCOMP messages (379-539) from xsagcomp.c
33086, 00000, "(XSAGINIT01) %a %j %j\nAGGMAP %1p cannot be dimensioned by a conjoint dimension."
// *Cause: The specified AGGMAP was dimensioned by
//    a conjoint dimension.
// *Action: Use the CHGDFN command to change the conjoint to a composite dimension.


33088, 00000, "(XSAGINIT03) You do not have read permission for AGGMAP object %j."
// *Cause:
// *Action:


33090, 00000, "(XSAGINIT05) %a %j %j\nYou must have read permission for %1p to use AGGMAP %2p."
// *Cause:
// *Action:


33092, 00000, "(XSAGCOMP04) %v is not the name of a MODEL in any attached analytic workspace."
// *Cause: An invalid model name was attached to an AGGMAP.
// *Action: Remove the model from the AGGMAP or create a model with that name.


33094, 00000, "(XSAGGMAPLIST01) Your expression uses too much execution space. Eliminate recursion or reduce the levels of nesting."
// *Cause: formulas likely refer to each other recursively or with a great
//   deal of depth.
// *Action: eliminate recursion and flatten formula trees.


33098, 00000, "(APABBR01) %a %V %j\nA value of '%1p' is not valid for the %2p option."
// *Cause: An inappropriate value was specified for the
//   named option.
// *Action: Set a legal value for the option.


33100, 00000, "(APABBR02) %a %d %j\nValue '%1p' is not valid for the %2p option."
// *Cause: An inappropriate value was specified for the
//   named option.
// *Action: Set a legal value for the option.


33102, 00000, "(APEIFV01) EIFVERSION cannot be greater than the current EVERSION, which is %d."
// *Cause:
// *Action:
33104, 00000, "(APEIFV02) EIFVERSION cannot be less than 371."
// *Cause:
// *Action:
33106, 00000, "(APESCBAS01) '%i' is not a valid value for the ESCAPEBASE option. Valid values are 'd' and 'x'."
// *Cause:
// *Action:
33108, 00000, "(APFTMAX01) MAXFETCH must be between 1,000 and 2,147,483,647."
// *Cause:
// *Action:
33110, 00000, "(APXPKTSZ01) XAPIBUFFER must be between 1,000 and 64,512."
// *Cause:
// *Action:
33112, 00000, "(APFTBUFF01) FETCHBUFFER must be between 1,000 and 64,512."
// *Cause:
// *Action:
33114, 00000, "(APLIKESC01) %i is not a valid value for the LIKEESCAPE option because it is more than one character long."
// *Cause:
// *Action:
33116, 00000, "(APMSTYPE00) MODSIMULTYPE must be either AITKENS or GAUSS."
// *Cause:
// *Action:
33118, 00000, "(APMTOLER00) Value %d is out of range for MODTOLERANCE."
// *Cause:
// *Action:
33120, 00000, "(APMOVFLO00) Value %d is out of range for MODOVERFLOW."
// *Cause:
// *Action:
33122, 00000, "(APMGAMMA00) MODGAMMA must be a whole number greater than or equal to zero."
// *Cause:
// *Action:
33124, 00000, "(APMITERS00) MODMAXITERS must be a whole number greater than zero."
// *Cause:
// *Action:
33126, 00000, "(APMDAMPF00) MODDAMP must be greater than or equal to zero and less than one."
// *Cause:
// *Action:
33128, 00000, "(APMERROR00) MODERROR must be either STOP, CONTINUE, or DEBUG."
// *Cause:
// *Action:
33130, 00000, "(APMERROR01) The current connection type does not support interactive debugging."
// *Cause:
// *Action:
33132, 00000, "(APPGMGR00) %a %j %d\nThe %1p option value must be between 0 and %2p."
// *Cause:
// *Action:
33134, 00000, "(APSORTBUFSZ01) %a %d %d\nThe value of SORTBUFFERSIZE must represent a number between 0 and %1p. You supplied %2p."
// *Cause:
// *Action:
33136, 00000, "(APSPARSX01) The value of SPARSEINDEX cannot be a multi-line string."
// *Cause:
// *Action:
33138, 00000, "(APSPARSX02) The value '%v' is not valid for SPARSEINDEX."
// *Cause:
// *Action:
33140, 00000, "(AUTOCOMP1) %n is being compiled automatically."
// *Cause:
// *Action:
33141, 00000, "(XSAWFREEZE1) The analytic workspace  %s is already frozen."
// *Cause: Attempting to freeze an AW when it is already frozen
// *Action: Thaw the AW before freezing it again.
33142, 00000, "(BADSYN00) The format of the %t command is incorrect."
// *Cause:
// *Action:
33143, 00000, "(XSAWFREEZE2) The analytic workspace %s must be attached RW or RX."
// *Cause: The AW must be updatable to change the freeze state
// *Action: Reattach AW before freezing or thawing it again.
33144, 00000, "(BADSYN01) The format of the %t command is incorrect."
// *Cause:
// *Action:
33145, 00000, "(XSAWFREEZE3) Cannot rollback analytic workspace %s; generations are in use."
// *Cause: One or more generations due to be destroyed as part of a rollback
//         to freeze command are currently in use.
// *Action: Get sessions using those generations to detach the AW.
33146, 00000, "(BINENG00) The width argument for binary conversion can only be specified for INTEGER and BOOLEAN data."
// *Cause:
// *Action:
33147, 00000, "(XSAWFREEZE4) The analytic workspace %s is not frozen."
// *Cause: You are attempting to "rollback to freeze" an AW that is not 
//         frozen.
// *Action:  Only execute this command on a frozen AW.
33148, 00000, "(BINENG01) The width argument for binary conversion must be 1, 2, or 4."
// *Cause:
// *Action:
33150, 00000, "(BOOLTOK01) %t is not a Boolean."
// *Cause:
// *Action:
33152, 00000, "(CDELETE03) %a %j %ld\nThe %1p dimension does not have a value at position %2p."
// *Cause:
// *Action:
33154, 00000, "(CFINDVAL01) The %j dimension does not have identifiers."
// *Cause:
// *Action:
33156, 00000, "(CFINDVAL02) %a %v %v\nPosition %2p\nin dimension %1p\nexceeds 2**63."
// *Cause:
// *Action:
33158, 00000, "(CGETPOS02) %a %j %ld\nThe %1p dimension does not have a value numbered %2p."
// *Cause:
// *Action:
33160, 00000, "(CGETSEQ02) %a %j %ld\nThe %1p dimension does not have a value at position %2p."
// *Cause:
// *Action:
33162, 00000, "(CGFIN00) principal-value"
// *Cause:
// *Action:
33164, 00000, "(CGFIN01) asset-value"
// *Cause:
// *Action:
33166, 00000, "(CGFIN02) The number of periods of the %t function cannot be dimensioned by time."
// *Cause:
// *Action:
33168, 00000, "(CGFIN03) The salvage value argument of the %t function must be dimensioned by the time dimension."
// *Cause:
// *Action:
33170, 00000, "(CGFIN04) The decline factor argument of the %t function cannot be dimensioned by the time dimension."
// *Cause:
// *Action:
33172, 00000, "(CGFIN05) The portion argument of the %t function cannot be dimensioned by time."
// *Cause:
// *Action:
33174, 00000, "(CGFIN06) The switch period argument of the DEPRDECLSW function cannot be dimensioned by time."
// *Cause:
// *Action:
33176, 00000, "(CGMCALC01) The member list expression in aggregation phrase %d is multidimensional."
// *Cause:
// *Action:
33178, 00000, "(CGMCALC02) %j appears as the dimension of more than one member list expression."
// *Cause:
// *Action:
33180, 00000, "(CGMCALC03) WEIGHTBY can only be specified for the AVERAGE aggregation method."
// *Cause:
// *Action:
33182, 00000, "(CGMCALC04) The base measure expression is not dimensioned by %j."
// *Cause:
// *Action:
33184, 00000, "(CGMCALC05) A valueset argument to MCALC must have one dimension and be a valueset of the same dimension."
// *Cause:
// *Action:
33186, 00000, "(CGMODSET01) The ACROSS option is not supported in model equations."
// *Cause:
// *Action:
33188, 00000, "(CGMODSET02) %a %j %v %j\nThe left-hand side of an equation involves the %1p dimension, whereas the '%2p' term on the right-hand side involves %3p."
// *Cause:
// *Action:
33190, 00000, "(CGMODSET03) An internal error caused the model assignment code generator to be called, but no MODEL is currently being compiled."
// *Cause:
// *Action:
33192, 00000, "(CGTCVT00) TCONVERT requires an argument dimensioned by time."
// *Cause:
// *Action:
33194, 00000, "(CGTCVT01) The argument to TCONVERT cannot be dimensioned by more than a single time dimension."
// *Cause:
// *Action:
33196, 00000, "(CGTCVT03) Invalid conversion method for TCONVERT."
// *Cause:
// *Action:
33198, 00000, "(CGTCVT04) The two conversion methods requested of TCONVERT are incompatible."
// *Cause:
// *Action:
33200, 00000, "(CGTCVT05) You cannot convert by both DAY and PERIOD. You must use one or the other."
// *Cause:
// *Action:
33202, 00000, "(CGTCVT06) The breakout dimension %j is not a time dimension."
// *Cause:
// *Action:
33204, 00000, "(CGTCVT07) %a %j %j\nIn converting data from time dimension %1p to %2p using TCONVERT, a conversion direction must be given."
// *Cause:
// *Action:
33206, 00000, "(CGTCVT08) %a %j %j\nIt is not possible to convert data dimensioned by %1p to be dimensioned by %2p."
// *Cause:
// *Action:
33208, 00000, "(CGTDF00) You can only find the start or end of a time period."
// *Cause:
// *Action:
33210, 00000, "(CGTDF01) The argument of the BEGINDATE or ENDDATE function must be dimensioned by exactly one time dimension."
// *Cause:
// *Action:
33213, 00000, "(CINSERT06) The target position for MAINTAIN ADD or MAINTAIN MOVE cannot fall in the range of session-only values."
// *Cause: The user specified a BEFORE or AFTER clause specifying a position in
//         the range of SESSION dimension values.
// *Action: Do not use a position clause, or specify a position before the
//          first SESSION value.
33214, 00000, "(CINSERT02) The %j dimension is too large."
// *Cause: The dimension has too many values.
// *Action: Deleted values can still take up space in the dimension and cause 
//          this error.  Try removing the deleted values by exporting the
//          dimension to EIF and reimporting it with the REPLACE DELETE option.
33215, 00000, "(CINSERT07) You cannot add session-only values to the %j dimension."
// *Cause: The user tried to add a SESSION dimension value while a spreadsheet
//         spreadsheet cursor was open.
// *Action: Try adding the SESSION value while the cursor is not active.
33216, 00000, "(CINSERT03) %a %j %ld\nThe %1p dimension does not have a value numbered %2p."
// *Cause:
// *Action:
33217, 00000, "(CINSERT20) %a %j\nCustom member values cannot be added to concat dimension %1p, or to any of its bases, because it is not defined as UNIQUE."
// *Cause: Only UNIQUE concat dimensions can have custom member values.
// *Action: Use the CHGDFN command to change the concat dimension to UNIQUE and retry. 
33218, 00000, "(CINSERT04) %a %K %j %d %d\n%1p is not a valid value for the %2p dimension. Values for this dimension can have at most %3p significant digits after rounding to %4p decimal places."
// *Cause: The user attempted to insert a value that
// had too many digits into a NUMBER dimension. For instance, the user might have tried to insert the
// value 99999 (5 digits) into a dimension with data type NUMBER(4).
// *Action: Use a smaller number for the dimension value, or define a
// new dimension with a larger precision and replace the old dimension
// with the new one.
33219, 00000, "(CINSERT05) %a %K %j %j %j\n%1p cannot be added to %2p because it is already a value of the dependent UNIQUE concat dimension %3p, from leaf dimension %4p."
// *Cause: A value cannot be added to a dimension if it conflicts with an
//         existing value in a unique concat dimension containing this dimension.
// *Action: The concat(s) causing the conflict could be CHGDFNed to NOT UNIQUE,
//          or either of the duplicate values could be renamed to make them UNIQUE.


33220, 00000, "(CLOPEN01) %a %j %s\nThe time dimension %1p cannot be accessed because it consists of time periods not recognized in this release of %2p."
// *Cause:
// *Action:
33222, 00000, "(CLOPEN02) %a %j %s\nThe dimension %1p cannot be accessed because it was created by an incompatible version of %2p."
// *Cause:
// *Action:
33223, 00000, "(CMOVE03) You cannot move a session-only dimension value."
// *Cause: The user named a SESSION dimension value in the MAINTAIN MOVE
//         command.
// *Action: Do not try to MAINTAIN MOVE session-only dimension values.
33224, 00000, "(CMOVE02) %a %j %ld\nThe %1p dimension does not have a value at position %2p."
// *Cause:
// *Action:
33226, 00000, "(COLDEL01) %a %d %d\nThe starting column must be between 1 and the maximum width of a text value (%1p). You cannot start removing at column %2p."
// *Cause:
// *Action:
33228, 00000, "(COLDEL02) %a %d %d\nThe columns to be removed must be between 1 and the maximum width of a text value (%1p). You cannot remove column %2p."
// *Cause:
// *Action:
33230, 00000, "(COLDEL03) The number of columns to be removed must be greater than zero. You cannot remove %d columns."
// *Cause:
// *Action:
33232, 00000, "(COLEXTR01) %a %d %d\nThe starting column must be between 1 and the maximum width of a text value (%1p). %2p is out of range."
// *Cause:
// *Action:
33234, 00000, "(COLEXTR02) %a %d %d\nThe columns to be extracted must be between 1 and the maximum width of a text value (%1p). You cannot extract column %2p."
// *Cause:
// *Action:
33236, 00000, "(COLEXTR03) The number of columns to be extracted must be greater than or equal to zero. You cannot extract %d columns."
// *Cause:
// *Action:
33238, 00000, "(COLINS01) %a %d %d\nThe starting column must be between 0 and the maximum width of a text value (%1p). You cannot start inserting at column %2p."
// *Cause:
// *Action:
33240, 00000, "(COLREP01) %a %d %d\nThe starting column must be between 1 and the maximum width of a text value (%1p). You cannot start replacing at column %2p."
// *Cause:
// *Action:
33242, 00000, "(COMPOSITE01) %j is a dimension composite and does not have position numbers that can be used in this context."
// *Cause:
// *Action:
33243, 00000, "(XSDPART51) %j is a PARTITION TEMPLATE and does not have position numbers that can be used in this context."
// *Cause:
// *Action:
33244, 00000, "(CRENAME01) %a %j %ld\nThe %1p dimension does not have a value at position %2p."
// *Cause:
// *Action:
33246, 00000, "(CRENAME02) The %j dimension does not have identifiers that can be renamed."
// *Cause:
// *Action:
33247, 00000, "(CRENAME03) %a %K %j %j\n%1p is already a value of the dependent UNIQUE concat dimension %2p, from leaf dimension %3p."
// *Cause: A value cannot be renamed in a dimension if the new value conflicts with an
//         existing value in a unique concat dimension containing this dimension.
// *Action: The concat(s) causing the conflict could be CHGDFNed to NOT UNIQUE,
//          or either of the duplicate values could be changed to make them UNIQUE.
33248, 00000, "(CTDDEL04) %a %j %d\nDeletions from time dimension %1p must occur at either end. %2p values were not deleted."
// *Cause:
// *Action:
33250, 00000, "(CTDINSRT00) You attempted to add a value that was outside the allowable range of dates for time dimension %j."
// *Cause:
// *Action:
33252, 00000, "(CTXENG00) The CONTEXT name cannot be NA."
// *Cause:
// *Action:
33254, 00000, "(CTXENG01) CONTEXT '%v' already exists."
// *Cause:
// *Action:
33256, 00000, "(CTXENG02) CONTEXT '%v' does not exist."
// *Cause:
// *Action:
33258, 00000, "(CTXENG03) %a %n %v\n%1p has not been saved in CONTEXT '%2p'."
// *Cause:
// *Action:
33260, 00000, "(DIMSHOW01) Partition %v does not exist."
// *Cause: The DIMSHOW command specified a nonexistent partition.
// *Action: Specify the name of an existing partition, or remove the PARTITION
//     qualification from the DIMSHOW command.
33261, 00000, "(DIMSHOW02) A partition name may be specified only for a partitioned variable."
// *Cause: A PARTITION qualification was provided for an object other than a
//     partitioned variable.
// *Action: Remove the PARTITION qualification.
33262, 00000, "(DBERR01) Analytic workspace %s does not exist."
// *Cause: The analytic workspace requested does not seem to be in the current
//  database
// *Action: Check that you are in the correct schema and have access to the
//  requested AW.


33263, 00000, "Could not create analytic workspace %s"
// *Cause: A serious error was encountered while trying to set up the
//         tables for the named analytic workspace.  Possible causes for
//         this error include:
//         - A tablespace that cannot be written to.
//         - Corrupt metadata about which analytic workspace exist.
//         - Table names that the code cannot use.
//         - There are remains of a partially removed analytic workspace.
// *Action: There should be another error on the error stack.  Consult this
//          error to determine what is causing the problem and remove that
//          table.


33264, 00000, "(DBERR02) %a %s %s\nAnalytic workspace %1p cannot be accessed because it has been damaged or belongs to an incompatible version of %2p."
// *Cause:
// *Action:
33265, 00000, "(DBERRBSZ) %a %s %d %d\nAnalytic workspace %1p cannot be opened. Tablespace blocksize %2p does not match database cache size %3p."
// *Cause: The blocksize of the containing tablespace didn't match database cache size.
// *Action: Change either size to make them consistent, or set olap_page_pool_size to 0 to allow automatic OLAP pool management when compatibility is greater than 10.2.


33266, 00000, "(DBERR03) %a %s %s\nAnalytic workspace %1p cannot be accessed because it was last modified by an incompatible version of %2p."
// *Cause:
// *Action:
33267, 00000, "(DBERRRLS) %a %s\nAnalytic workspace %1p cannot be accessed because it has fine-grained access control applied to it"
// *Cause: An attempt was made to access the specified analytic workspace's
//         LOB table. The OLAP option detected the table had fine-grained
//         security applied to it.  The OLAP option requires full access to 
//         this table to operate correctly.
// *Action: Remove the fine-grained access control.


33268, 00000, "(DBERRTHW) Analytic workspace %s cannot be attached with the THAW option because it was frozen with the NOTHAW option"
// *Cause: An attempt to attach the AW using the thaw option was made; the AW
//         was frozen using the NOTHAW option.
// *Action:  Either attempt the command again without the THAW option.
33269, 00000, "while operating on '%s'"
// *Cause: Error is raised to inform user what object was being worked on
//         when an error occurred during the creation of an AW.  It should
//         always be signaled with 33263
// *Action: See error#33263


33270, 00000, "(DBERR05) Analytic workspace %s already exists."
// *Cause: The AW CREATE command was passed the name of an analytic
//          workspace that already exists
// *Action: Specify a different name.


33271, 00000, "simulated paging error"
// *Cause: This is an internal error that should never be seen
// *Action: Contact Oracle technical support


33272, 00000, "(DBERR06) Analytic workspace %s cannot be opened."
// *Cause: 
// *Action:
33273, 00000, "(XSCHKRLS01) Analytic workspace %s has open cursors and cannot be detached."
// *Cause:  A session attempted to detach an analytic workspace while there
//          are cursors open against it.  
// *Action: Close the open cursor before attempting to close the analytic
//          workspace.
33274, 00000, "(DBERR07) %a %s %s\nTimed out while trying to lock analytic workspace %1p for %2p."
// *Cause: A lock operation that was supposed to happen very quickly was taking too long. It can be due to another session being stopped while holding that lock, another session crashing while holding that lock, or an internal error.
// *Action: If another session is stopped, resume that session to let it release the lock. If another session has crashed, wait for a few minutes while PMON or SMON process is recovering that lock. Contact Oracle OLAP Support if none of the situations above apply.
33275, 00000, "Autonomous transaction query of an UPDATEd analytic workspace is not supported"
// *Cause:  The user made attempt to reference an anayltic workspace that has uncommited updates within an autonomous query.
// *Action: Either COMMIT or ROLLBACK your uncommited changes, or don't use an autonomous transaction.
33276, 00000, "(DBERR08) Another user has analytic workspace %s attached."
// *Cause:
// *Action:
33277, 00000, "Could not upgrade analytic workspace %s.%s"
// *Cause: A serious error was encountered while trying to alter the
//         tables for the named analytic workspace.  Possible causes for
//         this error include:
//         - A tablespace that cannot be written to.
//         - Corrupt metadata about which analytic workspace exist.
//         - Table names that the code cannot use.
//         - There are remains of a partially removed analytic workspace.
// *Action: There should be another error on the error stack.  Consult this
//          error to determine what is causing the problem and remove that
//          table.


33278, 00000, "(DBERR09) Analytic workspace %s cannot be attached in RW or EXCLUSIVE mode until the changes made and updated in MULTI mode are committed or rolled back."
// *Cause: There are still changes to this analytic workspace that were updated and not committed when the workspace was attached in MULTI mode.
// *Action:  Either try attaching the workspace is RO or MULTI mode or commit or roll back the transaction before trying to attach the workspace in RW or EXCLUSIVE mode.
33279, 00000, "(DBERRDDP) %a %s\nAnalytic workspace %1p cannot be accessed because the AWLOB column has deduplication enabled."
// *Cause: An attempt was made to access the specific LOB table of the 
//         analytic workspace. The OLAP option detected that the LOB column has 
//         deduplication enabled.  The OLAP option does not support LOB
//         deduplication.
// *Action: Alter the table to disable LOB deduplication.
33280, 00000, "(DBERR10) Analytic workspace %s cannot be attached in MULTI mode until the changes made and updated in RW or EXCLUSIVE mode are committed or rolled back."
// *Cause: There are still changes to this analytic workspace that were updated and not committed when the workspace was attached in RW or EXCLUSIVE mode.
// *Action:  Either try attaching the workspace is RO, RW, or EXCLUSIVE mode or commit or roll back the transaction before trying to attach the workspace in MULTI mode.
33282, 00000, "(DBERR11) Cannot wait for analytic workspace %s to become available since doing so would cause a deadlock."
// *Cause: Trying to wait for the workspace to become available caused a deadlock.
// *Action:  Release an analytic workspace that some other user might be waiting for before proceeding to attach this analytic workspace in this mode.
33284, 00000, "(DBERR12) %a %s %s\nAnalytic workspace %1p cannot be opened in MULTI mode before converting it by the latest version of %2p."
// *Cause: The AW is stored in 9i format.
// *Action: Convert the AW to a later format
33286, 00000, "(DBERR14) The specified access mode for analytic workspace %s is invalid."
// *Cause:
// *Action:
33288, 00000, "(DBERR15) Another user has incompatible access to analytic workspace %s, and the wait timeout has expired."
// *Cause: An attempt to access an analytic workspace conflicted with another
//         user's access, and the timeout specified has elapsed.
// *Action: Wait until the conflicting user is done.
33290, 00000, "(DBERR17) Analytic workspace %s cannot be attached in the mode you requested because another user has it attached in an incompatible mode."
// *Cause: An attempt to access an analytic workspace conflicted with another
//         user's access, and no timeout was specified
// *Action: Wait until the conflicting user is done.


33291, 00000, "(DBERRSYNC) Analytic workspace %s cannto be attached RW until a RESYNC command has brought it up to the current generation."
// *Cause: Another session has updated the analytic workspace since it was
//         attached in the current session.
// *Action: Execute a RESYNC AW command to bring the analytic workspace up to 
//          the most recent version.


33292, 00000, "(DBERR18) Insufficient permissions to access analytic workspace %s using the specified access mode."
// *Cause: You do not have sufficient permissions to access this
//         analytic workspace in the desired mode.
// *Action: Ask the owner of the schema or OLAP DBA to grant you
//          sufficient permissions to access the {SCHEMA}.AW${AWNAME}
//          table (for example, SCOTT.AW$FOO table).
33293, 00000, "Please use the OLAP command AW TRUNCATE to truncate this table."
// *Cause: This table is part of an analytic workspace, and the OLAP option
//         needs to control the truncation of the table.
// *Action: use the OLAP option to truncate the table.


33294, 00000, "(DBERR19) Analytic workspace %s cannot be created, deleted, or renamed while flashback mode is in effect."
// *Cause:
// *Action:
33295, 00000, "(DBERR20) An attached analytic workspace is blocking this command."
// *Cause: A table cannot be dropped because an analytic workspace based on this table is being attached.
// *Action: Look up the session in question in GV$AW_OLAP and kill it.
33296, 00000, "(DBERR21) Analytic workspace %s can only be attached RO while tablespace %s is READONLY."
// *Cause: The underlying tablespace of the analytic workspace is in READONLY status.
// *Action: Attach the analytic workspace in RO mode or alter the tablespace.
33297, 00000, "(DBERR22) %a %s %s\nAnalytic workspace %1p cannot be opened because it was last modified by an incompatible version of %2p."
// *Cause: The user attempted to attach an old OLAP Services analytic workspace that
// cannot be converted by this version of OLAP Services.
// *Action: Either create a new analytic workspace or try using a version of OLAP
// Services compatible with the one that created this analytic workspace.
33298, 00000, "(AWUPG01) Analytic workspace %s is already in the newest format allowed by the current compatibility setting"
// *Cause: User ran the DBMS_AW.CONVERT procedure on an analytic workspace 
//         that was created in or previously upgraded to the current 
//         compatibility mode.
// *Action: If upgrading the analytic workspace is necessary, upgrade 
//          the database instance and then re-run DBMS_AW.CONVERT. If the 
//          new features offered by upgrading the analytic workspace
//          are not required, then no action is needed.
33299, 00000, "Please use DBMS_AW.AW_RENAME to rename this table."
// *Cause: This table is part of an analytic workspace, and the OLAP option
//         needs to control the rename of the table.
// *Action: use the OLAP option to rename the table.


33300, 00000, "(DBERRPLAT) Analytic workspace %s encountered an error that may indicate that it was created on a different platform."
// *Cause: An attempt to transport an analytic workspace from a different
//         platform failed.  
// *Action: Transport the analytic workspace using a supported method, either 
//          by using export/import or by rebuilding it using an XML template.


33302, 00000, "(DBVALID01) SEVERE ERROR: Record %.0f multiply used."
// *Cause: The AW VALIDATE command has detected an error in the structure 
//         of the analytic workspace.  This error will result in the
//         corruption of one or more objects
// *Action: Export what you can of the analytic workspace.
33304, 00000, "(DBVALID02) Note: Record %.0f was allocated but not used. This can result in wasted space."
// *Cause: This is a benign message.  The AW VALIDATE command found an
//         analytic workspace has some inaccessible space.
// *Action: Either nothing, or export and recreate the analytic workspace
33305, 00000, "(DBVALID06) Note: Record %.0f was allocated but not used. This can result in wasted space. (PS %ld)"
// *Cause: This is a benign message.  The AW VALIDATE command found an
//         analytic workspace has some inaccessible space.
// *Action: Either nothing, or export and recreate the analytic workspace
33306, 00000, "(DBVALID03) The AW VALIDATE command cannot be used with read-only analytic workspace %s."
// *Cause: The AW VALIDATE command does not support read-only access.
// *Action: Attach the analytic workspace read/write and try again.
33308, 00000, "(DBVALID04) SEVERE ERROR: Record %.0f used but not allocated"
// *Cause: The AW VALIDATE command has detected a problem that will result
//         in corruption of the analytic workspace.  There is no corruption
//         yet.
// *Action:  Export and recreate the analytic workspace.
33309, 00000, "(DBVALID05) SEVERE ERROR: Record %.0f used but not allocated (PS %ld)"
// *Cause: The AW VALIDATE command has detected a problem that will result
//         in corruption of the analytic workspace.  There is no corruption
//         yet.
// *Action:  Export and recreate the analytic workspace.
33310, 00000, "(DECIMAL) %a %d %d %d %d\nThe number of decimal places must be between %2p and %3p, or %4p. It cannot be %1p."
// *Cause:
// *Action:
33312, 00000, "(DELDENT01) %n cannot be deleted while there are objects dimensioned by it, or formulas, programs, valuesets, or relations that use it."
// *Cause:
// *Action:
33313, 00000, "(DELDENT05) %n cannot be deleted because it is the target of an external partition of a partitioned variable."
// *Cause: User attempted to delete a variable, but some partitioned variable 
//         was defined to use that variable as the target of one of its 
//         external partitions.
// *Action: DELETE the partitioned variable or CHGDFN DROP PARTITION the 
//          the external partition from the partitioned variable, then 
//          delete the target variable.
33314, 00000, "(DELDENT02) %n cannot be deleted while it is executing."
// *Cause:
// *Action:


33315, 00000, "(XSDELDENTANON) %a %n %j\nYou cannot delete %1p while looping over unnamed composite %2p."
// *Cause: While looping over the named anonymous composite, an attempt was
//         made to delete an object which is dimensioned by it.
// *Action: Delete the object outside of a loop over the dimension.


33316, 00000, "(DELDENT03) You cannot delete %n because you do not have PERMIT permission for it or it is readonly."
// *Cause:
// *Action:
33318, 00000, "(DELDENT04) The variable %n cannot be deleted while its NA trigger is executing."
// *Cause:
// *Action:
33320, 00000, "(DNAMELEN00) %a %s %d\nThe object name %1p has more than %2p characters."
// *Cause:
// *Action:
33324, 00000, "(DOSCMD01) The current directory is %s."
// *Cause:
// *Action:
33325, 00000, "(DOSCMD02) Current directory alias is not set."
// *Cause:
// *Action:
33332, 00000, "(DSSEXIST01) Use the AW command to establish a current analytic workspace. Then start your current activity again."
// *Cause: There is no currently active analytic workspace. The command 
//         that generated the error requires an active analytic workspace
//         to operate on.
// *Action: Execute an AW ATTACH or AW CREATE command to establish an active
//          workspace.
33334, 00000, "(DSSEXIST04) Analytic workspace %s is not attached."
// *Cause: The specified analytic workspace is currently not attached to 
//         the session, or the name is misspelled.
// *Action: Attach the analytic workspace with the AW ATTACH command, or 
//         correct the spelling of the name .
33336, 00000, "(DSSEXIST04A) Analytic workspace %t is not attached."
// *Cause: The specified analytic workspace is currently not attached to 
//         the session, or the name is misspelled.
// *Action: Attach the analytic workspace with the AW ATTACH command, or 
//         correct the spelling of the name .
33338, 00000, "(DSSEXIST05) You cannot specify the EXPTEMP analytic workspace."
// *Cause: The command requires a non-temporary analytic workspace to
//         operate on.
// *Action: Specify an analytic workspace other than EXPTEMP.
33339, 00000, "You cannot detach analytic workspace %s.  It is in use by an API branch."
// *Cause: The OLAP API is in a branch, and you are not allowed to detach
//         the AW while the branch is active.
// *Action: End the branch before detaching the AW.
33340, 00000, "(DTINFRMT00) A format cannot be an empty string."
// *Cause:
// *Action:
33342, 00000, "(DTINFRMT01) %a %v %s\n'%1p' is not a valid format for a %2p value because it has a single angle bracket > that is not part of a field specification."
// *Cause:
// *Action:
33344, 00000, "(DTINFRMT02) %a %v %s\n'%1p' is not a valid format for a %2p value because an angle bracket < cannot be the last character."
// *Cause:
// *Action:
33346, 00000, "(DTINFRMT03) %a %v %s %i\n'%1p' is not a valid format for a %2p value because '%3p' is an unrecognized specification."
// *Cause:
// *Action:
33348, 00000, "(DTINFRMT04) %v is not a valid format because the B specifier cannot be used with a date."
// *Cause:
// *Action:
33350, 00000, "(DTINFRMT05) %a %v %i\n'%1p' is not a valid format because the '%2p' specification cannot be used with a date."
// *Cause:
// *Action:
33352, 00000, "(DTINFRMT06) %a %v %s\n'%1p' is not a valid format for a %2p value because the B specifier cannot be used with a period field."
// *Cause:
// *Action:
33354, 00000, "(DTINFRMT07) '%v' is not a valid format because the specification can only be used once."
// *Cause:
// *Action:
33356, 00000, "(DTINFRMT08) '%v' is not a valid VNF format because it contains an ordinal specification."
// *Cause:
// *Action:
33358, 00000, "(DTINFRMT09) %a %v %i\n'%1p' is an ambiguous VNF format. The '%2p' specification must be followed by a space or separation character."
// *Cause:
// *Action:
33360, 00000, "(DTINFRMT10) '%v' is not a valid VNF format because at least two of the specifications are of the same type."
// *Cause:
// *Action:
33362, 00000, "(DTINFRMT11) '%v' is not a valid VNF format because it does not contain enough fields to match one of the defined VNF templates."
// *Cause:
// *Action:
33364, 00000, "(DTINFRMT12) '%v' is not a valid VNF format because it contains more information than is allowed."
// *Cause:
// *Action:
33366, 00000, "(DTINFRMT13) %a %v %s %i\n'%1p' is not a valid format for a %2p value because the '%3p' specification has no closing angle bracket >."
// *Cause:
// *Action:
33368, 00000, "(DTINFRMT14) %a %v %s\n'%1p' is not a valid format for a %2p value because it contains more than one line of text."
// *Cause:
// *Action:
33370, 00000, "(DTTOVC01) Unable to print dates longer than %d characters."
// *Cause:
// *Action:
33372, 00000, "(DUPCLCHK01) %j appears more than once in the dimension list."
// *Cause:
// *Action:
33374, 00000, "(DUPCLCHK02) %a %j %j\n%1p appears more than once in the dimension list. (It is also a base dimension of %2p.)"
// *Cause:
// *Action:
33376, 00000, "(DUPCLCHK03) %a %j %j %j\n%1p and %2p cannot both appear in a dimension list because they share at least one base dimension (%3p)."
// *Cause:
// *Action:
33381, 00000, "(EIFEXPRT20) You cannot EXCLUDE bases from %j, because it is not a concat dimension."
// *Cause:
// *Action:
33382, 00000, "(EIFEXPRT01) You cannot export two objects with the same name (%s)."
// *Cause:
// *Action:
33383, 00000, "(EIFEXPRT21) %a %j %j\nYou cannot EXCLUDE %1p because it is not a base of %2p."
// *Cause:
// *Action:
33384, 00000, "(EIFEXPRT02) You cannot rename a dimension (%q) when you export it."
// *Cause:
// *Action:
33385, 00000, "(EIFEXPRT22) You cannot EXCLUDE %q, because it is not a dimension."
// *Cause:
// *Action:
33386, 00000, "(EIFEXPRT03) The expression beginning with %t has no data type."
// *Cause:
// *Action:
33387, 00000, "(EIFEXPRT23) EXCLUDE or EXCLUDING can only be used following the name of a concat dimension."
// *Cause:
// *Action:
33388, 00000, "(EIFEXPRT04) The expression beginning with %t has too many dimensions."
// *Cause:
// *Action:
33389, 00000, "(EIFEXPRT24) %a %j %d %d\nConcat dimension %1p has %2p bases. You cannot EXCLUDE more than %3p of them."
// *Cause:
// *Action:
33390, 00000, "(EIFEXPRT05) There are no objects to export."
// *Cause:
// *Action:
33391, 00000, "(EIFEXPRT25) concat dimension %j has only 1 base, which cannot be EXCLUDED."
// *Cause:
// *Action:
33392, 00000, "(EIFEXPRT07) SCATTER name %q must be a text variable of one dimension shared with the expression."
// *Cause:
// *Action:
33393, 00000, "(EIFIMPRT01) Object %s exists in both the EIF file and the current analytic workspace."
// *Cause: An object with the given name was found in both the EIF file
// and the current analytic workspace.
// *Action: Rename the object in the analytic workspace that is causing the
// name conflict.  If the object named in the error message belongs to a cube
// or a cube dimension, rename that cube or cube dimension.
33394, 00000, "(EIFEXPRT08) SCATTER type %q must be a text variable with the same dimension as the name."
// *Cause:
// *Action:
33396, 00000, "(EIFEXPRT09) The SCATTER expression must have at least two dimensions and be numeric if TYPE is given."
// *Cause:
// *Action:
33398, 00000, "(EIFEXPRT10) The SCATTER type value must be INTEGER, SHORTINTEGER, SHORT, or DECIMAL, not %v."
// *Cause:
// *Action:
33400, 00000, "(EIFEXPRT11) The scatter name value %v is not a valid EIF object name."
// *Cause:
// *Action:
33402, 00000, "(EIFEXPRT12) You cannot export an unnamed dimension composite by itself, but only with an object dimensioned by it."
// *Cause:
// *Action:
33404, 00000, "(EIFEXPRT13) The format for exporting an expression is:\n      EXPORT expression AS name"
// *Cause:
// *Action:
33406, 00000, "(EIFEXPRT14) %q is not a legal name for an EIF file object."
// *Cause:
// *Action:
33408, 00000, "(EIFEXPRT15) You cannot use the SCATTER AS syntax because EIFVERSION is set to %d, and that version cannot import scattered objects."
// *Cause:
// *Action:
33409, 00000, "(EIFEXPRT16) Cannot use the FULLMAPID or RELATIVEMAPID syntax because NOAPI has been specified."
// *Cause: An attempt was made to specify FULLMAPID or RELATIVEMAPID syntax with the NOAPI option.
// *Action: Either specify the API option instead of NOAPI, or remove the FULLMAPID or 
//          RELATIVEMAPID option.
33413, 00000, "(EIFMAKEF01) You cannot export compressed composite %j because one of its bases has limited status or a PERMIT READ restriction."
// *Cause: Export of a compressed composite to an EIF file or lob failed
//         because one or more of the bases had some values that were not 
//         in the current status. This can be caused either by a LIMIT 
//         command or a PERMIT READ restriction on the dimension.
// *Action: Either set the base dimensions' statuses to ALL and remove their
//          PERMIT READ programs, or export using the NOAGGR keyword.
33414, 00000, "(EIFMAKEF02) %a %ld %d\n\" %1p bytes written in %2p seconds.\""
// *Document: NO
// *Cause: Used in formatting output for the LIST option of EXPORT
// *Action: None
33416, 00000, "(EIFPATHLIST) You tried to set EIFEXTENSIONPATH to one or more illegal path names."
// *Cause:
// *Action:
33420, 00000, "(EIFMAKEF03) The EXPORT command has terminated because of insufficient disk space. One or more files could not be created."
// *Cause:
// *Action:
33422, 00000, "(EIFMAKEF04) %a %s %d %s\nDue to insufficient disk space, the extension count of the EIF files(s) could not be recorded. To avoid any potential errors when the file is imported, DO NOT move, delete, or rename any of the EIF extension files. These are files of the form %1p.%3p, where %3p is the extension number. There are %2p such files."
// *Cause:
// *Action:
33424, 00000, "(EIFMAKEF05) %a %n %d\n%1p cannot be exported because EIFVERSION is set to %2p, and objects cannot have more than 6 dimensions in that version."
// *Cause:
// *Action:
33425, 00000, "(EIFMAKEF15) CAUTION: Exporting NTEXT objects using %s for the EIF file character set can cause loss of data. To preserve all NTEXT data, export using the UTF8 character set for the EIF file."
// *Cause: The user exported an object with data type NTEXT, but the EIF file that
// will result from the EXPORT command is not written in Unicode. Because no
// non-Unicode file can represent all possible Unicode data, it is possible
// that some data will be lost when converting from the Unicode NTEXT object
// to the EIF file. The EIF file will be written in the character set
// indicated by the "nls_charset" argument of the EXPORT command, or, if
// no such argument is present, in the database character set.
// *Action: If the user is certain that the contents of the NTEXT object can
// be represented in the specified character set, then no action is necessary.
// Otherwise, the user can add "nls_charset 'UTF8'" to the EXPORT command
// string. This will result in the EIF file being written in UTF8 Unicode,
// which can represent all the data contained in NTEXT objects.
33426, 00000, "(EIFMAKEF06) %a %s %d\nThe expression named %1p cannot be exported because EIFVERSION is set to %2p, and objects cannot have more than 6 dimensions in that version."
// *Cause:
// *Action:
33427, 00000, "(EIFMAKEF16) CAUTION: NTEXT object %n will be exported with type TEXT."
// *Cause: User attempted to export an object whose data type is NTEXT, but
// but the EIFVERSION option indicates a version of Express / Oracle OLAP
// that does not support the NTEXT data type. The object will be exported as a
// TEXT object instead.
// *Action: No action needed.
33428, 00000, "(EIFMAKEF07) One or more SCATTER AS expressions cannot be exported because EIFVERSION is set to %d, and objects cannot have more than 6 dimensions in that version."
// *Cause:
// *Action:
33429, 00000, "(EIFMAKEF17) CAUTION: NTEXT expression will be exported with type TEXT."
// *Cause: User attempted to export an expression whose data type is NTEXT, but
// but the EIFVERSION option indicates a version of Express / Oracle OLAP
// that does not support the NTEXT data type. The expression will be exported
// as a TEXT object instead.
// *Action: No action needed.
33430, 00000, "(EIFMAKEF08) %a %j %d %s\n%1p cannot be exported because EIFVERSION is set to %2p, and that version does not use %3p objects."
// *Cause:
// *Action:
33432, 00000, "(EIFMAKEF09) %a %s %d %d\nYou cannot use the name %1p, because EIFVERSION is set to %2p. That version does not allow object names longer than %3p bytes."
// *Cause: The object name was too long for the analytic workspace format
//         represented by the current setting of the EIFVERSION option.
// *Action: Change the value of the EIFVERSION option, or remove the object
//          from the list of objects to be exported.
33433, 00000, "(EIFMAKEF09A) %a %s %d %d\nYou cannot use the name %1p, because EIFVERSION is set to %2p. That version does not allow object names longer than %3p characters."
// *Cause: The object name was too long for the analytic workspace format
//         represented by the current setting of the EIFVERSION option.
// *Action: Change the value of the EIFVERSION option, or remove the object
//          from the list of objects to be exported.
33434, 00000, "(EIFMAKEF10) %a %n %s\nYou cannot export the AGGMAP object %1p from this version of %2p to version 6.3. The internal format of an AGGMAP has changed too much."
// *Cause:
// *Action:
33436, 00000, "(EIFMAKEF11) %a %s %d\nYou cannot write an EIF file using the %1p character set, because EIFVERSION is set to %2p. That version does not support that character set."
// *Cause:
// *Action:
33438, 00000, "(EIFSPARS00) %a %d %j\n%1p values of %2p will be exported as NA, because they are not in the current status of its base dimensions."
// *Cause:
// *Action:
33440, 00000, "(EQUPDATE01) The expression for formula %j contains invalid syntax."
// *Cause:
// *Action:
33442, 00000, "(ESDREAD01) Discarding compiled code for %j because there is no NAME dimension."
// *Cause:
// *Action:
33443, 00000, "(ESDREAD14) %a %j %s\nDiscarding compiled code for %1p because analytic workspace %2p is not attached."
// *Cause: A program used an analytic workspace name in a qualified object 
// name. The named analytic workspace is not attached at program run time. 
// *Action: No action necessary. The program will be automatically 
// recompiled. It is likely that the recompile will fail with an appropriate 
// exception code, in which case the signaled condition should be 
// corrected and the program re-run.
33444, 00000, "(ESDREAD02) %a %j %v\nDiscarding compiled code for %1p because %2p could not be found."
// *Cause:
// *Action:
33445, 00000, "(ESDREAD15) %a %j %j %j\nDiscarding compiled code for %1p because %2p and %3p, which were not partition-dependent when the code was compiled, are now partition-dependent."
// *Cause: Two variables are "partition-dependent" if they share any 
//         external partition target variables, or if one is the target of 
//         an external partition of the other. If object names referred to 
//         non-partition-dependent variables at compile time but refer to 
//         partition-dependent variables in the run-time context, the 
//         OLAP DML program, formula, or model will be automatically 
//         recompiled.
// *Action: None needed.
33446, 00000, "(ESDREAD03) %a %j %v %s\nDiscarding compiled code for %1p because %2p is now a %3p. It was another kind of object when the code was compiled."
// *Cause:
// *Action:
33447, 00000, "(ESDREAD16) %a %j %j %j\nDiscarding compiled code for %1p because %2p and %3p, which were partition-dependent when the code was compiled, are now not partition-dependent."
// *Cause: Two variables are "partition-dependent" if they share any 
//         external partition target variables, or if one is the target of 
//         an external partition of the other. If object names referred to 
//         partition-dependent variables at compile time but refer to 
//         non-partition-dependent variables in the run-time context, the 
//         OLAP DML program, formula, or model will be automatically 
//         recompiled.
// *Action: None needed.
33448, 00000, "(ESDREAD04) %a %j %v %s %s\nDiscarding compiled code for %1p because %2p now has %3p data, whereas it had %4p data when the code was compiled."
// *Cause: The datatype of the specified variable has changed.
// *Action: None needed.
33449, 00000, "(ESDREAD17) %a %j %v\nDiscarding compiled code for %1p because the partition method or partition dimension of %2p has changed since it was compiled."
// *Cause: The partitioning method (LIST, RANGE, or CONCAT) or the partition 
//         dimension of the partition template is sufficiently different 
//         from what it was when the code was compiled that the code must 
//         be recompiled.
// *Action: None needed.
33450, 00000, "(ESDREAD05) %a %j %v\nDiscarding compiled code for %1p because %2p now has more or fewer dimensions than it had when the code was compiled."
// *Cause: The dimensionality of the specified object has changed.
// *Action: None needed.
33452, 00000, "(ESDREAD06) %a %j %v %j %j\nDiscarding compiled code for %1p because %2p is now dimensioned by %3p. It was dimensioned by %4p when the code was compiled."
// *Cause: The dimensionality of the specified object has changed.
// *Action: None needed.
33454, 00000, "(ESDREAD07) %a %j %v %s %j %s %j\nDiscarding compiled code for %1p because %2p is now %3p %4p, whereas it was %5p %6p when the code was compiled."
// *Cause: The specified object has changed.
// *Action: None needed.
33456, 00000, "(ESDREAD08) %a %j %v %s %s\nDiscarding compiled code for %1p because %2p is a(n) %3p, which %4p did not expect to find in a compiled program."
// *Cause: The type of the specified object has changed.
// *Action: None needed.
33458, 00000, "(ESDREAD09) %a %j %v %s %s\nDiscarding compiled code for %1p because %2p is now type %3p, whereas it was type %4p when the code was compiled."
// *Cause: The type of the specified object has changed.
// *Action: None needed.
33460, 00000, "(ESDREAD10) %a %j %j %s\nDiscarding compiled code for %1p because object %2p is not in analytic workspace %3p."
// *Cause: The specified object is not in the same analytic workspace it 
//         was in when the compiled object was compiled.
// *Action: None needed.
33462, 00000, "(ESDREAD10A) %a %j %v %s\nDiscarding compiled code for %1p because object %2p is not in analytic workspace %3p."
// *Cause: The specified object was not in the same analytic workspace it
//         was when the compiled object was compiled
// *Action: None needed.
33464, 00000, "(ESDREAD11) %a %j %j\nDiscarding compiled code for %1p because two external objects that were different at compile time are now the same object (%2p)."
// *Cause:
// *Action:
33466, 00000, "(ESDREAD12) %a %j %v %d\nDiscarding compiled code for %1p because model dimension %2p is not in the same analytic workspace as solution variable %3p."
// *Cause:
// *Action:
33468, 00000, "(ESDREAD13) %a %j %v %j\nDiscarding compiled code for %1p because %2p is no longer a surrogate of dimension %3p."
// *Cause: When the compiled code was saved, the specified object was a 
// surrogate of a certain dimension. Now the specified object is a 
// surrogate of a different dimension.
// *Action: No action needed; program automatically recompiles.
33472, 00000, "(EXPCHECK1) The %n formula cannot be edited or compiled while it is executing."
// *Cause:
// *Action:
33474, 00000, "(EXPCOMP01) The calculation expression in formula %n contains a format error."
// *Cause:
// *Action:
33475, 00000, "(EXPCOMP02) Invalid expression."
// *Cause:
// *Action:
33476, 00000, "(EXPORT00) Target file (%s) already exists. No data is being exported."
// *Cause:
// *Action:
33478, 00000, "(FCFINI02) Too many NA values exist in the input data; %s cannot fill them all."
// *Cause:
// *Action:
33480, 00000, "(FCFINI04) An error occurred while filling in the NA values in the input data."
// *Cause:
// *Action:
33482, 00000, "(FCFINI05) Calculation of starting values and handling of NA values in the input data require at least two cycles of input data."
// *Cause:
// *Action:
33484, 00000, "(FCFINI06) An error occurred while calculating starting values for the smooth, trend, and seasonal series."
// *Cause:
// *Action:
33486, 00000, "(FCFINI07) %s cannot calculate starting values from this input data."
// *Cause:
// *Action:
33488, 00000, "(FCFINI08) The forecast input has resulted in a divide-by-zero error in the calculation of the smoothed data series."
// *Cause:
// *Action:
33490, 00000, "(FCFINI09) The forecast input has resulted in a divide-by-zero error in the calculation of the seasonal index series."
// *Cause:
// *Action:
33492, 00000, "(FCINFO00) There is no saved forecast calculation for the INFO function to retrieve."
// *Cause:
// *Action:
33494, 00000, "(FCREATE01) %a %s %d\nFile %1p is already open on file unit number %2p."
// *Cause:
// *Action:
33508, 00000, "(FILEREAD01) Fileunit %d is invalid. FILEREAD and FILEVIEW can only access input files opened with the FILEOPEN function."
// *Cause:
// *Action:
33510, 00000, "(FILEREAD04) Unexpected EOF encountered in string while importing data."
// *Cause:
// *Action:
33512, 00000, "(FILESET01A) The value of the PAGESIZE option must be greater than the combined values of TMARGIN and BMARGIN."
// *Cause:
// *Action:
33514, 00000, "(FILESET02) The value of the TABEXPAND option must be between 0 and 100 inclusive. You specified %d."
// *Cause:
// *Action:
33516, 00000, "(FILESET04) You can set the %s attribute only if the fileunit is used exclusively for output."
// *Cause:
// *Action:
33520, 00000, "(FINENG01) %a %s %d\nThe number of periods specified in the %1p function must be greater then 0 and less than or equal to %2p."
// *Cause:
// *Action:
33522, 00000, "(FINENG02) The second argument of the %s function cannot be NA while the corresponding first argument is not NA."
// *Cause:
// *Action:
33524, 00000, "(FINENG03) Both the first and second arguments of the %s function must be nonnegative."
// *Cause:
// *Action:
33526, 00000, "(FINENG04) An asset value cannot be NA when the corresponding salvage value is not NA."
// *Cause:
// *Action:
33528, 00000, "(FINENG05) The asset value must be greater than the salvage value."
// *Cause:
// *Action:
33530, 00000, "(FINENG06) The first period depreciation strategy argument of the %s function cannot be NA."
// *Cause:
// *Action:
33532, 00000, "(FINENG07) The first period depreciation strategy argument of the %s function must evaluate to the word FULL or HALF."
// *Cause:
// *Action:
33534, 00000, "(FINENG08) The rate argument of payment or interest function cannot be NA while the corresponding principal argument is not NA."
// *Cause:
// *Action:
33536, 00000, "(FINENG09) Both the principal and rate arguments of the payment and interest functions must be nonnegative."
// *Cause:
// *Action:
33538, 00000, "(FINENG10) An internal error (%d) has occurred while evaluating an interest or payment function."
// *Cause:
// *Action:
33540, 00000, "(FINENG11) The decline-factor argument must be greater than 0."
// *Cause:
// *Action:
33542, 00000, "(FISOPEN01) A file identifier cannot exceed %d characters."
// *Cause:
// *Action:
33546, 00000, "(FNAMEQRY01) You must specify a file unit number for the %s option of FILEQUERY."
// *Cause:
// *Action:


// 33554 to 33559 reserved for FORCHECK, MAINTCHK, LOCKCHECK
33554, 00000, "(FORCHECK01) While looping over %j, you cannot change its status or contents."
// *Cause:
// *Action:
33555, 00000, "(FORCHECK03) While looping over alias dimension %j, you cannot change the contents of its base %j."
// *Cause:
// *Action:
33556, 00000, "(FORCHECK51) While looping over concat dimension %j, you cannot change the contents of its leaves."
// *Cause:
// *Action:
33557, 00000, "(MAINTCHK01) %a %s %j\nYou cannot %1p values of dimension %2p during a loop over it."
// *Cause: User tried to insert or delete a value of the specified dimension 
//         while some loop over that dimension was active. The loop could 
//         be an explicit FOR or ACROSS loop, or a natural expression 
//         evaluation or OLAP_TABLE loop. Also, it could be a loop over the 
//         dimension itself or over a derived dimension (like a composite 
//         or partition template) or dimension alias that includes it. The 
//         insert or delete could be explicitly caused by the MAINTAIN 
//         command. It is also possible that the user attempted to assign 
//         a value to a variable or partition dimensioned by a composite 
//         during a loop over that composite using a qualified data 
//         reference (QDR), and that the exception was generated by the 
//         engine's attempt to insert a new position in the composite to 
//         hold the new value.
// *Action: Move the dimension maintenance or QDR-based variable assignment 
//          outside the dimension loop. 
33558, 00000, "(LOCKCHECK01) %a %j %k\nThe status or contents of the %1p dimension cannot be changed while the LOCK_LANGUAGE_DIMS option is set to %2p."
// *Cause: A LIMIT or MAINTAIN was attempted on the named language dimension
//         while the boolean option LOCK_LANGUAGE_DIMS was set to YES.
// *Action: SET LOCK_LANGUAGE_DIMS to NO and retry the MAINTAIN or LIMIT.
33560, 00000, "(FORECAST00) The time dimension (%n) has no values in status. The forecast cannot be calculated."
// *Cause:
// *Action:
33562, 00000, "(FORECAST01) The forecast LENGTH must be an non-NA value that is greater than or equal to zero."
// *Cause:
// *Action:
33564, 00000, "(FORECAST02) %a %d %d\nSum of forecast LENGTH and number of time dimension values in status equals %1p. The maximum is %2p."
// *Cause:
// *Action:
33566, 00000, "(FORECAST03) The values of ALPHA, BETA, and GAMMA must be greater than zero and less than or equal to one."
// *Cause:
// *Action:
33568, 00000, "(FORECAST04) The forecast PERIODICITY must be greater than or equal to 2."
// *Cause:
// *Action:
33570, 00000, "(FORECAST05) The forecast PERIODICITY must be less than or equal to the number of historical observations in the input data."
// *Cause:
// *Action:
33572, 00000, "(FORECAST07) In a forecast calculation, the time dimension (%v) must have consecutive values in status."
// *Cause:
// *Action:
33574, 00000, "(FORECAST09) %a %v %d\nThe forecast length extends beyond the end of the time dimension (%1p). Only %2p values will be calculated."
// *Cause:
// *Action:
33576, 00000, "(FORECAST10) The number of non-NA observations must be greater than 1 to calculate a TREND forecast."
// *Cause:
// *Action:
33578, 00000, "(FORECAST11) The number of positive observations must be greater than 1 to calculate an EXPONENTIAL forecast."
// *Cause:
// *Action:
33580, 00000, "(FORECAST12) %a %d %n %d\nThe number of historical periods (%1p) exceeds the number of values in the current status of %2p (%3p)."
// *Cause:
// *Action:
33582, 00000, "(FORECAST13) The number of historical periods must be a non-NA value greater than zero."
// *Cause:
// *Action:
33584, 00000, "(FORECAST100) Forecasting Analysis"
// *Cause:
// *Action:
33586, 00000, "(FORECAST101) Variable to Forecast:"
// *Cause:
// *Action:
33588, 00000, "(FORECAST102) Forecast Dimension:"
// *Cause:
// *Action:
33590, 00000, "(FORECAST103) Forecast Method:"
// *Cause:
// *Action:
33592, 00000, "(FORECAST104) Mean Absolute Percent Error:"
// *Cause:
// *Action:
33594, 00000, "(FORECAST105) Forecast Equation: "
// *Cause:
// *Action:
33596, 00000, "(FORECAST106) No forecast values can be shown since no FCNAME variable was specified to hold the results of the forecast."
// *Cause:
// *Action:
33598, 00000, "(FORECAST107) Actual Value"
// *Cause:
// *Action:
33600, 00000, "(FORECAST108) Fitted Value"
// *Cause:
// *Action:
33602, 00000, "(FORECAST109) Alpha: "
// *Cause:
// *Action:
33604, 00000, "(FORECAST110) Beta: "
// *Cause:
// *Action:
33606, 00000, "(FORECAST111) Gamma: "
// *Cause:
// *Action:
33608, 00000, "(FORECAST112) Periodicity: "
// *Cause:
// *Action:
33610, 00000, "(FORSTEP01) Program control transferred into a FOR loop from outside the loop. This transfer is not allowed."
// *Cause:
// *Action:
33612, 00000, "(FPUTENG01) The file unit operand of the FILEPUT command does not have a value."
// *Cause:
// *Action:
33614, 00000, "(FPUTENG02) File %s was opened for input only."
// *Cause:
// *Action:
33616, 00000, "(FPUTENG04) The FROM file unit operand of the FILEPUT command does not have a value."
// *Cause:
// *Action:
33618, 00000, "(FPUTENG05) There is not sufficient room on the page to write data. Check your PAGESIZE, TMARGIN, BMARGIN and header values."
// *Cause:
// *Action:
33620, 00000, "(FRACRPOS01) %a %s %s\n%1p is not a valid field option for a record in %2p format."
// *Cause:
// *Action:
33622, 00000, "(FRAPPEND01) You cannot specify a position when appending to an INTEGER dimension."
// *Cause:
// *Action:
33624, 00000, "(FRASSIGN01) %q is a WORKSHEET. You cannot use the Data Reader to assign values to it."
// *Cause:
// *Action:
33625, 00000, "(FRASSIGN02) You cannot use the APPEND keyword with concat dimension %j."
// *Cause: User used the APPEND keyword on a CONCAT target in a FILEREAD,  
//  SQL FETCH or SQL SELECT command.
// *Action: APPENDing a value to one of the CONCATs leaves automatically appends to the CONCAT.
33626, 00000, "(FRATPUSH01) %a %s %s\n%1p is not a valid field option for a record in %2p format."
// *Cause:
// *Action:
33628, 00000, "(FRATPUSH02) Dimension maintenance attributes can only be specified on the left side of the equal sign."
// *Cause:
// *Action:
33630, 00000, "(FRCBCHEK01) Invalid file unit %d. Files read by FILEREAD or FILEVIEW must be input files opened via the FILEOPEN function."
// *Cause:
// *Action:
33632, 00000, "(FRCBCHEK02) No current record is available for file unit %d."
// *Cause:
// *Action:
33634, 00000, "(FRCBSET01) %a %i %s\n%1p is not a valid value for the ORIGIN option of FILESET. Valid values are: %2p."
// *Cause:
// *Action:
33636, 00000, "(FRERROR01) %a %d %s\n%1p is not a valid value for %2p. Values for this attribute cannot be less than 1."
// *Cause:
// *Action:
33638, 00000, "(FRERROR02) %a %d %s %d\n%1p is not a valid value for SPACE because it results in a %2p value of %3p."
// *Cause:
// *Action:
33640, 00000, "(FRERROR03) %a %d %d %d\nThere is no field of width %1p at column %2p. The current record is only %3p bytes long."
// *Cause:
// *Action:
33642, 00000, "(FRERROR04) %a %d %s %s\n%1p is not a valid width for %2p %3p data."
// *Cause:
// *Action:
33644, 00000, "(FRERROR05) %a %s %s\nNA is not a valid width for %1p %2p data. There is no default width for this data type."
// *Cause:
// *Action:
33646, 00000, "(FRERROR06) %a %s %s\nThe string '%1p' is not a valid %2p value."
// *Cause:
// *Action:
33648, 00000, "(FRERROR07) The current packed field contains the invalid hexadecimal digit \"%c\"."
// *Cause:
// *Action:
33650, 00000, "(FRERROR08) The current packed field contains the invalid sign digit \"%c\"."
// *Cause:
// *Action:
33652, 00000, "(FRERROR09) %a %k %j\n%1p is not a valid %2p."
// *Cause:
// *Action:
33654, 00000, "(FRERROR10) %a %j %d\nThe %1p dimension does not have a value numbered %2p."
// *Cause:
// *Action:
33656, 00000, "(FRERROR11) The time dimension %j is empty. You cannot append integer positions to it unless it has at least one value."
// *Cause:
// *Action:
33658, 00000, "(FRFILPUT01) File %s is invalid. Source files for FILEPUT must be input files opened via the FILEOPEN function."
// *Cause:
// *Action:
33660, 00000, "(FRFILPUT02) %a %s %s\nYou cannot write from file %1p to file %2p, because the output file was not opened with the BINARY option."
// *Cause:
// *Action:
33662, 00000, "(FRFILPUT03) %a %s %s\nYou cannot write from file %1p to file %2p, because the output file was opened with the BINARY option."
// *Cause:
// *Action:
33664, 00000, "(FRSPARSE01) You cannot specify a dimension list for %j because it is not a conjoint dimension."
// *Cause:
// *Action:
33666, 00000, "(FRSTRDLM01) The %s expression cannot have more than one line."
// *Cause:
// *Action:
33668, 00000, "(FRSTRDLM02) %a %v %s\n%1p is not a valid value for the %2p expression."
// *Cause:
// *Action:
33670, 00000, "(FRSTRDLM03) The %s and DELIMITER expressions cannot have the same value."
// *Cause:
// *Action:
33672, 00000, "(FRSTRDLM04) A CSV DELIMITER cannot be set to a double quote or NULL."
// *Cause:
// *Action:
33674, 00000, "(FTCODE00) %a %d %d\nData block size %2p exceeds the maximum size of %1p."
// *Cause:
// *Action:
33678, 00000, "(GETSCAL00) The text expression specifying a DIMENSION data type cannot evaluate to NA."
// *Cause:
// *Action:
33680, 00000, "(GETTIMER00) first"
// *Cause:
// *Action:
33682, 00000, "(GETTIMER01) %a %t %v\nThe %2p parameter to %1p is dimensioned by more than one time dimension."
// *Cause:
// *Action:
33684, 00000, "(GETTIMER02) %a %t %v\nThe %2p parameter to %1p must be dimensioned by a time dimension, or an explicit time dimension must be given."
// *Cause:
// *Action:
33686, 00000, "(GETTIMER03) %a %t %j %v\nThe %3p parameter to %1p is not dimensioned by %2p."
// *Cause:
// *Action:
33688, 00000, "(GETTIMER04) The dimension composite %j cannot be used as a time dimension."
// *Cause:
// *Action:
33690, 00000, "(GETXVAL01) The formula %n cannot be recursively evaluated because the RECURSIVE option is set to NO."
// *Cause:
// *Action:
33692, 00000, "(GROWENG01) The growrate of an expression must be calculated over a strictly increasing time interval."
// *Cause:
// *Action:
33694, 00000, "(GROWENG02) The expression in the GROWRATE function must have non-NA values at the beginning and end of the given time interval."
// *Cause:
// *Action:
33696, 00000, "(GROWENG03) The beginning and ending values of the expression in GROWRATE must both be positive or both be negative."
// *Cause:
// *Action:
33698, 00000, "(GROWENG04) Cannot calculate the growrate for the values given"
// *Cause:
// *Action:
33700, 00000, "(GROWENG05) The beginning value of the expression in the GROWRATE function must be non zero."
// *Cause:
// *Action:
33704, 00000, "(ILPCHECK01) %n is not a program."
// *Cause:
// *Action:
33706, 00000, "(ILPCHECK12) The %n program cannot be compiled because it contains structural errors."
// *Cause:
// *Action:
33708, 00000, "(ILPCHECK13) The %n program cannot be compiled while it is executing."
// *Cause:
// *Action:
33712, 00000, "(ILPCHECK22) The %n program cannot be executed because it contains structural errors."
// *Cause:
// *Action:
33720, 00000, "(ILPCHECK43) The %n program cannot be hidden or unhidden while it is executing."
// *Cause:
// *Action:
33722, 00000, "(ILPCOMP05) All %t statements must precede the first non-declarative statement."
// *Cause:
// *Action:
33724, 00000, "(ILPCOMP07) The %n program could not be compiled because of an unrecoverable error."
// *Cause:
// *Action:
33726, 00000, "(ILPENG02) %j cannot be used more than once in simultaneous or nested FOR statements or ACROSS commands."
// *Cause:
// *Action:
33728, 00000, "(ILPINIT01) You cannot initialize %j because it is currently running."
// *Cause:
// *Action:
33730, 00000, "(ILPLNK01) %a %j %d %d\nDiscarding compiled code for %1p because it was compiled with code version %2p. The current code version is %3p."
// *Cause:
// *Action:
33732, 00000, "(ILPONLY) The %s function can only be used in a program."
// *Cause:
// *Action:
33733, 00000, "(xsILPMLTPreOp01) The analytic workspace %s cannot be REVERTed or RESYNCed while the %s program is active."
// *Cause: The AW REVERT and AW RESYNC commands cannot be used on an analytic 
//    workspace that contains a running program.
// *Action: Execute the command without running the specified program.
33734, 00000, "(ILPPUT01) %a %t %j\nLabel %1p conflicts with at least one other label in %2p. Labels must be unique for the first 8 characters."
// *Cause:
// *Action:
33736, 00000, "(ILPPUT02) The %j program contains unmatched DO or DOEND statements."
// *Cause:
// *Action:
33738, 00000, "(ILPPUT03) Program %j contains unmatched IF, WHILE, TEMPSTAT, FOR, or THEN/ELSE statement, or duplicate labels."
// *Cause:
// *Action:
33740, 00000, "(ILPPUT04) %a %t %j\nOn the line defining label %1p in the %2p program, text following the label has been ignored."
// *Cause:
// *Action:
33742, 00000, "(ILPPUT06) %a %j %d\nThe %1p program contains too many source lines. The limit is %2p lines. The program has been truncated."
// *Cause:
// *Action:
33744, 00000, "(ILPPUT07) IMPORTANT: Program %j contains text on the same line as a DO or DOEND statement, which will be ignored."
// *Cause:
// *Action:
33746, 00000, "(ILPPUT08) %v must be preceded by an IF clause."
// *Cause:
// *Action:
33748, 00000, "(ILPPUT09) %v must be preceded by a THEN clause."
// *Cause:
// *Action:
33750, 00000, "(ILPXEQ01) A referenced object can no longer be located. Execution will continue in interpreted mode."
// *Cause:
// *Action:
33756, 00000, "(ILTRK01) No data has been recorded by the TRACKPRG command."
// *Cause:
// *Action:
33758, 00000, "(IMPQUAF0) The EIF file %s does not have any objects in it."
// *Cause:
// *Action:
33760, 00000, "(IMPQUAF02) \nThere are %d objects in the EIF file:"
33762, 00000, "(XSCHGDIM01) Invalid LIMIT argument starting at %t."
// *Cause:
// *Action:
33766, 00000, "(INFOFC00) Invalid second argument to INFO(FORECAST  %t)."
// *Cause:
// *Action:
33768, 00000, "(INFOMOD00) Invalid second argument to INFO(MODEL  %t)."
// *Cause:
// *Action:
33770, 00000, "(INFOPARS01) Invalid second argument to INFO(PARSE  %t)."
// *Cause:
// *Action:
33772, 00000, "(INFORG00) Invalid second argument to INFO(REGRESS  %t)."
// *Cause:
// *Action:
33774, 00000, "(INTERP1) %t is not a command."
// *Cause:
// *Action:
33776, 00000, "(INTERP1A) %q is not a command."
// *Cause:
// *Action:
33780, 00000, "(INTERP3) The %t command can only be used in a program."
// *Cause:
// *Action:
33782, 00000, "(INTERP4) The %t command cannot be executed by ampersand substitution."
// *Cause:
// *Action:
33784, 00000, "(INTERP5) Ampersand substitution is not permitted in a %t statement."
// *Cause:
// *Action:
33788, 00000, "(INTTOK01) %t is not composed solely of digits."
// *Cause:
// *Action:
33790, 00000, "(IOERROR01) %a %s %s\nI/O error on file %1p: %2p."
// *Cause:
// *Action:
33792, 00000, "(IOERROR02) I/O error on file %s: Error text not available."
// *Cause:
// *Action:
33796, 00000, "(IOEXECUT00) The file identifier argument of %s does not have a value."
// *Cause:
// *Action:
33798, 00000, "(IOEXECUT01) File %s is the current OUTFILE or LOG unit, and cannot be closed with the FILECLOSE command."
// *Cause:
// *Action:
33800, 00000, "(IOEXECUT02A) The LENGTH argument to the FILEGET function (%d) is negative."
// *Cause:
// *Action:
33802, 00000, "(IOEXECUT02B) File %s was opened for writing."
// *Cause:
// *Action:
33804, 00000, "(IOEXECUT02C) File %s was opened for binary input. You must use FILEREAD or FILENEXT to read data from this file."
// *Cause:
// *Action:
33806, 00000, "(IOEXECUT03A) %a %s %s\nThe %1p option of FILEQUERY is not supported in this version of %2p."
// *Cause:
// *Action:
33808, 00000, "(IOEXECUT03B) You have requested a FILEQUERY option that is not supported in this version of %s."
// *Cause:
// *Action:
33810, 00000, "(IOEXECUT04A) %a %s %s\nThe %1p option of FILESET is not supported in this version of %2p."
// *Cause:
// *Action:
33812, 00000, "(IOEXECUT04B) The %s option of a file cannot be changed by the FILESET command."
// *Cause:
// *Action:
33814, 00000, "(IOEXECUT04C) The value to be set for the %s option cannot be NA."
// *Cause:
// *Action:
33816, 00000, "(IOEXECUT04D) You have requested a FILESET option that is not supported in this version of %s."
// *Cause:
// *Action:
33818, 00000, "(IOEXECUT05) %a %d %s\nFile unit %1p is invalid. %2p can access only input files opened via the FILEOPEN function."
// *Cause:
// *Action:
33820, 00000, "(IOEXECUT06) The file name argument to %s cannot be null or blank."
// *Cause:
// *Action:
33822, 00000, "(IRR01) %a %j %d %d\nTime dimension %1p has a range in status of %2p periods. The maximum range allowed by the IRR function is %3p periods."
// *Cause:
// *Action:
33824, 00000, "(ISDBUILD01) A local scalar named %t already exists."
// *Cause:
// *Action:
33826, 00000, "(LINEDEL01) The number of the first line to remove must be between 1 and the expression's total number of lines. %d is out of range."
// *Cause:
// *Action:
33828, 00000, "(LINEDEL02) You must remove at least one line. You cannot remove %d lines."
// *Cause:
// *Action:
33830, 00000, "(LINEINS01) The line number after which inserting begins (%d) is negative."
// *Cause:
// *Action:
33832, 00000, "(LINEREP01) The number of the first line to replace must be between 1 and the expression's total number of lines. %d is out of range."
// *Cause:
// *Action:
33834, 00000, "(LINEXTR01) The line number of the first line to extract must be greater than 0. You cannot start extracting at line %d."
// *Cause:
// *Action:
33836, 00000, "(LINEXTR02) You must extract at least one line. You cannot extract %d lines."
// *Cause:
// *Action:
33838, 00000, "(LLPINIT05) You attempted to loop over the time dimension %j beyond the allowable range of dates."
// *Cause:
// *Action:
33840, 00000, "(LOOPCODE01) %a %j %j %j\nMultiple relations exist between %1p and the dimensions of the expression to be aggregated. One is %2p, and another is %3p."
// *Cause:
// *Action:
33842, 00000, "(LOOPCODE02) %j cannot be used for aggregation. It is unrelated to the data's dimensions, or it is less aggregate than one of them."
// *Cause:
// *Action:
33844, 00000, "(LOOPCODE03) %a %j %j\nTime dimensions %1p and %2p are both dimensions of the data. Breaking out the aggregation by time is ambiguous."
// *Cause:
// *Action:
33846, 00000, "(LXNXTREC00) The input line was terminated by an end-of-file that occurred sooner than expected. The line might be incomplete."
// *Cause:
// *Action:
33848, 00000, "(LXNXTREC01) The input line was truncated to the maximum allowable size of %d characters."
// *Cause:
// *Action:
33852, 00000, "(LXPARSE01) You provided extra input starting at '%t'."
// *Cause:
// *Action:
33854, 00000, "(LXTOKEN01) The statement cannot be parsed because it is too long or too complex."
// *Cause:
// *Action:
33856, 00000, "(LXSUBST01) %t is not a valid ampersand-substitution expression."
// *Cause:
// *Action:
33858, 00000, "(LXSUBST02) The value of the ampersand-substitution expression is NA."
// *Cause:
// *Action:
33860, 00000, "(MAKEDCL01) You have no current analytic workspace. You must attach or create an analytic workspace before defining a new object."
// *Cause:
// *Action:
33862, 00000, "(MAKEDCL02) You must specify a data type when you define a %s."
// *Cause:
// *Action:
33864, 00000, "(MAKEDCL03) You cannot use the data type attribute when you define a %s."
// *Cause:
// *Action:
33866, 00000, "(MAKEDCL04) Your current analytic workspace does not contain an object named %j."
// *Cause:
// *Action:
33868, 00000, "(MAKEDCL05) You must specify two or more dimensions when you supply a dimension list for a WORKSHEET."
// *Cause:
// *Action:
33870, 00000, "(MAKEDCL06) %a %s %s\nYou cannot use the %1p attribute when you define a %2p."
// *Cause:
// *Action:
33872, 00000, "(MAKEDCL07) The %s DIMENSION must have a data type (ID, NTEXT, TEXT, NUMBER, DATETIME, TIMESTAMP, or INTEGER), a time period, or a list of bases for a conjoint dimension."
// *Cause:
// *Action:
33874, 00000, "(MAKEDCL08) %s is not the name of a valid option."
// *Cause:
// *Action:
33876, 00000, "(MAKEDCL09) %s must be an INTEGER dimension."
// *Cause:
// *Action:
33878, 00000, "(MAKEDCL10) Nested composites are not supported when compatability is 11 or greater."
// *Cause:
// *Action:
33880, 00000, "(MAKEDCL11) Dimensions specified for a WORKSHEET must be INTEGER dimensions."
// *Cause:
// *Action:
33882, 00000, "(MAKEDCL12) %a %s %s %s\nYou cannot use the %1p attribute when you define a %2p of type %3p."
// *Cause:
// *Action:
33883, 00000, "(MAKEDCL36) You cannot use the %t attribute when you define an EXTERNAL partition with an existing target."
// *Cause: User gave the TEMPORARY keyword in the definition of an external 
//         partition whose target variable was previously defined.
// *Action: Any storage characteristics of the external partition are 
//          determined by the target variable. These attributes should be 
//          set when the target is defined, not when the external partition 
//          is defined.
33884, 00000, "(MAKEDCL13) You can specify the TEMPORARY attribute only for a variable, dimension, relation, valueset, or worksheet."
// *Cause:
// *Action:
33886, 00000, "(MAKEDCL14) You cannot define an object dimensioned by NAME, because it is a special reserved dimension used to organize your analytic workspace dictionary."
// *Cause:
// *Action:
33888, 00000, "(MAKEDCL15) %a %s %s\nYou cannot use the %1p attribute when you define a fixed-width TEXT %2p."
// *Cause:
// *Action:
33890, 00000, "(MAKEDCL16) You cannot use the dimension list attribute when you define a %s."
// *Cause:
// *Action:
33892, 00000, "(MAKEDCL17) %a %s %s\nYou cannot use the %1p attribute when you define a scalar %2p."
// *Cause:
// *Action:
33893, 00000, "(MAKEDCL18) The TEMPORARY attribute cannot be specified for this type of dimension"
// *Cause:
// *Action:
33894, 00000, "(MAKEDCL20) The WIDTH attribute can only be used with non-scalar TEXT and INTEGER variables, or with TEXT dimensions."
// *Cause:
// *Action:
33895, 00000, "(MAKEDCL19) You can specify the SHAREMAP attribute only for a multiply dimensioned variable, relation, valueset, or worksheet."
// *Cause:
// *Action:
33896, 00000, "(MAKEDCL21) The WIDTH attribute for TEXT data must be a number between 1 and 4000."
// *Cause:
// *Action:
33898, 00000, "(MAKEDCL22) The WIDTH attribute for INTEGER data must be 1."
// *Cause:
// *Action:
33900, 00000, "(MAKEDCL23) The NOHASH attribute is only valid for conjoint dimensions."
// *Cause:
// *Action:
33902, 00000, "(MAKEDCL24) The %s attribute is only valid for conjoint dimensions and dimension composites."
// *Cause:
// *Action:
33904, 00000, "(MAKEDCL25) %a %j %s\n%1p is a dimension composite or is dimensioned by a dimension composite. You cannot use it as the type of a %2p."
// *Cause:
// *Action:
33908, 00000, "(MAKEDCL27) You cannot use the %s attribute when you define a DIMENSION ALIAS, CONCAT, or PARTITION TEMPLATE."
// *Cause:
// *Action:
33910, 00000, "(MAKEDCL28) You cannot specify a data type when you define a DIMENSION ALIAS, CONCAT, or PARTITION TEMPLATE."
// *Cause:
// *Action:
33911, 00000, "(MAKEDCL29) %a %s %s %s\nYou cannot define a %1p in analytic workspace %2p because it has not been upgraded to version %3p."
// *Cause: User attempted to define an object that requires a certain 
//  compatibility setting in an AW that has not been upgraded to that 
//  compatibility level. 
// *Action: Make sure that the database is running in the appropriate 
//  compatibility mode, and upgrade the AW.
33912, 00000, "(MAKEDCL30) An AGGMAP cannot be dimensioned by a conjoint dimension."
// *Cause:
// *Action:
33914, 00000, "(MAKEDCL31) You cannot define a dimension alias of another dimension alias."
// *Cause:
// *Action:
33916, 00000, "(MAKEDCL32) The dimension alias target %j is not a simple dimension."
// *Cause:
// *Action:
33918, 00000, "(MAKEDCL33) %a %j %s\nYou cannot define a surrogate of dimension %1p because it is a %2p."
// *Cause: Not all kinds of dimensions can have surrogates. The user 
// attempted to define a surrogate of a prohibited kind of dimension.
// *Action: Do not attempt to define a surrogate on this dimension.
33920, 00000, "(MAKEDCL34) The %s SURROGATE must have one of the following data types: ID, NTEXT, TEXT, NUMBER, DATETIME, TIMESTAMP, or INTEGER."
// *Cause: The user attempted to define a surrogate without specifying a valid
//  data type.
// *Action: Specify the data type (ID, NTEXT, TEXT, NUMBER, or INTEGER) in the
// definition of the surrogate.
33922, 00000, "(MAKEDCL35) You cannot define a surrogate of dimension %j because it is a time dimension."
// *Cause: The user attempted to define a surrogate on a dimension that has type
// DAY, WEEK, MONTH, or YEAR.
// *Action: Do not attempt to define a surrogate on this dimension.
33934, 00000, "(MISCOPTI01) OFF"
// *Cause:
// *Action:
33936, 00000, "(MISCOPTI04) NA"
// *Cause:
// *Action:
33938, 00000, "(MISCOPTI05) Press to continue."
// *Cause:
// *Action:
33940, 00000, "(MISCOPTI06)
"
// *Cause:
// *Action:
33942, 00000, "(MODCALL01) Model %n cannot be run because another model is already active."
// *Cause:
// *Action:
33944, 00000, "(MODCALL02) Model %n needs a solution variable; one was not provided."
// *Cause:
// *Action:
33946, 00000, "(MODCALL03) Model %n does not take a solution variable, because it has no model dimensions."
// *Cause:
// *Action:
33948, 00000, "(MODCALL04) %a %n %n\nA solution variable must be provided for model %1p; however, %2p is not a variable."
// *Cause:
// *Action:
33950, 00000, "(MODCALL05) %a %n %n %s\nThe solution variable specified for the model %1p must be numeric. Variable %2p is type %3p."
// *Cause:
// *Action:
33952, 00000, "(MODCALL08) %a %n %n\nA solution variable must be specified for model %1p; however, %2p has no dimensions."
// *Cause:
// *Action:
33954, 00000, "(MODCALL09) %a %n %j %n\nSolution variable %1p is not dimensioned by %2p, which is a dimension of model %3p."
// *Cause:
// *Action:
33956, 00000, "(MODCALL10) %a %j %d\nThe execution of model %1p cannot be completed due to an internal error (TYPE = %2p)."
// *Cause:
// *Action:
33958, 00000, "(MODCALL11) The syntax for invoking a model is:\n     model-name [solution-variable] [NOWARN]"
// *Cause:
// *Action:
33960, 00000, "(MODCALL14) Model %n contains simultaneous equations."
// *Cause:
// *Action:
33962, 00000, "(MODCALL15) %a %j %d %d\nModel %1p failed to converge after %2p iterations in block %3p."
// *Cause:
// *Action:
33964, 00000, "(MODCALL16) %a %j %d %d %d %j\nModel %1p diverged during iteration %2p in block %3p while executing statement %4p of model %5p."
// *Cause:
// *Action:
33966, 00000, "(MODCALL17) %a %n %n\nThe solution variable %1p is referenced as a variable in model %2p."
// *Cause:
// *Action:
33968, 00000, "(MODCALL18) %a %n %j %n\nSolution variable %1p is dimensioned by %2p, which is not a dimension of model %3p but is a dimension of a model execution block."
// *Cause:
// *Action:
33970, 00000, "(MODCALL19) %a %n %j %n\nSolution variable %1p is not dimensioned by %2p, but model %3p contains dimension-based equations that reference its values."
// *Cause:
// *Action:
33972, 00000, "(MODCHECK01) %n is not a model."
// *Cause:
// *Action:
33973, 00000, "(MODCHECK02) The %n model cannot be compiled while it is executing."
// *Cause:
// *Action:
33974, 00000, "(MODCHECK12) The %n model cannot be compiled because it contains structural errors."
// *Cause:
// *Action:
33975, 00000, "(MODCHECK13) The %n model cannot be hidden or unhidden while it is executing."
// *Cause:
// *Action:
33976, 00000, "(MODCHECK22) The %n model cannot be executed because it contains structural errors."
// *Cause:
// *Action:
33978, 00000, "(MODCOMP01) %j has already been named in a DIMENSION statement in this model."
// *Cause:
// *Action:
33980, 00000, "(MODCOMP02) DIMENSION statements are not allowed after an equation has appeared."
// *Cause:
// *Action:
33982, 00000, "(MODCOMP03) DIMENSION statements are not allowed after an INCLUDE statement has appeared."
// *Cause:
// *Action:
33983, 00000, "(MODCOMP15) The DIMENSION statement must list the dimensions of any included models."
// *Cause:
// *Action:
33984, 00000, "(MODCOMP04) INCLUDE statements are not allowed after an equation has appeared."
// *Cause:
// *Action:
33986, 00000, "(MODCOMP05) Only one INCLUDE statement is allowed in a model."
// *Cause:
// *Action:
33988, 00000, "(MODCOMP06) An INCLUDE statement must refer to another model; %n is not a model."
// *Cause:
// *Action:
33990, 00000, "(MODCOMP08) Models cannot be included recursively; %j has already been included."
// *Cause:
// *Action:
33992, 00000, "(MODCOMP09) The format of the DIMENSION command is:\n     DIMENSION dimension1 [dimension2...]"
// *Cause:
// *Action:
33994, 00000, "(MODCOMP10) The format of the INCLUDE command is:\n     INCLUDE model"
// *Cause:
// *Action:
33996, 00000, "(MODCOMP11) %j is not named in a DIMENSION statement in this model."
// *Cause:
// *Action:
33998, 00000, "(MODCOMP12) %a %j %j %j %j\nYou cannot use both %1p and %2p as model dimensions, because %3p is a surrogate of %4p."
// *Cause: The user attempted to include both a dimension and its surrogate in
// the DIMENSION statement of a model.
// *Action: Use either the dimension or the surrogate in the DIMENSION
// statement of the model, but not both.
34000, 00000, "(MODCOMP13) %a %j %j %j\nYou cannot use both %1p and %2p as model dimensions, because they are both surrogates of dimension %3p."
// *Cause: The user attempted to include two dimension surrogates of the same
// dimension in the DIMENSION statement of a model.
// *Action: Use either of the two surrogates in the DIMENSION statement of
// the model, but not both.
34001, 00000, "(MODCOMP14) Concat leaf dimension %j already is used in a DIMENSION statement, either explicitly or as a leaf of another concat dimension."
// *Cause: Either two concat dimensions which share a common leaf dimension,
//         or a concat and one of its leaves where both specified in the DIMENSION statement(s). 
// *Action:  Do not specify overlapping concat dimensions, or any leaves of specified concat dimensions.
34004, 00000, "(MODGRAPH01) %a %j %d\nThe model %1p cannot be compiled due to internal error %2p. Contact Oracle OLAP Technical support."
// *Cause:
// *Action:
34006, 00000, "(MODINFO00) There is no saved model information for the INFO function to retrieve."
// *Cause:
// *Action:
34008, 00000, "(MODINFO01) Model %j has not been compiled; the information requested is available only after compilation."
// *Cause:
// *Action:
34010, 00000, "(MODINFO02) Model %j has not been executed; the information requested is available only after execution."
// *Cause:
// *Action:
34012, 00000, "(MODPUT06) %a %j %d\nThe %1p model contains too many source lines. The limit is %2p lines. The model has been truncated."
// *Cause:
// *Action:
34014, 00000, "(MONITOR01) No data has been recorded by the MONITOR command."
// *Cause:
// *Action:
34016, 00000, "(MONITOR02) No program name has been supplied for the MONITOR command."
// *Cause:
// *Action:
34018, 00000, "(MSCGADD01) %j is an INTEGER dimension. Specify only the number of values to be added, not the specific values themselves."
// *Cause:
// *Action:
34019, 00000, "(MSCGADD03) %j is not a LIST PARTITION TEMPLATE."
// *Cause: User attempted to MAINTAINT ADD or DELETE a list value from a 
//         RANGE or CONCAT partition template.
// *Action: Partitioning in a RANGE or CONCAT partition template cannot 
//          be changed using the MAINTAIN command.
34020, 00000, "(MSCGADD02) %j is not a time dimension. You cannot add time periods to it."
// *Cause:
// *Action:
34021, 00000, "(MSCGADD04) You must specify a partition when maintaining PARTITION TEMPLATE %j."
// *Cause: User attempted to MAINTAINT ADD or DELETE a list value from a 
//         LIST partition template, but didn't specify which partition 
//         to add to or delete from.
// *Action: Specify the partition:
//          maintain (template) add to partition (partitionname) (values)
//          or
//          maintain (template) delete from partition (partitionname) (values)
34022, 00000, "(MSCGDEL02) You can only delete time periods from a time dimension."
// *Cause:
// *Action:
34024, 00000, "(MSCGMRG01) The RELATE keyword cannot be specified when the MERGE expression has no dimensions."
// *Cause:
// *Action:
34026, 00000, "(MSCGMRG02) %a %q %j\n%1p is not a relationship between %2p and the dimensions of the source expression."
// *Cause:
// *Action:
34028, 00000, "(MSCGMRG03) %j, the value of the RELATE relation, is not one of the dimensions of the source expression."
// *Cause:
// *Action:
34030, 00000, "(MSCGPOS00) %j is a time dimension. You can add values to it only FIRST or LAST."
// *Cause:
// *Action:
34031, 00000, "(MSCGPOS02) %j is a datetime dimension. Dimension values are automatically maintained in sorted order."
// *Cause:
// *Action:
34032, 00000, "(MSCGPOS01) %j is a dimension composite. You cannot specify a position when adding values to it."
// *Cause:
// *Action:
34034, 00000, "(MSEXECUT00B) %a %k %j\n%1p is already a value of %2p."
// *Cause:
// *Action:
34036, 00000, "(MSEXECUT00C) %a %v %j\n%1p is already a value of %2p."
// *Cause:
// *Action:
34038, 00000, "(MSEXECUT01) The expression for the position to add, merge, or delete is NA."
// *Cause:
// *Action:
34039, 00000, "(TRGPRG02) %n cannot be deleted while its trigger is executing."
// *Cause:
// *Action:
34040, 00000, "(TRGSET01) The TRIGGERASSIGN command can only be used in an ASSIGN TRIGGER."
// *Cause:
// *Action:
34041, 00000, "(TRGPRG01) A TRIGGER cannot be called recursively for the same object and event."
// *Cause:
// *Action:
34042, 00000, "(MSEXECUT03A) The expression for the position to be renamed is NA."
// *Cause:
// *Action:
34044, 00000, "(MSEXECUT03B) The expression for the new dimension value is NA."
// *Cause:
// *Action:
34046, 00000, "(MSEXECUT03C) %a %k %j\n%1p is already a value of %2p."
// *Cause:
// *Action:
34048, 00000, "(MSEXECUT04) Time dimension %j is empty. You must give it a value before you can add periods to its beginning or end."
// *Cause:
// *Action:
34050, 00000, "(MSEXECUT05) The expression for the argument to BEFORE or AFTER is NA."
// *Cause:
// *Action:
34052, 00000, "(MSEXECUT06) All dimension values must be single line values."
// *Cause:
// *Action:
34054, 00000, "(MSEXECUT07) %a %v %j\n%1p is already a value of %2p."
// *Cause:
// *Action:
34056, 00000, "(MSEXECUT08) The number of periods to add cannot be negative, zero, or NA."
// *Cause:
// *Action:
34058, 00000, "(MSEXECUT09) The number of periods to delete cannot be negative, zero, or NA."
// *Cause:
// *Action:
34059, 00000, "(MSEXECUT12) You cannot delete non session-only dimension values from unique concat dimension %j."
// *Cause: The user tried to apply MAINTAIN DELETE to a non-SESSION value.
// *Action: Only use MAINTAIN DELETE to remove SESSION values from a concat dimension.
34060, 00000, "(MSEXECUT10) You do not have permission to maintain %j."
// *Cause:
// *Action:
34061, 00000, "(MSEXECUT11) Session-only values cannot be added to non-unique concat dimension %j, or any of its base dimensions."
// *Cause: Only UNIQUE concat dimensions can have custom member values.
// *Action: Use the CHGDFN command to change the concat dimension to UNIQUE and retry. 
34062, 00000, "(MXARGS01) = Args:"
// *Cause:
// *Action:
34064, 00000, "(MXARGS02) (Relation)"
// *Cause:
// *Action:
34066, 00000, "(MXARGS03) values of"
// *Cause:
// *Action:
34068, 00000, "(MXBREAK01) The BREAK statement can only be used within a FOR or WHILE loop or within a SWITCH statement."
// *Cause:
// *Action:
34070, 00000, "(MXBREAK02) The CONTINUE statement can only be used within a FOR or WHILE loop."
// *Cause:
// *Action:
34072, 00000, "(MXCALL01) %q is not a PROGRAM."
// *Cause:
// *Action:
34074, 00000, "(MXCGAF01) %a %s %s\nThe %1p function cannot be used with %2p data."
// *Cause:
// *Action:
34076, 00000, "(MXCGAF02) %n is neither a dimension nor the name of a relationship array."
// *Cause:
// *Action:
34078, 00000, "(MXCGAF03) %a %j %s\nThe dimension %1p appears more than once as an argument to %2p."
// *Cause:
// *Action:
34082, 00000, "(MXCGAF05) Specify the STATUS keyword only if at least one of the breakout dimensions is not a dimension of the expression argument."
// *Cause:
// *Action:
34084, 00000, "(MXCGAF06) You cannot specify %j as a breakout dimension because it is a dimension composite."
// *Cause:
// *Action:
34086, 00000, "(MXCGAF07) You can only specify a qualified data reference to a breakout relation object. %n is not a relation."
// *Cause:
// *Action:
34088, 00000, "(MXCGCE04) The THEN and ELSE expressions must evaluate to values of the same dimension."
// *Cause:
// *Action:
34090, 00000, "(MXCGCHRL01) %a %s %j\nThe expression argument to %1p is not dimensioned by %2p."
// *Cause:
// *Action:
34092, 00000, "(MXCGCON01) The use of a hexadecimal value (%t) is not supported."
// *Cause:
// *Action:
34094, 00000, "(MXCGCUM00) %a %n %j\nIn the CUMSUM function, the relation (%1p) must refer to the accumulation dimension (%2p)."
// *Cause:
// *Action:
34096, 00000, "(MXCGCUM01) The reset parameter '%n' is neither a RELATION nor a DIMENSION."
// *Cause:
// *Action:
34098, 00000, "(MXCGCUM02) The STATUS keyword has no effect unless the first argument has more than one dimension."
// *Cause:
// *Action:
34100, 00000, "(MXCGCVT01) Values of type %s are expected."
// *Cause:
// *Action:
34102, 00000, "(MXCGFIOF01) %a %t %s\nThe %1p option of FILEQUERY is not supported in this version of %2p."
// *Cause:
// *Action:
34104, 00000, "(MXCGGET01) %n is not a type of object that contains data values."
// *Cause:
// *Action:
34106, 00000, "(MXCGGET03) FILEREAD attributes can be specified only in the context of a FILEREAD or FILEVIEW command."
// *Cause:
// *Action:
34108, 00000, "(MXCGGET04) FILEREAD attributes cannot be specified for the NAME dimension."
// *Cause:
// *Action:
34110, 00000, "(MXCGGET05) FILEREAD attributes cannot be specified for a constant."
// *Cause:
// *Action:
34112, 00000, "(MXCGGT01) Values of type %s cannot be read with the MANY option."
// *Cause:
// *Action:
34114, 00000, "(MXCGGT02) The RAW attribute applies only to TEXT."
// *Cause:
// *Action:
34116, 00000, "(MXCGHCVT00) To convert TEXT to date use:\n     CONVERT(expression DATE [dateorder])"
// *Cause:
// *Action:
34118, 00000, "(MXCGHCVT01) To convert date to TEXT or ID use:\n     CONVERT(expression {ID|TEXT} [dateformat])"
// *Cause:
// *Action:
34120, 00000, "(MXCGHCVT02) To convert time dimension periods to TEXT or ID use:\n     CONVERT(expression {ID|TEXT} [vnf-format])"
// *Cause:
// *Action:
34122, 00000, "(MXCGHCVT03) To convert NUMBER to TEXT or ID use:\n     CONVERT(expression {ID|TEXT} [output-format])"
// *Cause:
// *Action:
34124, 00000, "(MXCGHCVT04) %a %s %s %s\nTo convert %1p to %2p use:\n     CONVERT(expression %3p [format])"
// *Cause:
// *Action:
34126, 00000, "(MXCGKEY01) The first argument to the KEY function must be an expression yielding a dimension value."
// *Cause:
// *Action:
34128, 00000, "(MXCGKEY02) You cannot apply the KEY function to %j because it is not a conjoint dimension or composite."
// *Cause:
// *Action:
34130, 00000, "(MXCGKEY03) %a %j %j\n%1p is not a component of conjoint dimension %2p."
// *Cause:
// *Action:
34132, 00000, "(MXCGKEY04) %a %j %j\n%1p is not a component of composite %2p."
// *Cause:
// *Action:
34134, 00000, "(MXCGLA01) You are trying to perform an invalid operation. Dates cannot be exponentiated."
// *Cause:
// *Action:
34136, 00000, "(MXCGMOVE00) %a %t %j\nThe first argument to the %1p function is not dimensioned by %2p."
// *Cause:
// *Action:
34138, 00000, "(MXCGNPV03) The interest rate expression in the NPV function cannot be dimensioned by %j."
// *Cause:
// *Action:
34140, 00000, "(MXCGPFC01) %a %d %n\nArgument number %1p in the call to %2p is not a simple expression."
// *Cause:
// *Action:
34141, 00000, "(MXCGPUT00) You cannot use the ASSIGN keyword with DIMENSION %j."
// *Cause: User used the ASSIGN keyword on a DIMENSION target in a FILEREAD,  
//  SQL FETCH or SQL SELECT command.
// *Action: To create a new dimension value in a FILEREAD, SQL FETCH or
//  SQL SELECT command, use the APPEND keyword. 
34142, 00000, "(MXCGPUT01) You cannot assign values to a %s."
// *Cause:
// *Action:
34143, 00000, "(MXCGPUT02) You cannot assign values to SURROGATE %n because it is type INTEGER."
// *Cause: The user attempted to assign a value to a dimension surrogate whose
//  data type is INTEGER. INTEGER surrogates, like INTEGER dimensions, cannot
//  have values assigned to them. They can only be referenced by position.
// *Action: Do not attempt to assign values to an INTEGER surrogate. Values
//  will automatically appear and disappear from the INTEGER surrogate as
//  positions are added to or removed from the underlying dimension.
34144, 00000, "(MXCGPUT04) A model cannot assign values to a %s."
// *Cause:
// *Action:
34145, 00000, "(MXCGPUT03) You cannot use the APPEND keyword with SURROGATE %n."
// *Cause: User used the APPEND keyword on a SURROGATE target in a FILEREAD,  
//  SQL FETCH or SQL SELECT command.
// *Action: To assign a value to a SURROGATE in a FILEREAD, SQL FETCH or
//  SQL SELECT command, use the ASSIGN keyword. 
34146, 00000, "(MXCGQDR01) A qualified data reference (QDR) has this format:\n     name(dimension1 dimvalue1 [dimension2 dimvalue2...])"
// *Cause:
// *Action:
34148, 00000, "(MXCGQDR02) %j cannot be used as a qualifier because it is a COMPOSITE or PARTITION TEMPLATE. You can use its component dimensions instead."
// *Cause:
// *Action:
34150, 00000, "(MXCGQDR05) A dimension can be named only once in a qualified data reference. %j has been named more than once."
// *Cause:
// *Action:
34152, 00000, "(MXCGQDR06) %a %q %j\nThe dimensions named in a qualified data reference must be dimensions of the qualified object. %1p is not dimensioned by %2p."
// *Cause:
// *Action:
34154, 00000, "(MXCGQDR10) %q has no dimensions, so it cannot have a qualified data reference."
// *Cause:
// *Action:
34156, 00000, "(MXCGRA00) You cannot compare time periods of different lengths or phases."
// *Cause:
// *Action:
34158, 00000, "(MXCGRA01) You cannot subtract time periods of different lengths or phases."
// *Cause:
// *Action:
34160, 00000, "(MXCGRA02) The format of the IN operator is\n          IN  





About Me

...............................................................................................................................

本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

本文在itpubhttp://blog.itpub.net/26736162)、博客园http://www.cnblogs.com/lhrbest和个人微信公众号(xiaomaimiaolhr)上有同步更新

本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

本文博客园地址:http://www.cnblogs.com/lhrbest

本文pdf小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

联系我请加QQ好友(646634621),注明添加缘由

2017-04-28 09:00 ~ 2017-04-30 22:00魔都完成

文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

拿起手机使用微信客户端扫描下边的左边图片来关注小麦苗的微信公众号:xiaomaimiaolhr,扫描右边的二维码加入小麦苗的QQ群,学习最实用的数据库技术。


DBA笔试面试讲解
欢迎与我联系