Oracle Messages 'Cause and Action'

Oracle Messages 'Cause and Action'

Note that only error messages with cause and actions go in .msg/.msb files; other information messages stay in the resources of the components concerned and are displayed with a standard AfxMessageBox call, rather than using the full rmum error stack.
ORA-00000, 00000, "normal, successful completion"
Cause: Normal exit.  Action: None.


ORA-00001, 00000, "unique constraint (%s.%s) violated"
Cause: An UPDATE or INSERT statement attempted to insert a duplicate key.
         For Trusted Oracle configured in DBMS MAC mode, you may see
         this message if a duplicate entry exists at a different level.
Action: Either remove the unique restriction or do not insert the key.
/0002	     reserved for v2 compatibility (null column)
/0003	     reserved for v2 compatibility (column value truncated)
/0004	     reserved for v2 compatibility (end-of-fetch)
/0009	     reserved for v2 compatibility
/
/ 10 - 49 user session and session switching errors
/


ORA-00017, 00000, "session requested to set trace event"
Cause:  The current session was requested to set a trace event by another
          session.
Action: This is used internally; no action is required.


ORA-00018, 00000, "maximum number of sessions exceeded"
Cause:  All session state objects are in use.
Action: Increase the value of the SESSIONS initialization parameter.


ORA-00019, 00000, "maximum number of session licenses exceeded"
Cause: All licenses are in use.
Action: Increase the value of the LICENSE MAX SESSIONS initialization 
          parameter. 


ORA-00020, 00000, "maximum number of processes (%s) exceeded"
Cause:  All process state objects are in use.
Action: Increase the value of the PROCESSES initialization parameter.


ORA-00021, 00000, "session attached to some other process; cannot switch session"
Cause:  The user session is currently used by others.
Action: Do not switch to a session attached to some other process.


ORA-00022, 00000, "invalid session ID; access denied"
Cause: Either the session specified does not exist or the caller
         does not have the privilege to access it.
Action: Specify a valid session ID that you have privilege to access, 
          that is either you own it or you have the CHANGE_USER privilege.


ORA-00023, 00000, "session references process private memory; cannot detach session"
Cause:  An attempt was made to detach the current session when it contains
          references to process private memory.
Action: A session may contain references to process memory (PGA) if it has
          an open network connection, a very large context area, or operating
          system privileges.  To allow the detach, it may be necessary to
          close the session's database links and/or cursors.  Detaching a
          session with operating system privileges is always disallowed.


ORA-00024, 00000, "logins from more than one process not allowed in single-process mode"
Cause:  Trying to login more than once from different processes for
          ORACLE started in single-process mode.
Action: Logoff from the other process.


ORA-00025, 00000, "failed to allocate %s"
Cause:  Out of memory.
Action: Restart with larger sga heap.


ORA-00026, 00000, "missing or invalid session ID"
Cause:  Missing or invalid session ID string for ALTER SYSTEM KILL SESSION.
Action: Retry with a valid session ID.


ORA-00027, 00000, "cannot kill current session"
Cause:  Attempted to use ALTER SYSTEM KILL SESSION to kill the current 
          session.
Action: None.


ORA-00028, 00000, "your session has been killed"
Cause:  A privileged user has killed your session and you are no longer
          logged on to the database. 
Action: Login again if you wish to continue working.


ORA-00029, 00000, "session is not a user session"
Cause:  The session ID specified in an ALTER SYSTEM KILL SESSION command
          was not a user session (for example, recursive, etc.).
Action: Retry with a user session ID.


ORA-00030, 00000, "User session ID does not exist."
Cause:  The user session ID no longer exists, probably because the
          session was logged out.
Action: Use a valid session ID.


ORA-00031, 00000, "session marked for kill"
Cause:  The session specified in an ALTER SYSTEM KILL SESSION command
          cannot be killed immediately (because it is rolling back or blocked
          on a network operation), but it has been marked for kill.  This
          means it will be killed as soon as possible after its current
          uninterruptable operation is done.
Action: No action is required for the session to be killed, but further
          executions of the ALTER SYSTEM KILL SESSION command on this session
          may cause the session to be killed sooner.


ORA-00032, 00000, "invalid session migration password"
Cause:  The session migration password specified in a session creation
          call was invalid (probably too long).
Action: Retry with a valid password (less than 30 chars).


ORA-00033, 00000, "current session has empty migration password"
Cause:  An attempt was made to detach or clone the current session and
          it has an empty migration password.  This is not allowed.
Action: Create the session with a non-empty migration password.


ORA-00034, 00000, "cannot %s in current PL/SQL session"
Cause:  An attempt was made to issue a commit or rollback from a PL/SQL
          object (procedure, function, package) in a session that has this
          disabled (by 'alter session disable commit in procedure')
Action: Enable commits from PL/SQL in this session, or do not attempt
          to use commit or rollback in PL/SQL when they are disabled
          in the current session.


ORA-00035, 00000, "LICENSE_MAX_USERS cannot be less than current number of users"
Cause:
Action:


ORA-00036, 00000, "maximum number of recursive SQL levels (%s) exceeded"
Cause:  An attempt was made to go more than the specified number
          of recursive SQL levels.
Action: Remove the recursive SQL, possibly a recursive trigger.


ORA-00037, 00000, "cannot switch to a session belonging to a different server group"
Cause:  An attempt was made to switch to a session in a different server
          group.  This is not allowed.
Action: Make sure the server switches to a session that belongs to its
          server group.


ORA-00038, 00000, "Cannot create session: server group belongs to another user"
Cause:  An attempt was made to create a non-migratable session in a server
          group that is owned by a different user.
Action: A server group is owned by the first user who logs into a server
          in the server group in non-migratable mode.  All subsequent
          non-migratable mode logins must be made by the user who owns
          the server group.  To have a different user login in non-migratable
          mode, the ownership of the server group will have to be changed.
          This can be done by logging off all current sessions and detaching
          from all existing servers in the server group and then having the
          new user login to become the new owner.


ORA-00050, 00000, "operating system error occurred while obtaining an enqueue"
Cause:  Could not obtain the operating system resources necessary
          to cover an oracle enqueue.  This is normally the result
          of an operating system user quota that is too low.
Action: Look up the operating system error in your system documentation
          and perform the needed action.


ORA-00051, 00000, "timeout occurred while waiting for a resource"
Cause:  Usually due to a dead instance.
Action: Check for any dead, unrecovered instances and recover them.


ORA-00052, 00000, "maximum number of enqueue resources (%s) exceeded"
Cause:  Ran out of enqueue resources.
Action: Increase the value of the ENQUEUE_RESOURCES initialization parameter.


ORA-00053, 00000, "maximum number of enqueues exceeded"
Cause:  Ran out of enqueue state objects.
Action: Increase the value of the ENQUEUES initialization parameter. 


ORA-00054, 00000, "resource busy and acquire with NOWAIT specified"
Cause:  Resource interested is busy.
Action: Retry if necessary.


ORA-00055, 00000, "maximum number of DML locks exceeded"
Cause:  Ran out of DML lock state objects.
Action: Increase the value of the DML_LOCKS initialization parameter
          and warm start.


ORA-00056, 00000, "DDL lock on object '%s.%s' is already held in an incompatible mode"
Cause:  An attempt was made to acquire a DDL lock that is already locked.
Action: This happens if you attempt to drop a table that has parse locks
	    on it.


ORA-00057, 00000, "maximum number of temporary table locks exceeded"
Cause:  The number of temporary tables equals or exceeds the number of
          temporary table locks.  Temporary tables are often created by
          large sorts.
Action: Increase the value of the TEMPORARY_TABLE_LOCKS initialization 
          parameter and warm start.


ORA-00058, 00000, "DB_BLOCK_SIZE must be %s to mount this database (not %s)"
Cause:  DB_BLOCK_SIZE initialization parameter is wrong for the database
          being mounted. It does not match the value used to create the
          database.
Action: Fix the value of the DB_BLOCK_SIZE parameter or mount a database 
          that matches the value.


ORA-00059, 00000, "maximum number of DB_FILES exceeded"
Cause:  The value of the DB_FILES initialization parameter was exceeded.
Action: Increase the value of the DB_FILES parameter and warm start.


ORA-00060, 00000, "deadlock detected while waiting for resource"
Cause:  Transactions deadlocked one another while waiting for resources.
Action: Look at the trace file to see the transactions and resources
          involved. Retry if necessary.


ORA-00061, 00000, "another instance has a different DML_LOCKS setting"
Cause: The shared instance being started is using DML locks, and the
	   running instances are not, or vice-versa.
Action: Ensure that all instances' INIT.ORA files specify 
          the DML_LOCKS parameter as 0 or all as non-zero.


ORA-00062, 00000, "DML full-table lock cannot be acquired; DML_LOCKS is 0"
Cause: The instance was started with DML_LOCKS = 0, and the statement
	   being executed needs a full-table lock (S, X, or SSX).
Action: Restart the instance with DML_LOCKS not equal to zero, and 
          reexecute the statement.


ORA-00063, 00000, "maximum number of LOG_FILES exceeded"
Cause:  LOG_FILES initialization parameter value exceeded
Action: Increase the value of the LOG_FILES initialization parameter and 
          warm start. The parameter needs to be as large as the highest 
          number of log files that currently exist rather than just the 
          count of logs that exist.


ORA-00064, 00000, "object is too large to allocate on this O/S (%s,%s)"
Cause:  An initialization parameter was set to a value that required 
          allocating more contiguous space than can be allocated on this 
          operating system.
Action: Reduce the value of the initialization parameter.


ORA-00065, 00000, "initialization of FIXED_DATE failed"
Cause:  The FIXED_DATE string was not in date format yyyy-mm-dd:hh24:mi:ss.
Action: Make sure the initialization parameter is in the correct date 
          format.


ORA-00066, 00000, "LOG_FILES is %s but needs to be %s to be compatible"
Cause:  The maximum number of log files supported by this instance 
         is not the same as for the other instances. All instances must
         be able to open all the files any instance can open.
Action: Change the value of the LOG_FILES initialization parameter to 
         be compatible.


ORA-00067, 00000, "invalid value %s for parameter %s; must be at least %s"
Cause:  The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.


ORA-00068, 00000, "invalid value %s for parameter %s, must be between %s and %s"
Cause:  The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.


ORA-00069, 00000, "cannot acquire lock -- table locks disabled for %s" 
Cause: A command was issued that tried to lock the table indicated in 
         the message. Examples of commands that can lock tables are: 
         LOCK TABLE, ALTER TABLE ... ADD (...), and so on. 
Action: Use the ALTER TABLE ... ENABLE TABLE LOCK command, and retry 
          the command. 
/
/ 70 .. 90 generic debugger errors
/


ORA-00070, 00000, "command %s is not valid"
Cause:  An invalid debugger command was specified.
Action: Type HELP to see the list of available commands.


ORA-00071, 00000, "process number must be between 1 and %s"
Cause:  An invalid process number was specified.
Action: Specify a valid process number.


ORA-00072, 00000, "process \"%s\" is not active"
Cause:  An invalid process was specified.
Action: Specify a valid process.


ORA-00073, 00000, "command %s takes between %s and %s argument(s)"
Cause:  An incorrect number of arguments was specified.
Action: Specify the correct number of arguments.  Type HELP
          to see the list of commands and their syntax.


ORA-00074, 00000, "no process has been specified"
Cause:  No debug process has been specified.
Action: Specify a valid process.


ORA-00075, 00000, "process \"%s\" not found in this instance"
Cause:  The specified process was not logged on to the current instance.
Action: Specify a valid process.


ORA-00076, 00000, "dump %s not found"
Cause:  An attempt was made to invoke a dump that does not exist.
Action: Type DUMPLIST to see the list of available dumps.


ORA-00077, 00000, "dump %s is not valid"
Cause:  An attempt was made to invoke an invalid dump.
Action: Try another dump.


ORA-00078, 00000, "cannot dump variables by name"
Cause:  An attempt was made to dump a variable by name on a system that  
          does not support this feature.  
Action: Try the PEEK command.


ORA-00079, 00000, "variable %s not found"
Cause:  An attempt was made to dump a variable that does not exist.
Action: Use a valid variable name.


ORA-00080, 00000, "invalid global area specified by level %s"
Cause:  An attempt was made to dump an invalid global area.
Action: Use level 1 for the PGA, 2 for the SGA, and 3 for the UGA.
          Use <extra + level> to dump global area <level> as well as <extra>
          bytes for every pointer;  <extra> must be a multiple of 4.


ORA-00081, 00000, "address range [%s, %s) is not readable"
Cause:  An attempt was made to read/write an invalid memory address range.
Action: Try another address or length.


ORA-00082, 00000, "memory size of %s is not in valid set of [1], [2], [4]%s%s%s%s%s"
Cause:  An invalid length was specified for the POKE command.
Action: Use a valid length (either 1, 2, 4, or possibly 8).


ORA-00083, 00000, "warning: possibly corrupt SGA mapped"
Cause:  Even though there may be SGA corruptions, the SGA was mapped.
Action: Use the DUMPSGA command to dump the SGA.


ORA-00084, 00000, "global area must be PGA, SGA, or UGA"
Cause:  An attempt was made to dump an invalid global area.
Action: Specify either PGA, SGA, or UGA.


ORA-00085, 00000, "current call does not exist"
Cause:  An invalid attempt was made to dump the current call heap.
Action: Wait until the process starts a call.


ORA-00086, 00000, "user call does not exist"
Cause:  An invalid attempt was made to dump the user call heap.
Action: Wait until the process starts a call.


ORA-00087, 00000, "command cannot be executed on remote instance"
Cause:  Cluster database command issued for non cluster database
          ORADEBUG command.
Action: Issue the command without the cluster database syntax.


ORA-00088, 00000, "command cannot be executed by shared server "
Cause:  Debug command issued on shared server. 
Action: Reissue the command using a dedicated server.


ORA-00089, 00000, "invalid instance number in ORADEBUG command "
Cause:  An invalid instance number was specified in a cluster database
          ORADEBUG command.
Action: Reissue the command with valid instance numbers.


ORA-00090, 00000, "failed to allocate memory for cluster database ORADEBUG command "
Cause:  Could not allocate memory needed to execute cluster database
          oradebug.
Action: Reissue the command on each instance with single-instance oradebug.
/ 91 .. 95 ksm large_pool_size and large_pool_min_alloc size errors 


ORA-00091, 00000, "LARGE_POOL_SIZE must be at least %s"
Cause: The value of LARGE_POOL_SIZE is below the minimum size.
Action: Increase the value of LARGE_POOL_SIZE past the minimum size.


ORA-00092, 00000, "LARGE_POOL_SIZE must be greater than LARGE_POOL_MIN_ALLOC"
Cause: The value of LARGE_POOL_SIZE is less than the value of
         LARGE_POOL_MIN_ALLOC.
Action: Increase the value of LARGE_POOL_SIZE past the value of
         LARGE_POOL_MIN_ALLOC.


ORA-00093, 00000, "%s must be between %s and %s"
Cause: The parameter value is not in a valid range.
Action: Modify the parameter value to be within the specified range.


ORA-00094, 00000, "%s requires an integer value"
Cause: The parameter value is not an integer.
Action: Modify the parameter value to be an integer.
/


ORA-00096, 00000, "invalid value %s for parameter %s, must be from among %s"
Cause:  The value for the initialization parameter is invalid.
Action: Choose a value as indicated by the message.
/


ORA-00097, 00000, "use of Oracle SQL feature not in SQL92 %s Level"
Cause: Usage of Oracle's SQL extensions.
Action: 


ORA-00099, 00000, "timed out while waiting for resource, potential PDML deadlock" 
Cause:  The resource needed by the transaction was busy.  The PDML
          transaction could not acquire the resource within the specified
          amount of time. This indicates potential deadlock involving this
          PDML transaction and other transactions currently running in the
          system. 
Action: Increase the the value of the PARALLEL_TRANSACTION_RESOURCE_TIMEOUT
          parameter; then retry the operation. 


ORA-00100, 00000, "no data found"
Cause: An application made reference to unknown or inaccessible data.
Action: Handle this condition within the application or make appropriate
          modifications to the application code.
             NOTE: If the application uses Oracle-mode SQL instead of
             ANSI-mode SQL, ORA-01403 will be generated instead of ORA-00100.
/
/ 101 .. 149 shared server errors
/


ORA-00101, 00000, "invalid specification for system parameter DISPATCHERS"
Cause: The syntax for the DISPATCHERS parameter is incorrect.
Action: Refer to the manual for correct syntax.


ORA-00102, 00000, "network protocol %s cannot be used by dispatchers"
Cause: The network specified in DISPATCHERS does not have the
         functionality required by the dispatchers.
Action: Refer to the manual on network protocols supported by the
          dispatchers.


ORA-00103, 00000, "invalid network protocol; reserved for use by dispatchers"
Cause: The network specified in the SQL*Net connect string is reserved
         for use by the dispatchers.
Action: Specify other network protocols in the connection string.


ORA-00104, 00000, "deadlock detected; all public servers blocked waiting for resources"
Cause: All available public servers are servicing requests that require
         resources locked by a client which is unable to get a public
         server to release the resources.
Action: Increase the limit for the system parameter MAX_SHARED_SERVERS
          as the system will automaticaly start
          up new servers to break the deadlock until the number of
          servers reaches the value specified in MAX_SHARED_SERVERS.


ORA-00105, 00000, "dispatching mechanism not configured for network protocol %s"
Cause: Trying to alter the dispatcher's configuration for a network
         protocol that was not specified in the INIT.ORA file.
Action: Include the network protocol in the system parameter
          DISPATCHERS in INIT.ORA and re-start the system.


ORA-00106, 00000, "cannot startup/shutdown database when connected to a dispatcher"
 Cause: An attempt was made to startup/shutdown database when connected to 
          a shared server via a dispatcher.
Action: Re-connect as user INTERNAL without going through the dispatcher.
          For most cases, this can be done by connect to INTERNAL without
          specifying a network connect string.


ORA-00107, 00000, "failed to connect to ORACLE listener process"
Cause: Most likely due to the fact that ORACLE listener has not been
 	   started.
Action: Start ORACLE listener if it has not been started. Or else
	    contact your ORACLE representative.


ORA-00108, 00000, "failed to set up dispatcher to accept connection asynchronously"
Cause: Most likely due to the fact that the network protocol used by the
	   the dispatcher does not support aynchronous operations.
Action: Contact your ORACLE representative.


ORA-00111, 00000, "not all servers started because number of servers is limited to %s"
Cause: An attempt was made to start more servers than the maximum
         number specified by the system parameter MAX_SHARED_SERVERS.
Action: Increase the value of MAX_SHARED_SERVERS in INIT.ORA as needed
	    or re-issue the ALTER SYSTEM SET SHARED_SERVERS command with
	    an appropriate number of servers.


ORA-00112, 00000, "only created up to %s (maximum specified) dispatchers"
Cause: An attempt was made to start more dispatchers than the maximum
         number specified by the system parameter MAX_DISPATCHERS.
Action: Increase the value of MAX_DISPATCHERS in INIT.ORA as needed.


ORA-00113, 00000, "protocol name %s is too long"
Cause: A protocol name specified in the DISPATCHERS system parameter
         is too long.
Action: Use a valid protocol name for the DISPATCHERS value.


ORA-00114, 00000, "missing value for system parameter SERVICE_NAMES"
Cause: No value was specified for the SERVICE_NAMES system parameter, 
         nor for the DB_NAME parameter.
Action: Add an SERVICE_NAMES or DB_NAME definition to the INIT.ORA file.
          By default, SERVICE_NAMES is the value of DB_NAME unless
          SERVICE_NAMES is explicitly specified.


ORA-00115, 00000, "connection refused; dispatcher connection table is full"
Cause: A connection request was refused by a dispatcher because the
         dispatcher cannot support any more connections.
Action: Connect to a different dispatcher, or use a dedicated server.


ORA-00116, 00000, "SERVICE_NAMES name is too long"
Cause: A service name specified in the SERVICE_NAMES system parameter
         is too long.
Action: Use a shorter name in the SERVICE_NAMES value <= 255 chars).


ORA-00117, 00000, "value out of range for system parameter SERVICE_NAMES"
Cause: The specified value of the SHARED_SERVERS parameter is incorrect.
Action: SHARED_SERVERS must be >= 0 and <= MAX_SHARED_SERVERS.


ORA-00118, 00000, "value out of range for system parameter DISPATCHERS"
Cause: The value of the DISPATCHERS parameter is incorrect.
Action: The sum of all DISPATCHERS values must be >= 0 and
          <= MAX_DISPATCHERS.


ORA-00119, 00000, "invalid specification for system parameter MTS_LISTENER_ADDRESS"
Cause: The syntax for the MTS_LISTENER_ADDRESS parameter is incorrect.
Action: Refer to the Oracle8 Server Reference Manual for the correct syntax.


ORA-00120, 00000, "dispatching mechanism not enabled or installed"
Cause: Either the dispatching mechanism was not enabled or the
	   ORACLE executable image was not installed with the dispatching
         mechanism.
Action: Refer to manual on how to enable the dispatching mechanism using
          system parameters in the INIT.ORA file. Failing that, consult
          your ORACLE representative.


ORA-00121, 00000, "SHARED_SERVERS specified without DISPATCHERS"
Cause: A definition for SHARED_SERVERS was specified in the INIT.ORA file,
         but no definition for DISPATCHERS was specified.  Without a
         value for DISPATCHERS, shared servers will never be used.
Action: Add a definition for DISPATCHERS in the INIT.ORA file
          (or take out the definition for SHARED_SERVERS, if shareds
          servers are not being used).


ORA-00122, 00000, "cannot initialize network configuration"
Cause:  ORACLE could not initialize SQL*Net version 2.
Action: Check the error stack for detailed information.


ORA-00123, 00000, "idle public server terminating"
Cause: Too many idle servers were waiting on the common queue.
Action: This error is used internally, no action is required.


ORA-00124, 00000, "DISPATCHERS specified without MAX_SHARED_SERVERS"
Cause:  A definition for DISPATCHERS was specified in the INIT.ORA 
          file, but MAX_SHARED_SERVERS was specified as zero.
Action: Specify MAX_SHARED_SERVERS to be greater than zero.


ORA-00125, 00000, "connection refused; invalid presentation"  
Cause:  The PRESENTATION in the CONNECT_DATA of the TNS address  
          DESCRIPTION is not correct or is not supported.  
Action: Correct the PRESENTATION specified in the TNS address. 


ORA-00126, 00000, "connection refused; invalid duplicity"  
Cause:  The DUPLICITY in the CONNECT_DATA of the TNS address  
          DESCRIPTION is not correct or is not supported.  
Action: Correct the DUPLICITY specified in the TNS address.


ORA-00127, 00000, "dispatcher %s does not exist"
Cause:  There is currently no dispatcher running with the specified
          name.
Action: Retry with a name of the form "D###" denoting an existing
          dispatcher process.


ORA-00128, 00000, "this command requires a dispatcher name"
Cause:  Wrong syntax for ALTER SYSTEM SHUTDOWN
Action: Use correct syntax: 
	    ALTER SYSTEM SHUTDOWN [ IMMEDIATE ] 'dispatcher name'
/
/ 150 .. 159 Oracle*XA errors
/


ORA-00150, 00000, "duplicate transaction ID"
Cause:  Attempted to start a new transaction with an ID already in use
          by an existing transaction.
Action: Check your application.


ORA-00151, 00000, "invalid transaction ID"
Cause:  The specified transaction ID does not correspond to an existing
          valid transaction.
Action: Check your application.


ORA-00152, 00000, "current session does not match requested session"
Cause:  The current session is not the same as the session that was
          passed into a upixado() call.
Action: Check your application.


ORA-00153, 00000, "internal error in XA library"
Cause:  The XA library could not access thread-specific pointers.
Action: Contact customer support.


ORA-00154, 00000, "protocol error in transaction monitor"
Cause:  The transaction monitor returned TMJOIN on an AX_REG call but
          the transaction was locally suspended.
Action: Contact the transaction monitor customer support.


ORA-00155, 00000, "cannot perform work outside of global transaction"
Cause:  The application tried to perform some work on either an Oracle 
          7.3 server or an Oracle8 server with local transactions disabled
          while outside of a global transaction.
Action: Check if the application is connected to an Oracle 7.3 server. The
          Transaction monitor must not return a NULL XID on an AX_REG call
          when the resource manager is Oracle 7.3.  If the application is
          connected to an Oracle8 server, either set nolocal=f in the
          xa_open string or start a global transaction prior to attempting
          the work.

          
/
/ 160 .. 199 Distributed transaction errors (continued)
/


ORA-00160, 00000, "global transaction length %s is greater than maximum (%s)"
Cause:  An external global transaction ID with a too large length field
          was passed in.
Action: Report the problem to your external transaction coordinator
          vendor.


ORA-00161, 00000, "transaction branch length %s is illegal (maximum allowed %s)"
Cause:  An external transaction branch ID with a length either too large
          or 0 was passed in.
Action: Report the problem to your external transaction coordinator
          vendor.


ORA-00162, 00000, "external dbid length %s is greater than maximum (%s)"
Cause:  An external database name with too large a length field
          was passed in.
Action: Report the problem to your external transaction coordinator
          vendor.


ORA-00163, 00000, "internal database name length %s is greater than maximum (%s)"
Cause:  An internal database name with a too large length field
          was passed in.
Action: Report the problem to your external transaction coordinator
          vendor.


ORA-00164, 00000, "autonomous transaction disallowed within distributed transaction"
Cause:  A request was made by the application to start an autonomous
          transaction when the application was already in a distributed
          transaction.
Action: Roll back or commit the current distributed transaction first.
/
/ 200 .. 249 controlfile management errors
/


ORA-00200, 00000, "controlfile could not be created"
Cause:  It was not possible to create the controlfile.
Action: Check that there is sufficient disk space and no conflicts in 
          filenames and try to create the controlfile again.


ORA-00201, 00000, "controlfile version %s incompatible with ORACLE version %s"
Cause:  The controlfile was created by incompatible software.
Action: Either restart with a compatible software release or use
          CREATE CONTROLFILE to create a new controlfile that is 
          compatible with this release.


ORA-00202, 00000, "controlfile: '%s'"
Cause:  This message reports the name file involved in other messages.
Action: See associated error messages for a description of the problem.


ORA-00203, 00000, "using the wrong controlfiles"
Cause:  The mount ID in the controlfile is not the same as the
         mount ID in the controlfile used by the first instance to
         mount this database. The controlfiles are for the same database
         but they are not the same files. Most likely one instance is using
         a backup controlfile.
Action: Check that the correct controlfiles were specified.


ORA-00204, 00000, "error in reading (block %s, # blocks %s) of controlfile"
Cause:  A disk I/O failure was detected on reading the controlfile.
Action: Check if the disk is online, if it is not, bring it online and try
          a warm start again.  If it is online, then you need to recover
          the disk.


ORA-00205, 00000, "error in identifying controlfile, check alert log for more info"
Cause:  The system could not find a controlfile of the specified name and
	   size.
Action: Check that ALL controlfiles are online and that they are the same
         files that the system created at cold start time.


ORA-00206, 00000, "error in writing (block %s, # blocks %s) of controlfile"
Cause:  A disk I/O failure was detected on writing the controlfile.
Action: Check if the disk is online, if it is not, bring it online and try
	   a warm start again.  If it is online, then you need to
            recover the disk.


ORA-00207, 00000, "controlfiles are not for the same database"
Cause:  The database ID in the controlfile is not the same as the
         database ID in the controlfile used by the first instance to
         mount this database. Most likely one of the mounts used the wrong
         controlfile or there are two databases with the same name.
Action: Check that the controlfile is for the correct database and is
         not an old version.


ORA-00208, 00000, "number of controlfile names exceeds limit of %s"
Cause:  An attempt was made to use more controlfiles than Oracle supports.
Action: Shut down Oracle. Reduce the number of controlfiles specified in 
          the CONTROL_FILES parameter in the initialization parameter 
          file, and restart Oracle. Delete usused files. 


ORA-00209, 00000, "control file blocksize mismatch, check alert log for more info"
Cause: The block size in the control file header does not match the
         size specified in the DB_BLOCK_SIZE parameter. 
Action: Look at the alert log for more information. 


ORA-00210, 00000, "cannot open the specified controlfile"
Cause:  Cannot open the controlfile.
Action: Check to make sure the controlfile exists and is not locked by
	   some other program.


ORA-00211, 00000, "controlfile does not match previous controlfiles"
Cause:  A controlfile was specified that belongs to another database.
Action: Find and install the correct controlfile.


ORA-00212, 00000, "block size %s below minimum required size of %s bytes"
Cause:  The block size specified was too small. Space for the
	   system overhead is required. 
Action: Specify a larger block size and retry the operation. 


ORA-00213, 00000, "cannot reuse controlfile; old file size %s, %s required"
Cause:  To reuse a controlfile, it must be the same size as
	    the one previously used.
Action: Either do not specify REUSE, or specify a matching combination of
          MAXDATAFILES, MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, and
          MAXINSTANCES clauses in the CREATE DATABASE or CREATE CONTROLFILE
          statement.


ORA-00214, 00000, "controlfile '%s' version %s inconsistent with file '%s' version %s"
Cause: An inconsistent set of controlfiles, datafiles/logfiles, and redo
         files was used.
Action: Use a consistant set of controlfiles, datafiles/logfiles, and redo
         log files. That is, all the files must be for the same database 
         and from the same time period.


ORA-00215, 00000, "must be at least one controlfile"
Cause: No controlfile is specified or the controlfile specified does
         not exist.
Action: Specify at least one valid controlfile and retry the operation.


ORA-00216, 00000, "controlfile could not be resized for migration from 8.0.2"
Cause:  Controlfiles created by release 8.0.2 were missing some records.
          These records are automatically added by resizing the contolfile
          when attempting to run a later release. The resize failed.
Action: Look in the alert log for the reason that the resize failed. If it
          can be fixed by giving the controlfile more space, then do that.
          Otherwise, use the CREATE CONTROLFILE script dumpped to the trace
          file to create a new controlfile.


ORA-00218, 00000, "block size %s of controlfile does not match DB_BLOCK_SIZE (%s)"
Cause:  The block size as stored in the controlfile header is 
          different from the value of the initialization parameter 
          DB_BLOCK_SIZE.  This might be due to an incorrect setting of 
          DB_BLOCK_SIZE, or else might indicate that the controlfile has 
          either been corrupted or belongs to a different database.
Action: Restore a good copy of the controlfile.


ORA-00219, 00000, "required controlfile size %s exceeds maximum allowable size %s"
Cause:  An invocation of CREATE DATABASE, CREATE CONTROLFILE,
          cfileCalcSizeList, or cfileCalcSizeArray was executed specifying
          a combination of parameters that would require the controlfile
          size in blocks to exceed the maximum allowable value.
Action: In the case of CREATE DATABASE or CREATE CONTROLFILE, use a
          different combination of MAXDATAFILES, MAXLOGFILES, MAXLOGMEMBERS,
          MAXLOGHISTORY, and MAXINSTANCES clauses.  In the case of
          cfileCalcSizeList() or cfileCalcSizeArray(), use a different
          combination of record type counts.


ORA-00220, 00000, "controlfile not mounted by first instance, check alert log for more info"
Cause:  The specified controlfile has a different mount ID than the
          other controlfiles that are being mounted. This means that
          the first instance to mount the database did not use this
          controlfile.
Action: Find and install the correct controlfile.


ORA-00221, 00000, "error on write to controlfile"
Cause:  An error occurred when writing to one or more of the controlfiles.
Action: See accompanying messages.


ORA-00222, 00000, "operation would reuse name of a currently mounted controlfile"
Cause:  The filename supplied as a parameter to the ALTER DATABASE BACKUP
          CONTROLFILE command or to cfileSetSnapshotName matches the 
          name of the specified currently mounted controlfile.
Action: Retry the operation with a different filename.


ORA-00223, 00000, "convert file is invalid or incorrect version"
Cause:  An Oracle7 to Oracle8 convert file contains invalid data 
          or was created with an different version of the migration utility.
          This error can also be caused by incorrect ORACLE_HOME environment 
          variable when ALTER DATABASE CONVERT command is issued.
Action: Use a correct version of the convert file or regenerate it with  
          the migration utility. Make sure that the migration utility is the
          same version as the Oracle8 RDBMS executable and that the 
          ORACLE_HOME environment variable is properly set. 


ORA-00224, 00000, "controlfile resize attempted with illegal record type (%s)"
Cause:  An attempt was made to expand or shrink the controlfile by calling
          cfileResizeSection using an invalid value for the RECORD_TYPE
          parameter.
Action: Use a value for the RECORD_TYPE parameter that specifies a
          valid record type other than type 0 (valid range is 1-16).


ORA-00225, 00000, "expected size %s of controlfile differs from actual size %s"
Cause:  The expected size of the controlfile as stored in its
          header was different than the actual operating system file size. 
	 This usually indicates that the controlfile was corrupted.
Action: Restore a good copy of the controlfile.


ORA-00226, 00000, "operation disallowed while alternate controlfile open"
Cause:  The attempted operation could not be executed at this time because
          this process had an alternate controlfile open for fixed table
          access.
Action: Retry the operation after calling cfileUseCurrent.


ORA-00227, 00000, "corrupt block detected in controlfile: (block %s, # blocks %s)"
Cause:  A block header corruption or checksum error was detected on reading
          the controlfile.
Action: Use the CREATE CONTROLFILE or RECOVER DATABASE USING BACKUP
          CONTROLFILE command.


ORA-00228, 00000, "length of alternate controlfile name exceeds maximum of %s"
Cause:  The specified filename, which was supplied as a parameter
          to cfileSetSnapshotName or cfileUseCopy, exceeds the maximum
          filename length for this operating system.
Action: Retry the operation with a shorter filename.


ORA-00229, 00000, "operation disallowed: already hold snapshot controlfile enqueue"
Cause:  The attempted operation cannot be executed at this time because
          this process currently holds the snapshot controlfile enqueue.
Action: Retry the operation after calling cfileUseCurrent to release the
          snapshot controlfile enqueue.


ORA-00230, 00000, "operation disallowed: snapshot controlfile enqueue unavailable"
Cause:  The attempted operation cannot be executed at this time because
          another process currently holds the snapshot controlfile enqueue.
Action: Retry the operation after the concurrent operation that is holding
          the snapshot controlfile enqueue terminates.


ORA-00231, 00000, "snapshot controlfile has not been named"
Cause:  During an invocation of cfileMakeAndUseSnapshot or cfileUseSnapshot
          it was detected that no filename for the snapshot controlfile had
          previously been specified.
Action: Specify a name for the snapshot controlfile by calling
          cfileSetSnapshotName.


ORA-00232, 00000, "snapshot controlfile is nonexistent, corrupt, or unreadable"
Cause:  The snapshot controlfile was found to be nonexistent, corrupt,
          or unreadable during an invocation of cfileUseSnapshot.
Action: Call cfileMakeAndUseSnapshot again (or for the first time).


ORA-00233, 00000, "copy controlfile is corrupt or unreadable"
Cause:  The specified copy controlfile was found to be corrupt or
          unreadable during an invocation of cfileUseCopy.
Action: Before retrying cfileUseCopy, use the ALTER DATABASE BACKUP
          CONTROLFILE command and specify the same filename that was  
          specified for cfileUseCopy.


ORA-00234, 00000, "error in identifying or opening snapshot or copy controlfile"
Cause:  A snapshot or copy controlfile of the specified name
	    could not be found or opened during an invocation of
          cfileUseSnapshot, cfileMakeAndUseSnapshot, or cfileUseCopy.
Action: Re-create the snapshot or copy controlfile using
          cfileMakeAndUseSnapshot or ALTER DATABASE BACKUP CONTROLFILE,
          respectively.


ORA-00235, 00000, "controlfile fixed table inconsistent due to concurrent update"
Cause:  Concurrent update activity on a controlfile caused a query on a
	   controlfile fixed table to read inconsistent information.
Action: Retry the operation.


ORA-00236, 00000, "snapshot operation disallowed: mounted controlfile is a backup"
Cause:  Attempting to invoke cfileSetSnapshotName, cfileMakeAndUseSnapshot,
          or cfileUseSnapshot when the currently mounted controlfile is a
          backup controlfile.
Action: Mount a current controlfile and retry the operation.


ORA-00237, 00000, "snapshot operation disallowed: controlfile newly created"
Cause:  An attempt to invoke cfileMakeAndUseSnapshot with a currently
          mounted controlfile that was newly created with CREATE CONTROLFILE 
         was made.
Action: Mount a current controlfile and retry the operation.


ORA-00238, 00000, "operation would reuse a filename that is part of the database"
Cause:  The filename supplied as a parameter to the ALTER DATABASE BACKUP
          CONTROLFILE command or to cfileSetSnapshotName matches the name of
          a file that is currently part of the database.
Action: Retry the operation with a different filename.
/
/ 250 .. 299 archival & media recovery errors
/


ORA-00250, 00000, "archiver not started"
Cause:  An attempt was made to stop automatic archiving, but the  
          archiver process was not running. 
Action: No action required.


ORA-00251, 00000, "LOG_ARCHIVE_DUPLEX_DEST cannot be the same destination as string %s"
Cause:  The destination specified by the LOG_ARCHIVE_DUPLEX_DEST
          parameter is the same as the destination specified by an ALTER
          SYSTEM ARCHIVE LOG START TO command.
Action: Specify a different destination for parameter
          LOG_ARCHIVE_DUPLEX_DEST, or specify a different destination with the
          ALTER SYSTEM command.


ORA-00252, 00000, "log %s of thread %s is empty, cannot archive"
Cause:  A log must be used for redo generation before it can be archived.
         The specified redo log was not been used since it was introduced 
          to the database. However it is possible that instance death during 
         a log switch left the log empty. 
Action: Empty logs do not need to be archived. Do not attempt to  
          archive the redo log file.


ORA-00253, 00000, "character limit %s exceeded by archive destination string %s"
Cause: The destination specified by an ALTER SYSTEM ARCHIVE LOG START TO
         command was too long.
Action: Retry the ALTER SYSTEM command using a string shorter than the
          limit specified in the error message.


ORA-00254, 00000, "error in archive control string '%s'"
Cause: The specified archive log location is invalid in the archive 
         command or the LOG_ARCHIVE_DEST initialization parameter.
Action: Check the archive string used to make sure it refers to a valid
	 online device.


ORA-00255, 00000, "error archiving log %s of thread %s, sequence # %s"
Cause: An error occurred during archiving.
Action: Check the accompanying message stack for more detailed 
          information. 

         If the online log is corrupted,
          then the log can be cleared using the UNARCHIVED option. This will
          make any existing backups useless for recovery to any time after
          the log was created, but will allow the database to generate redo.


ORA-00256, 00000, "cannot translate archive destination string %s"
Cause:  The destination specified by an ALTER SYSTEM ARCHIVE LOG START TO
          command could not be translated.
Action: Check the accompanying message stack for more detailed information.
          Then, retry the ALTER SYSTEM command using a different string.


ORA-00257, 00000, "archiver error. Connect internal only, until freed."
Cause:  The archiver process received an error while trying to archive
	 a redo log.  If the problem is not resolved soon, the database 
	 will stop executing transactions. The most likely cause of this 
	 message is the destination device is out of space to store the 
	 redo log file.  
Action:  Check archiver trace file for a detailed description 
	  of the problem. Also verify that the 
	 device specified in the initialization parameter 
	 ARCHIVE_LOG_DEST is set up properly for archiving.  


ORA-00258, 00000, "manual archiving in NOARCHIVELOG mode must identify log"
Cause: The database is in NOARCHIVELOG mode and a command to manually
          archive a log did not specify the log explicitly by sequence
          number, group number or filename.
Action: Specify log by filename, by group number or by thread and
          sequence number.


ORA-00259, 00000, "log %s of open thread %s is the current log, cannot archive"
Cause:  An attempt was made to archive the current log of an open 
          thread. This is not allowed because the redo log file may 
          still be in use for the generation of redo entries. 
Action: Force a log switch in the instance where the thread is open.
          If no instances are open, open the database so that instance 
          recovery can recover the thread.


ORA-00260, 00000, "cannot find online log sequence %s for thread %s"
Cause: The log sequence number supplied to the archival command does
         not match any of the online logs for the thread. The log might
         have been reused for another sequence number, it might have been
         dropped, the sequence number might be greater than the current
         log sequence number, or the thread might not have any logs.
Action: Check the ARCHIVE statement, then specify a valid log sequence 
          number. Specify a valid log sequence number. 


ORA-00261, 00000, "log %s of thread %s is being archived or modified"
Cause:  The log is either being archived by another process or an
          administrative command is modifying the log. Operations that
          modify the log include clearing, adding a member, dropping a 
          member, renaming a member, and dropping the log.
Action: Wait for the current operation to complete and try again.


ORA-00262, 00000, "current log %s of closed thread %s cannot switch"
Cause:  The log cannot be cleared or manually archived because it is
          the current log of a closed thread, and it is not possible to
          switch logs so another log is current. All other logs for the
          thread need to be archived, or cleared, and cannot be reused.
Action: Archive another log in the same thread first, or complete the
          clearing. See attached errors for the reason the switch cannot
          be completed.


ORA-00263, 00000, "there are no logs that need archiving for thread %s"
Cause:  An attempt was made to manually archive the unarchived logs in this 
         thread but no logs needed archiving. 
Action: No action required.


ORA-00264, 00000, "no recovery required"
Cause:  An attempt was made to perform media recovery on files that do not  //         need any type of recovery. 
Action: Do not attempt to perform media recovery on the selected 
          files. Check to see that the filenames were entered properly. 
          If not, retry the command with the proper filenames. 


ORA-00265, 00000, "instance recovery required, cannot set ARCHIVELOG mode"
Cause:  The database either crashed or was shutdown with the ABORT 
          option. Media recovery cannot be enabled because the online 
          logs may not be sufficient to recover the current datafiles. 
Action: Open the database and then enter the SHUTDOWN command with the 
          NORMAL or IMMEDIATE option.


ORA-00266, 00000, "name of archived log file needed"
Cause:  During media recovery, the name of an archived redo log file 
          was requested, but no name was entered. 
Action: Mount the correct redo log file and enter its name when it 
          is requested. 


ORA-00267, 00000, "name of archived log file not needed"
Cause:  During media recovery, the name of an archived redo log file 
          was entered, but no name was requested. 
Action: Continue media recovery, but do not enter a new log name.


ORA-00268, 00000, "specified log file does not exist '%s'"
Cause:  The given redo log file does not exist.
Action:  Check the spelling and capitalization of the filename and 
           retry the command.


ORA-00269, 00000, "specified log file is part of thread %s not %s"
Cause:  The given redo log file is not part of the given thread
Action:  Check that the thread of the redo log file matches the 
           thread on the command line. If not, use a redo log file 
           from the appropriate thread. Retry the command after 
           correcting the error.


ORA-00270, 00000, "error creating archive log %s"
Cause:  An error was encountered when either creating or opening 
          the destination file for archiving.
Action: Check that the archive destination is valid and that there 
          is sufficient space on the destination device.


ORA-00271, 00000, "there are no logs that need archiving"
Cause:  An attempt was made to archive the unarchived redo log 
          files manually, but there are no files that need to be archived.
Action: No action required.


ORA-00272, 00000, "error writing archive log %s"
Cause:  An I/O error occurred while archiving a redo log file.
Action: Check that the output device is still available and correct 
          any device errors that may have occurred. Also, make certain 
          that sufficient space for archiving is available on the 
          output device.


ORA-00273, 00000, "media recovery of direct load data that was not logged"
Cause:  A media recovery session encountered a table that was loaded 
          by the direct loader without logging any redo information. Some 
          or all of the blocks in this table are now marked as corrupt.
Action: The table must be dropped or truncated so that the corrupted 
          blocks can be reused. If a more recent backup of the file is 
          available, try to recover this file to eliminate this error.


ORA-00274, 00000, "illegal recovery option %s"
Cause:  An illegal option was specified for a recovery command.
Action: Correct the syntax and retry the command. 


ORA-00275, 00000, "media recovery has already been started"
Cause: An attempt was made to start a second media recovery operation 
         in the same session.
Action: Complete or cancel the first media recovery session or 
            start another session to perform media recovery.


ORA-00276, 00000, "CHANGE keyword specified but no change number given"
Cause:  The CHANGE keyword was specified on the command line, but 
          no change number was given. 
Action:  Retry the command using a valid change number after the CHANGE 
          keyword.


ORA-00277, 00000, "illegal option to the UNTIL recovery flag %s"
Cause:  Only CANCEL, CHANGE and TIME can be used with the UNTIL keyword.
Action: Correct the syntax.


ORA-00278, 00000, "log file '%s' no longer needed for this recovery"
Cause:  The specified redo log file is no longer needed for the current 
          recovery. 
Action: No action required. The archived redo log file may be removed 
          from its current location to conserve disk space, if needed. 
          However, the redo log file may still be required for another 
          recovery session in the future.


ORA-00279, 00000, "change %s generated at %s needed for thread %s"
Cause: The requested log is required to proceed with recovery.
Action:  Please supply the requested log with "ALTER DATABASE RECOVER
           LOGFILE <file_name>" or cancel recovery with "ALTER DATABASE
           RECOVER CANCEL".


ORA-00280, 00000, "change %s for thread %s is in sequence #%s"
Cause:  This message helps to locate the redo log file with the 
          specified change number requested by other messages.
Action: Use the information provided in this message to specify the 
          required archived redo log files for other errors.


ORA-00281, 00000, "media recovery may not be performed using dispatcher"
Cause:  An attempt was made to use a dispatcher process for media 
          recovery. Memory requirements disallow this recovery method.
Action: Connect to the instance via a dedicated server process to 
          perform media recovery.


ORA-00282, 00000, "UPI %s call not supported, use ALTER DATABASE RECOVER"
Cause: The given UPI call is no longer supported.
Action: Use the ALTER DATABASE RECOVER command for all recovery actions.


ORA-00283, 00000, "recovery session canceled due to errors"
Cause: An error during recovery was determined to be fatal enough to end
         the current recovery session.
Action: More specific messages will accompany this message. Refer to 
          the other messages for the appropriate action.


ORA-00284, 00000, "recovery session still in progress"
Cause: An error during recovery was determined to be minor enough to allow
         the current recovery session to continue.
Action: More specific messages will accompany this message. Refer to 
          the other messages for the appropriate action.


ORA-00285, 00000, "TIME not given as a string constant"
Cause:  UNTIL TIME was not followed by a string constant for the time.
Action: Enter the time enclosed in single quotation marks.


ORA-00286, 00000, "no members available, or no member contains valid data"
Cause:  None of the members of a redo log file group are available, or
          the available members do not contain complete data.
Action: If a member is temporarily offline, attempt to make it available.
          Make sure that the correct filenames are being used, especially
          if the redo log file is being accessed from a remote location.


ORA-00287, 00000, "specified change number %s not found in thread %s"
Cause:  The given change number does not appear in any of the online
          redo logs for the given thread.
Action: Check the statement to make certain a valid change number 
          is given. Perhaps try to use the NEXT option for archiving logs.


ORA-00288, 00000, "to continue recovery type ALTER DATABASE RECOVER CONTINUE"
Cause:  During media recovery, a new log is not required but the 
          continuation command is necessary to do a checkpoint and 
/           report errors.
Action: Type ALTER DATABASE RECOVER CONTINUE and recovery will resume.


ORA-00289, 00000, "suggestion : %s"
Cause:  This message reports the next redo log filename that is needed, 
          according to the initialization parameters LOG_ARCHIVE_DEST and 
           LOG_ARCHIVE_FORMAT. This message assumes that LOG_ARCHIVE_DEST 
           and LOG_ARCHIVE_FORMAT are the same now as when the required redo 
          log file was archived.
Action: Consider using this filename for the next log needed for recovery.


ORA-00290, 00000, "operating system archival error occurred. See error below"
Cause:  While attempting to archive to a redo log file, the server 
          encountered an unexpected operating system error.  
Action: Correct the operating system error given in the messages and 
          retry the operation. See also your operating system-specific 
          Oracle documentation.


ORA-00291, 0000, "numeric value required for PARALLEL option"
Cause:  A recovery command was specified incorrectly.  The PARALLEL option
          must be followed by a numeric argument that specifies the degree
          of parallelism.
Action: Re-enter the command with a numeric argument specifying the 
          degree of parallelism desired.


ORA-00292, 00000, "parallel recovery feature not installed"
Cause:  A parallel recovery was requested when the parallel
          recovery option is not installed.
Action: Delete the PARALLEL clause from the RECOVER command. Also,
          delete the RECOVERY_PARALLELISM parameter in the initialization
          file.


ORA-00293, 00000, "controlfile out of sync with redo log"
Cause:  The redo log file and controlfile are out of sync because a
          non-current controle file was specified when the instance
          was started.
Action: Retry the RECOVER command using the current controlfile, or retry
          the RECOVER command using the USING BACKUP CONTROLFILE clause.


ORA-00294, 00000, "invalid archivelog format specifier '%s'"
Cause:  An invalid format specifier was found in the LOG_ARCHIVE_FORMAT
          initialization parameter.  The only characters permitted
          following the % symbol are s, S, t, and T.
Action: Correct the initialization file and re-start the instance.
          


ORA-00295, 00000, "datafile number %s is invalid, must be between 1 and %s"
Cause:  An invalid file number was specified.
Action: Specify a correct datafile number and retry the operation.


ORA-00296, 00000, "maximum number of files (%s) exceeded for RECOVER DATAFILE LIST"
Cause:  The RECOVER DATAFILE LIST command specified more datafiles than
          are allowed by the DB_FILES initialization parameter.
          This error occurs when doing recovery with Recovery Manager, and
          the instance has been started with a DB_FILES parameter specifying
          fewer datafiles than recovery manager needs to recover to satisfy
          the user's RECOVER command.
Action: Re-start the instance with a higher value for DB_FILES.


ORA-00297, 00000, "must specify RECOVER DATAFILE LIST before RECOVER DATAFILE START"
Cause:  The RECOVER DATAFILE START command was issued, but no RECOVER
          DATAFILE LIST commands had been issued.  This only happens when
          doing recovery with Recovery Manager, and is an internal error in
          Recovery Manager, because Recovery Manager should always issue
          RECOVER DATAFILE LIST before RECOVER DATAFILE START.
Action: Contact customer support


ORA-00298, 00000, "Missing or invalid TIMEOUT interval"
Cause:  A non-zero integer timeout interval (in minutes) must be 
          specified after the TIMEOUT keyword.
Action: Correct the syntax and retry the command. 


ORA-00299, 00000, "must use file-level media recovery on data file %s"
Cause:  The control file does not contain an entry for this file, so
          block media recovery cannot be done.
Action: Restore the data file and perform file-level media recovery.
/
/ 300..369 - Redo File errors
/


ORA-00300, 00000, "illegal redo log block size %s specified - exceeds limit of %s"
Cause:  The specified block size of the redo log is greater than the
	    maximum block size for the operating system.
Action: Create the redo log on a device with a smaller block size


ORA-00301, 00000, "error in adding log file '%s' - file cannot be created"
Cause:  The creation of the redo log file failed
Action: Check:       1) there is enough storage space on the device
		   2) the name of the file is valid
		   3) the device is online
		   4) an IO error occurred
	Also, it is possible REUSE was specified on the command line and 
         a file of the incorrect size exists. Either do not specify REUSE 
          or use a file of the correct size. 


ORA-00302, 00000, "limit of %s logs exceeded"
Cause:  The maximum number of redo log files has been exceeded. There is 
          a limit, set at database creation, on the number of redo 
          log files (typically 16).
Action: Use the CREATE CONTROLFILE command with a larger value 
          for MAXLOGFILES.


ORA-00303, 00000, "cannot process Multi-Strand Redo"
Cause:  A redo log containing Multi-Strand Redo has been detected.
          The current Oracle release cannot process this format of redo.
Action: Use a later release that supports Multi-Strand Redo.
          to process this log.


ORA-00304, 00000, "requested INSTANCE_NUMBER is busy"
Cause:  An instance tried to start by using a value of the 
          initialization parameter INSTANCE_NUMBER that is already in use.
Action: Either 
	 a) specify another INSTANCE_NUMBER,
	 b) shut down the running instance with this number
	 c) wait for instance recovery to complete on the instance with
	    this number.


ORA-00305, 00000, "log %s of thread %s inconsistent; belongs to another database"
Cause:  The database ID in the redo log file does not match the database 
          ID in the controlfile. This redo log file is not from the 
          current database.
Action: Specify the correct redo log file, then retry the operation.


ORA-00306, 00000, "limit of %s instances in this database"
Cause:  Starting this instance would exceed the maximum number
	 of instances allowed for this database.  This message occurs 
	 only with STARTUP shared and multiple instances.
Action: You cannot start more than the lower of
	    a) port-specific limit as to the number of instances
	    b) the number of instances specified at create-database time


ORA-00307, 00000, "requested INSTANCE_NUMBER out of range, maximum is %s"
Cause:  The initialization parameter INSTANCE_NUMBER specified a 
          number that was out of range.
Action: Change INSTANCE_NUMBER to a valid range and restart the 
          instance. The minimum value is one and the maximum value is 
          the lower of the operating system-specific maximum or 
          the MAXINSTANCES option specified in the CREATE DATABASE 
          statement. See also your operating system-specific Oracle 
          documentation.


ORA-00308, 00000, "cannot open archived log '%s'"
Cause:  The system cannot access a required archived redo log file.
Action: Check that the off line log exists, the storage device is 
          online, and the archived file is in the correct location. 
          Then attempt to continue recovery or restart the recovery 
          session.


ORA-00309, 00000, "log belongs to wrong database"
Cause:  The system cannot access the archived redo log because it 
          belongs to another database.
Action: Specify the correct redo log file, then retry the operation.


ORA-00310, 00000, "archived log contains sequence %s; sequence %s required"
Cause:  The archived log is out of sequence, probably because it 
          is corrupted or the wrong redo log filename was specified 
/           during recovery.
Action: Specify the correct redo log file; then retry the operation.


ORA-00311, 00000, "cannot read header from archived log"
Cause:  An I/O error occurred when attempting to read the log file header
          from the specified archived redo log file.
Action: Other messages will accompany this message. See the 
          associated messages for the appropriate action to take.


ORA-00312, 00000, "online log %s thread %s: '%s'"
Cause:  This message reports the filename for details of another message.
Action: Other messages will accompany this message. See the 
          associated messages for the appropriate action to take.


ORA-00313, 00000, "open failed for members of log group %s of thread %s"
Cause:  The online log cannot be opened. May not be able to find file.
Action: See accompanying errors and make log available.


ORA-00314, 00000, "log %s of thread %s, expected sequence# %s doesn't match %s"
Cause:  The online log is corrupted or is an old version.
Action: Find and install correct version of log or reset logs.


ORA-00315, 00000, "log %s of thread %s, wrong thread # %s in header"
Cause:  The online log is corrupted or is an old version.
Action: Find and install correct version of log or reset logs.


ORA-00316, 00000, "log %s of thread %s, type %s in header is not log file"
Cause:  The online log is corrupted or is an old version.
Action: Find and install correct version of log or reset logs.


ORA-00317, 00000, "file type %s in header is not log file"
Cause:  This is not an archived log file.
Action: Find the correct file and try again.


ORA-00318, 00000, "log %s of thread %s, expected file size %s doesn't match %s"
Cause:  On header read the file size indicated in the control
	    file did not match the file size contained in the log file.
Action: Restore correct file or reset logs.


ORA-00319, 00000, "log %s of thread %s has incorrect log reset status"
Cause:  Check of log file header at database open found that an online
          log has log reset data that is different from the controlfile.
          The log is probably an incorrectly restored backup.
Action: Restore correct file or reset logs.


ORA-00320, 00000, "cannot read file header from log %s of thread %s"
Cause:  The file is not available.
Action: Restore the log file.


ORA-00321, 00000, "log %s of thread %s, cannot update log file header"
Cause:  Cannot write to the log file.
Action: Restore the access to the file.


ORA-00322, 00000, "log %s of thread %s is not current copy"
Cause:  Check of log file header at database open found that an online
          log appears to be an incorrectly restored backup.
Action: Restore correct file or reset logs.


ORA-00323, 00000, "Current log of thread %s not useable and all others need archiving"
Cause:  Attempt to open thread failed because it is necessary to switch
          redo generation to another online log, but all the other logs
          need to be archived before they can be used.
Action: Archive the logs for the thread then retry open.


ORA-00324, 00000, "log file '%s' translated name '%s' too long, %s characters exceeds %s limit"
Cause:  the translated name for a log file is too long.
Action: Choose a untranslated name that yields a shorter translated name.


ORA-00325, 00000, "archived log for thread %s, wrong thread # %s in header"
Cause:  The archived log is corrupted or for another thread. Can not
          use the log for applying redo.
Action: Find correct archived log.


ORA-00326, 00000, "log begins at change %s, need earlier change %s"
Cause:  The archived log supplied for recovery was generated after the
          log that is needed. Can not yet use the log for applying redo.
Action: Find correct archived log.


ORA-00327, 00000, "log %s of thread %s, physical size %s less than needed %s"
Cause:  A log file has shrunk in size. This is likely
	    to have been caused by operator or operating system error.
Action: Restore the log file from backup.  If backup is not available,
	    drop this log and re-create.  If the database was shut down
	    cleanly, no further action should be required; otherwise
	    incomplete recovery may be required.


ORA-00328, 00000, "archived log ends at change %s, need later change %s"
Cause:  The archived log supplied for recovery was generated before the
          log that is needed. Can not use the log for applying redo.
Action: Find correct archived log.


ORA-00329, 00000, "archived log begins at change %s, need change %s"
Cause:  The archived log is not the correct log. An earlier log is needed.
Action: Restore the correct log file.


ORA-00330, 00000, "archived log ends at change %s, need change %s"
Cause:  The archived log is not the correct log. A later log is needed.
Action: Restore the correct log file.


ORA-00331, 00000, "log version %s incompatible with ORACLE version %s"
Cause:  The log was written by incompatible version of Oracle.
Action: Recover the database with the compatible software, shut it
	    down cleanly, then restart with current software.


ORA-00332, 00000, "archived log is too small - may be incompletely archived"
Cause:  The log is smaller than the space allocated in it. May be the
          result of a shutdown abort while it was being written by the
          archiver.
Action: Get a complete version of this log and use it for recovery. There
          should either be an online version of it or a copy that was
          successfully archived.


ORA-00333, 00000, "redo log read error block %s count %s"
Cause:  An IO error occurred while reading the log described in the
          accompanying error.
Action: Restore accessibility to file, or get another copy of the file.


ORA-00334, 00000, "archived log: '%s'"
Cause:  Reporting filename for details of another error
Action: See associated error messages


ORA-00335, 00000, "online log %s: No log with this number, log does not exist"
Cause:  Reporting filename for details of another error
Action: See associated error messages


ORA-00336, 00000, "log file size %s blocks is less than minimum %s blocks"
Cause:  The log file size as specified in create database is too small.
Action: Increase the log file size.


ORA-00337, 00000, "log file '%s' does not exist and no size specified"
Cause:  An attempt to add a log found neither an existing file
	    nor a size for creating the file.
Action: Specify a size for the log file.


ORA-00338, 00000, "log %s of thread %s is more recent than controlfile"
Cause:  The controlfile change sequence number in the log file is 
         greater than the number in the controlfile. This implies that
         the wrong controlfile is being used. Note that repeatedly causing
         this error can make it stop happening without correcting the real
         problem. Every attempt to open the database will advance the
         controlfile change sequence number until it is great enough.
Action: Use the current controlfile or do backup controlfile recovery to 
         make the controlfile current. Be sure to follow all restrictions
         on doing a backup controlfile recovery.


ORA-00339, 00000, "archived log does not contain any redo"
Cause:  The archived log is not the correct log. It is a copy of a log file
          that has never been used for redo generation, or was an online
          log being prepared to be the current log.
Action: Restore the correct log file.


ORA-00340, 00000, "IO error processing online log %s of thread %s"
Cause:  An IO error occurred on the named online log.
Action: Restore accessibility to file, or restore file from backup.


ORA-00341, 00000, "log %s of thread %s, wrong log # %s in header"
Cause:  The internal information in an online log file does not
	    match the controlfile.
Action: Restore correct file or reset logs.


ORA-00342, 00000, "archived log was created before last RESETLOGS"
Cause:  Recovery was given a log that was created before the last
          ALTER DATABASE OPEN RESETLOGS command. There should be another
          log created since then that contains the correct redo.
Action: Supply the correct log file.


ORA-00343, 00000, "too many errors, log member closed"
Cause:  The maximum number of errors on this log member has been exceeded.
Action: Correct the underlying problem by referring to the other error
          messages found with this one.


ORA-00344, 00000, "unable to re-create online log '%s'"
Cause:  An I/O failure occurred when attempting to re-create an online as
          part of either ALTER DATABASE OPEN RESETLOGS or ALTER DATABASE
          CLEAR LOGFILE command.
Action: Correct the file/device as indicated by accompanying errors.


ORA-00345, 00000, "redo log write error block %s count %s"
Cause:  An IO error has occurred while writing the log
Action: Correct the cause of the error, and then restart the system.
	    If the log is lost, apply media/incomplete recovery.


ORA-00346, 00000, "log member marked as STALE"
Cause:  A log file member no longer is complete.
Action: Correct the underlying problem by referring to the other error
          messages found with this one.


ORA-00347, 00000, "log %s of thread %s, expected block size %s doesn't match %s"
Cause:  On header read the blocksize indicated in the control
	    file did not match the blocksize contained in the log file.
Action: Restore correct file or reset logs.


ORA-00348, 00000, "single-process redo failure. Must abort instance"
Cause:  A failure occurred during a critical portion of the log code
	    during single process operation.  This error does not occur
	    during normal multi-process operation.
Action: Shutdown abort and warmstart the database.


ORA-00349, 00000, "failure obtaining block size for '%s'"
Cause:  The operating system was unable to determine the blocksize
	    for the given filename.
Action: Consult the accompanying error message, and correct the
	    device or specify another filename.


ORA-00350, 00000, "log %s of thread %s needs to be archived"
Cause:  The command cannot be done because the log has not been archived,
          and media recovery has been enabled.
Action: Archive the log or disable media recovery. If the command supports
          an UNARCHIVED option then it can be used. However this may result
          in making backups unuseable, and forcing the drop of some offline
          files.


ORA-00351, 00000, "recover-to time invalid"
Cause:  The time specified in a recover-until statement must
	    be after January 1st 1988.
Action: Specify a time after January 1st 1988.


ORA-00352, 00000, "all logs for thread %s need to be archived - cannot enable"
Cause:  Attempting to enable a thread with all logs needing to be 
          archived, and media recovery has been enabled. There is no log
          that can be made the new current log for the thread.
Action: Archive a log for the thread or disable media recovery.


ORA-00353, 00000, "log corruption near block %s change %s time %s"
Cause:  Some type of redo log corruption has been discovered. This error
          describes the location of the corruption. Accompanying errors
          describe the type of corruption.
Action: Do recovery with a good version of the log or do incomplete
          recovery up to the indicated change or time.


ORA-00354, 00000, "corrupt redo log block header"
Cause:  The block header on the redo block indicated by the accompanying
          error, is not reasonable.
Action: Do recovery with a good version of the log or do time based
          recovery up to the indicated time. If this happens when archiving,
          archiving of the problem log can be skipped by clearing the log
          with the UNARCHIVED option. This must be followed by a backup of
          every datafile to insure recoverability of the database.


ORA-00355, 00000, "change numbers out of order"
Cause:  A change number found in the redo log is lower than a previously
          encountered change number. The log is corrupted in some way. The
          corruption may be at the earlier change or at this one.
Action: Do recovery with a good version of the log or do time based
          recovery up to the indicated time.


ORA-00356, 00000, "inconsistent lengths in change description"
Cause:  A change record in the redo log contains lengths that do not add
          up to a consistent value. The log is corrupted in some way.
Action: Do recovery with a good version of the log or do time based
          recovery up to the indicated time.


ORA-00357, 00000, "too many members specified for log file, the maximum is %s"
Cause:  An add logfile or add logfile member command would result in a
          log with too many members.  The number of members is set when the
          database is created.
Action: Use fewer log file members.


ORA-00358, 00000, "Too many file members specified, the maximum is %s"
Cause:  A create or alter statement specified too many members in a
          parenthesised file list.
Action: Specify a number of file members that is within the port-defined
          limit.


ORA-00359, 00000, "logfile group %s does not exist"
Cause:  An add logfile member or drop logfile request specified a logfile
          group number that does not exist.
Action: Check the configuration of the log files and reissue the command.


ORA-00360, 00000, "not a logfile member: %s"
Cause:  A filename was given to drop logfile member that is not a
          part of the database, or which is a data file.
Action: Supply a valid logfile member name.


ORA-00361, 00000, "cannot remove last log member %s for group %s"
Cause:  An attempt has been made to remove the last member of a log file
          group.
Action: If desired, delete the entire log, by using DROP LOGFILE.


ORA-00362, 00000, "member is required to form a valid logfile in group %s"
Cause:  A request to drop a logfile member was denied because it would
          remove data required to form a complete logfile.
Action: If desired, delete the entire log (after archiving if required),
          by using DROP LOGFILE;


ORA-00363, 00000, "log is not the archived version"
Cause:  The log given to recovery is a backup of the online version from
          the time it was the current log. The archived version of the log
          would not be marked as end of thread. This error can also be
          caused by failing to list the current log of an enabled thread
          in a CREATE CONTROLFILE command.
Action: Find the archived version of the log and supply its name. If this
          is media recovery immediately following a CREATE CONTROLFILE, be
          sure the current log for this thread was included.


ORA-00364, 00000, "cannot write header to new log member"
Cause:  An i/o error occurred when attempting to write the header to a
          log member that is being added to an existing group.
Action: See accompanying errors. Fix problem or use another file.


ORA-00365, 00000, "the specified log is not the correct next log"
Cause:  The specified log failed to pass checks to ensure it corresponds
          to the log that was just applied.  This is probably the result
          of using a log that was generated against a cold backup image
          of the database.
Action: Find the log that was generated by this copy of the database
          and give that filename to recovery.


ORA-00366, 00000, "log %s of thread %s, checksum error in the file header"
Cause:  The file header for the redo log contains a checksum that does
          not match the value calculated from the file header as read from
          disk. This means the file header is corrupted
Action: Find and install correct version of log or reset logs.


ORA-00367, 00000, "checksum error in log file header"
Cause:  The file header for the redo log contains a checksum that does
          not match the value calculated from the file header as read from
          disk. This means the file header is corrupted
Action: Find the correct file and try again.


ORA-00368, 00000, "checksum error in redo log block"
Cause:  The redo block indicated by the accompanying error, is not
          vaild. It has a checksum that does not match the block contents.
Action: Do recovery with a good version of the log or do time based
          recovery up to the indicated time. If this happens when archiving,
          archiving of the problem log can be skipped by clearing the log
          with the UNARCHIVED option. This must be followed by a backup of
          every datafile to insure recoverability of the database.
Action: Restore correct file or reset logs.


ORA-00369, 00000, "Current log of thread %s not useable and other log being cleared"
Cause:  Attempt to open thread failed because it is necessary to switch
          redo generation to another online log, but all the other logs are
          being cleared or need to be archived before they can be used.
Action: If the ALTER DATABASE CLEAR LOGFILE command is still active then
          wait for it to complete. Otherwise reissue the CLEAR command. If
          there are other online logs for the thread, that are not being
          cleared, then archive the logs.
/
/ 370-389 kcb external errors
/


ORA-00370, 00000, "potential deadlock during kcbchange operation"
Cause:  Error code used internally by software. Should never be reported
Action: Treat as internal error. See error 600.


ORA-00371, 00000, "not enough shared pool memory"
Cause:  Init.ora parameter shared_pool_size is too small
Action: Increase the parameter value 


ORA-00372, 00000, "file %s cannot be modified at this time"
Cause:  attempting to modify the contents of a file that cannot be
          modified. The file is most likely part of a read only tablespace
          but may be in the process of going offline, or the database may
          be in the process of closing.
Action: check the status of the file and its tablespace


ORA-00373, 00000, "online log version %s incompatible with ORACLE version %s"
Cause:  The online log was written by incompatible version of Oracle.
	    Can occur when the log file was created by either a new or
	    older version of Oracle.
Action: Recover the database with the compatible software, shut it
	    down cleanly, then restart with current software.


ORA-00374, 00000, "parameter db_block_size = %s invalid ; must be a multiple of %s in the range [%s..%s]"
Cause:  invalid value for db_block_size parameter
Action: adjust parameter and restart


ORA-00375, 00000, "unable to get default db_block_size"
Cause:  the system was unable to determine the default db_block_size
Action: see accompanying system specific error.  As a workaround,
	    specify the blocksize in the INIT.ORA file.


ORA-00376, 00000, "file %s cannot be read at this time"
Cause:  attempting to read from a file that is not readable. Most likely
          the file is offline.
Action: Check the state of the file. Bring it online


ORA-00377, 00000, "Frequent backups of file %s causing write operation to stall" 
Cause:  Backups are occurring too frequently on this file. Each time a new
          backup is started for a file, any writes which have been previously
          issued (but not completed) have to be re-issued. If hot backups
          are started very, very frequently, it is possible that some writes
          will be re-issued repeatedly and never complete. 
Action: Increase the interval between begin hot-backup commands for this
          file. 



ORA-00378, 00000, "buffer pools cannot be created as specified"
Cause:  Either the number of buffers or the number of lru latches is
          too small to satisfy the specified buffer pool configuration.
Action: Either increase the number of buffers and/or number of lru latches
          or configure smaller buffer pools.
         


ORA-00379, 00000, "no free buffers available in buffer pool %s for block size %sK"
Cause:  All buffers in the specified buffer pool for the specified block size 
          are in use and no free buffers are available.
Action: Increase the number of buffers in the specified pool for the specified
          block size



ORA-00380, 00000, "cannot specify db_%sk_cache_size since %sK is the standard block size"
Cause:  User specified the parameter db_nk_cache_size (where n is one of 
          2,4,8,16,32), while the standard block size for this database is
          equal to n Kbytes. This is illegal.
Action: Specify the standard block size cache using db_cache_size (DEFAULT 
          pool) (and db_recycle_cache_size, db_keep_cache_size if additional
          buffer pools are required). Do NOT use the corresponding 
          db_nk_cache_size parameter for the standard block size.



ORA-00381, 00000, "cannot use both new and old parameters for buffer cache size specification"
Cause:  User specified one or more of { db_cache_size ,
          db_recycle_cache_size, db_keep_cache_size,
          db_nk_cache_size (where n is one of 2,4,8,16,32) } 
          AND one or more of { db_block_buffers , buffer_pool_keep , 
          buffer_pool_recycle }. This is illegal.
Action: Use EITHER the old (pre-Oracle_8.2) parameters OR the new
          ones. Don't specify both. If old size parameters are specified in
          the parameter file, you may want to replace them with new parameters
          since the new parameters can be modified dynamically and allow
          you to configure additional caches for additional block sizes. 



ORA-00382, 00000, "%s not a valid block size, valid range [%s..%s]"
Cause:  User specified a value for db_nk_cache_size where n is one of
          {2, 4, 8, 16, 32}, but nk is not a valid block size for this 
          platform.
Action: Remove corresponding parameter from the "init.ora" file and 
          restart the instance.


ORA-00383, 00000, "DEFAULT cache for blocksize %s cannot be reduced to zero"
Cause:  User attempted to reduce db_cache_size to zero, or attempted to
          to reduce db_<n>K_cache_size to zero while there were still online
          tablespaces with blocksize <n>K. Note that since the SYSTEM tablespace
          cannot be taken offline, it is always illegal to set db_cache_size to zero.
Action: Offline any tablespaces with the corresponding blocksize and then
          perform the operation again. 


ORA-00384, 00000, "Insufficient memory to grow cache"
Cause:  The system could not allocate sufficient memory to grow the
          cache to the specified size. 
Action: Attempt a smaller increase in the value of the parameter. 

/
/ 390-399: more Redo log errors
/


ORA-00390, 00000, "log %s of thread %s is being cleared, cannot become current log"
Cause:  An attempt to switch to a new online log for the redo thread
          failed because no reusable log could be found. This log is being
          cleared and will be useable when the clearing completes. The
          command that began the clearing may have terminated without
          completing the clearing.
Action: If the clear command is still executing then wait for its
          completion. If it terminated then reissue the clear command, or
          drop the log.


ORA-00391, 00000, "All threads must switch to new log format at the same time"
Cause:  An attempt to switch the current log of a single thread is not
          allowed because the compatiblity requirements force a new log
          format version number. When changing log formats, all threads
          must switch to the new format at the same time.
Action: Open the database to cause the coordinated log switch. If that
          is not possible then return to the same software version and
          compatibility setting last used to open the database.


ORA-00392, 00000, "log %s of thread %s is being cleared, operation not allowed"
Cause:  An operation encountered this online log in the middle of being
          cleared.  The command that began the clearing may have terminated
          without completing the clearing.
Action: If the clear command is still executing then wait for its
          completion. If it terminated then reissue the clear command, or
          drop the log.


ORA-00393, 00000, "log %s of thread %s is needed for recovery of offline datafiles"
Cause:  Log cannot be cleared because the redo in it is needed to recover
          offline datafiles. It has not been archived so there is no
          other copy available. If the log is cleared the tablespaces
          containing the files will have to be dropped.
Action: Archive the log then repeat the clear command. If archiving is not
          possible, and dropping the tablespaces is acceptible, then add the
          clause UNRECOVERABLE DATAFILE at the end of the clear command.


ORA-00394, 00000, "online log reused while attempting to archive it"
Cause:  It has been detected that an online log that is being archived
          has been reused
Action: Cannot archive the logfile anymore si