ORA-00000: normal, successful completion

Cause: An operation has completed normally, having met no exceptions.
Action: No action required.

ORA-00001: unique constraint table.column violated

Cause: An update or insert statement attempted to insert a duplicate key.
Action: Either remove the unique restriction or do not insert the key.

ORA-00017: 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 required.

ORA-00018: maximum number of sessions exceeded
Cause: An operation requested a resource that was unavailable. The maximum number of sessions is specified by the initialization parameter SESSIONS. When this maximum is reached, no more requests are processed.

Action: Try the operation again in a few minutes. If this message occurs often, shut down Oracle, increase the SESSIONS parameter in the initialization parameter file, and restart Oracle.

ORA-00019: maximum number of session licenses exceeded
Cause: All licenses are in use.

Action: Call customer support before increasing the number of session licenses.

ORA-00020: maximum number of processes num exceeded
Cause: An operation requested a resource that was unavailable. The maximum number of processes is specified by the initialization parameter PROCESSES. When this maximum is reached, no more requests are processed.

Action: Try the operation again in a few minutes. If this message occurs often, shut down Oracle, increase the PROCESSES parameter in the initialization parameter file, and restart Oracle.

ORA-00021: session attached to some other process; cannot switch session
Cause: The user session is currently being used by someone else.

Action: Do not execute calls in a user session concurrently.

ORA-00022: 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. This requires ownership of the session id or the CHANGE_USER privilege.

ORA-00023: session references process' private memory; cannot detach session
Cause: An attempt was made to detach the current session, which contains references to the 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 link or cursors. Detaching a session with operating system privileges is always disallowed.

ORA-00024: logins from more than one process not allowed in single-process mode
Cause: An attempt was made to log in more than once from different processes after Oracle had been started in single-process mode.

Action: When Oracle is running in single-process mode, out of the previous process before trying to log in from another one.

ORA-00025: failed to allocate num
Cause: An allocation failed because Oracle ran out of memory.

Action: Restart Oracle with a larger SGA heap.

ORA-00026: missing or invalid session id
Cause: The session ID string specified in the ALTER SYSTEM KILL SESSION command was invalid, or no string was specified.

Action: Retry the command with a valid session ID.

ORA-00027: cannot kill current session
Cause: An attempt was made to kill the current session with the ALTER SYSTEM KILL SESSION command.

Action: If it is necessary to kill the current session, do so from another session.

ORA-00028: your session has been killed
Cause: A privileged user killed the session and it is no longer logged in to the database.

Action: Contact the database administrator. The administrator may be attempting to perform an operation that requires users to be logged out. When the database administrator announces that the database is available, log in and resume work.

ORA-00029: 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, the session may be recursively started.

Action: Retry the command with a valid session ID.

ORA-00030: 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: session marked for kill
Cause: The session specified in the ALTER SYSTEM KILL SESSION command cannot be killed immediately because the session is involved in a non-interruptible operation. For example, rolling back a transaction or being blocked by a network operation. The session has been marked to be killed as soon as possible after the current operation is done.

Action: No action required. The session will be killed when the operation is completed. Further executions of the ALTER SYSTEM KILL SESSION command may cause the session to be killed sooner.

ORA-00032: 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 characters.

ORA-00033: 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: cannot COMMIT or ROLLBACK in current PL/SQL session
Cause: An attempt was made to ROLLBACK from a PL/SQL object (procedure, function, package) in a session where COMMIT and ROLLBACK are disabled by an ALTER SESSION DISABLE COMMIT IN PROCEDURE statement.

Action: Enable COMMITs from PL/SQL in this session or do not attempt a COMMIT or ROLLBACK when disabled.

ORA-00035: LICENSE_MAX_USERS cannot be less than current number of users
Cause: Specified value for LICENSE_MAX_USERS is less than current number of users.

Action: Check the license limit and drop extra users or purchase more licenses.

ORA-00036: maximum number of recursive sql levels num exceeded
Cause: An attempt was made to go more than the specified number of recursive SQL levels was made.

Action: Remove the recursive SQL, possibly a recursive trigger.

ORA-00050: O/S error occurred while obtaining an enqueue. See O/S error
Cause: Could not obtain the operating system resources necessary for an Oracle enqueue. This most often occurs when the user resource quota on the operating system is too low.

Action: Look up the operating system error in the operating system-specific Oracle documentation and perform the needed action.

ORA-00051: time-out occurred while waiting for resource
Cause: This message is usually caused by an instance that has terminated abnormally.

Action: Restart any non-recovered instances.

ORA-00052: maximum number of enqueue resources num exceeded
Cause: An operation requested a resource that was unavailable. The maximum number of enqueue resources is specified by the initialization parameter ENQUEUE_RESOURCES. When this maximum is reached, no more requests are processed.

Action: Try the operation again in a few minutes. If this message occurs often, shut down Oracle, increase the ENQUEUE_RESOURCES parameter in the initialization parameter file, and restart Oracle.

ORA-00053: maximum number of enqueues exceeded
Cause: An operation requested a resource that was unavailable and the enqueue list for the resource had reached its maximum length. If a request is made for a resource that is unavailable, the request is enqueued to wait for the resource. The number of requests that may be queued for a given resource is specified by the initialization parameter ENQUEUE_RESOURCES. When this maximum is reached, no more requests may be added to the enqueue list.

Action: Try the operation again in a few minutes. If this message occurs often, shut down Oracle, increase the ENQUEUE_RESOURCES parameter in the initialization parameter file, and restart Oracle.

ORA-00054: resource busy and acquire with NOWAIT specified
Cause: The NOWAIT keyword forced a return to the command prompt because a resource was unavailable for a LOCK TABLE or SELECT FOR UPDATE command.

Action: Try the command after a few minutes or enter the command without the NOWAIT keyword.

ORA-00055: maximum number of DML locks exceeded
Cause: An operation requested a resource that was unavailable. The maximum number of DML locks is specified by the DML_LOCKS parameter in the initialization parameter file. When this maximum is reached, no more requests are processed.

Action: Try the operation again in a few minutes. If this message occurs often, shut down Oracle, increase the DML_LOCKS parameter in the initialization parameter file, and restart Oracle.

ORA-00056: DDL lock on object "str.name" already held in an incompatible mode
Cause: The attempted lock is incompatible with the DDL lock already held on the object. This usually occurs when attempting to drop a table that has parse locks.

Action: Before attempting to drop a table, check that it has no parse locks. Wait a few minutes before retrying the operation.

ORA-00057: 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 TEMPORARY_TABLE_LOCKS parameter and restart Oracle.

ORA-00058: DB_BLOCK_SIZE must be num to mount this database not num
Cause: The DB_BLOCK_SIZE parameter value in the initialization parameter file used to start a database does not match the value used when that database was created. Potential reasons for this mismatch are

mounting the wrong database
using the wrong initialization parameter file
the DB_BLOCK_SIZE value was changed
Action: For one of the above causes, either

mount the correct database
use the correct initialization parameter file
correct the DB_BLOCK_SIZE parameter value
ORA-00059: maximum number of DB_FILES exceeded
Cause: An unavailable resource was requested. The maximum number of datafiles is specified by the DB_FILES parameter in the initialization parameter file. When this maximum is reached, no more requests are processed.

Action: Try again when the resource is freed. If this message occurs often, Oracle must be shut down and restarted after increasing the DB_FILES parameter in the initialization parameter file. If the DB_FILES parameter cannot be changed because it is already set to the MAXDATAFILES parameter value, set at database creation, you must create a new control file.

ORA-00060: deadlock detected while waiting for resource
Cause: Your session and another session are waiting for a resource locked by the other. This condition is known as a deadlock. To resolve the deadlock, one or more statements were rolled back for the other session to continue work.

Action: Either

Enter a ROLLBACK statement and re-execute all statements since the last commit or
Wait until the lock is released, possibly a few minutes, and re-execute the rolled back statements.

ORA-00061: 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: Either

Do not use DML_LOCKS by setting DML_LOCKS to zero at all instances.
Use DML_LOCKS by setting DML_LOCKS to a positive integer at all instances.
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
Cause: The instance was started with the initialization parameter DML_LOCKS set to zero, but the statement being executed needs a full-table lock (S, X, or SRX).

Action: Set DML_LOCKS to a non-zero value, restart the instance, and re-enter the statement.

ORA-00063: LOG_FILES initialization parameter exceeded
Cause: The value of the LOG_FILES initialization parameter was exceeded.

Action: Increase the value of LOG_FILES and warm start Oracle. The value needs to be as large as the highest number log that currently exists rather than just the count of the logs that exist. If this parameter cannot be increased because it would exceed the MAXLOGFILES set at database creation, you must create a new control file first.

ORA-00064: object is too large to allocate on this O/S num, num
Cause: The initialization parameter DB_BLOCK_SIZE is set to a value that calls for more contiguous space than can be allocated on the operating system being used.

Action: Reduce the value of DB_BLOCK_SIZE so that the requested contiguous space is within the capacity of the operating system.

ORA-00065: initialization of FIXED_DATE failed
Cause: An attempt was made to enter a fixed date string that was not in the proper format.

Action: Enter the date string using the format YYYY-MM-DD:HH24:MI:SS.

ORA-00066: LOG_FILES is num but needs to be num to be compatible
Cause: The maximum number of redo 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: Check that the LOG_FILES initialization parameter is the same for all instances.

ORA-00067: invalid value num for parameter num, must be at least num
Cause: The value for the initialization parameter is invalid.

Action: Choose a value as indicated by the message. Change the value of the LOG_FILES parameter to be compatible.

ORA-00068: invalid value num for parameter num, must be between num and num
Cause: The value for the initialization parameter is invalid.

Action: Choose a value as indicated by the message. Change the value of the LOG_FILES parameter to be compatible.

ORA-00069: cannot acquire lock -- table locks disabled for name
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.

ORA-00070: command name is not valid
Cause: An invalid debugger command was specified.

Action: Type HELP to see the list of available commands.

ORA-00071: process number must be between 1 and num
Cause: An invalid process number was specified.

Action: Specify a valid process number.

ORA-00072: process \
Cause: An invalid process was specified.

Action: Specify a valid process.

ORA-00073: command name takes between num1 and num2 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: no process has been specified
Cause: No debug process has been specified.

Action: Specify a valid process.

ORA-00075: process \
Cause: The specified process was not logged on to the current instance.

Action: Specify a valid process.

ORA-00076: dump name not found
Cause: An attempt was made to invoke a dump which doesn't exist.

Action: Type DUMPLIST to see the list of available dumps.

ORA-00077: dump name is not valid
Cause: An attempt was made to invoke an invalid dump.

Action: Try another dump.

ORA-00078: cannot dump variables by name
Cause: An attempt was made to dump a variable by name on a system which does not support this feature.

Action: Try the PEEK command.

ORA-00079: variable var not found
Cause: An attempt was made to dump a variable which doesn't exist.

Action: Use a valid variable name.

ORA-00080: invalid global area specified by level num
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 as well as extra bytes for every pointer; extra must be a multiple of 4.

ORA-00081: address range [num1, num2) is not readable
Cause: An attempt was made to read/write an invalid memory address range.

Action: Try another address or length.

ORA-00082: memory size of num is not in valid set of [1], [2], [4]num1num2num3num4num5
Cause: An invalid length was specified for the POKE command.

Action: Use a valid length (either 1, 2, 4, or possibly 8).

ORA-00083: 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: 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: 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: 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-00097: use of Oracle SQL feature not in SQL92 compliance level
Cause: You tried to use an Oracle SQL feature that is not compliant with the SQL92 standard.

Action: Do not use the feature or use the ALTER SESSION SET FLAGGER command to set the appropriate level of SQL92 compliance.

ORA-00099: 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 value of the PARALLEL_TRANSACTION_RESOURCE_TIMEOUT parameter, then retry the operation.

ORA-00100: 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.

00101-00149: Multi-threaded Server
This section lists message generated by the multi-threaded server.

ORA-00101: invalid specification for initialization parameter MTS_DISPATCHERS
Cause: The syntax for the MTS_DISPATCHERS parameter is incorrect.

Action: Enter the MTS_DISPATCHERS parameter into the initialization parameter file with the correct syntax and then shut down and restart the instance.

ORA-00102: network protocol str cannot be used by the dispatchers
Cause: The network specified in MTS_DISPATCHERS initialization parameter does not have the functionality required by the dispatchers.

Action: Refer to your Oracle operating system-specific documentation for network protocols supported by the dispatchers.

ORA-00103: invalid network protocol; reserved for use by dispatchers
Cause: The network specified in Net8 CONNECT string is reserved for use by the dispatchers.

Action: Specify other network protocols in the CONNECT string.

ORA-00104: deadlock detected; all public servers blocked waiting for resource
Cause: This message occurs when a client locks a resource and the maximum number of shared servers are taken by other clients who are requesting a locked resource. The original client is unable to get a shared server and cannot release the lock on the resource.

Action: The system automatically starts up new servers to break the deadlock until the number of servers reaches the value specified in MTS_MAX_SERVERS. If this problem occurs frequently, ensure more shared servers will be available at the next restart of the instance by increasing the value of the initialization parameter MTS_SERVERS or MTS_MAX_SERVERS.

ORA-00105: dispatching mechanism not configured to support network protocol
Cause: The ALTER SYSTEM SET MTS_DISPATCHERS command was used to alter a set of dispatchers for a network protocol that is not specified in the initialization parameter file.

Action: Do either of the following:

Include the network protocol in the MTS_DISPATCHERS initialization parameter and restart the system.
Use the ALTER SYSTEM SET MTS_DISPATCHERS command with a network protocol that exists in the initialization parameter file.
ORA-00106: cannot startup/shutdown database when connected to a dispatcher
Cause: An attempt was made to start up or shut down an instance while connected to a shared server process via a dispatcher.

Action: Reconnect to the database using a dedicated server.

ORA-00107: failed to connect to network listener process
Cause: Usually caused by the fact that the network listener process has not been started.

Action: Check for the following:

The network configuration file is not set up correctly.
The client side address is not specified correctly.
The listener initialization parameter file is not set up correctly.
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Cause: The network protocol used by the dispatcher does not support asynchronous operations.

Action: Contact customer support.

ORA-00111: Warning: maximum number of servers is only num; adding num servers
Cause: An attempt was made to start more shared server processes than the number allowed by the initialization parameter MTS_MAX_SERVERS. The actual number of shared servers started is specified in the message.

Action: If more shared server processes are required, increase the initialization parameter MTS_MAX_SERVERS and restart the instance.

ORA-00112: only created up to num maximum specified dispatchers
Cause: An attempt was made to start up more dispatchers than the maximum number specified by the initialization parameter MTS_MAX_DISPATCHERS.

Action: If more dispatchers are required, increase MTS_MAX_DISPATCHERS, restart the instance, and add dispatchers using the ALTER SYSTEM MTS_DISPATCHERS command.

ORA-00113: protocol name string is too long
Cause: A protocol name specified in the MTS_DISPATCHERS initialization parameter is too long.

Action: Use a valid protocol name for the MTS_DISPATCHERS initialization parameter.

ORA-00114: missing value for initialization parameter MTS_SERVICE
Cause: There is no value for the MTS_SERVICE initialization parameter, nor for the DB_NAME parameter.

Action: Add an MTS_SERVICE or DB_NAME definition to the initialization parameter file. By default, MTS_SERVICE is the value of DB_NAME unless MTS_SERVICE is explicitly specified.

ORA-00115: 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: MTS_SERVICE name is too long
Cause: The service name specified in the MTS_SERVICE initialization parameter is too long.

Action: Use a shorter name for the MTS_SERVICE value (maximum is 255 characters).

ORA-00117: value out of range for the MTS_SERVERS system parameter
Cause: The value of the MTS_SERVERS parameter is incorrect.

Action: The MTS_SERVERS parameter must be from 0 to MTS_MAX_SERVERS.

ORA-00118: value out of range for MTS_DISPATCHERS system parameter
Cause: The value of the MTS_DISPATCHERS parameter is incorrect.

Action: The sum of all MTS_DISPATCHERS values must be from 0 to MTS_MAX_DISPATCHERS.

ORA-00119: invalid specification for system parameter MTS_LISTENER_ADDRESS
Cause: The syntax for the MTS_LISTENER_ADDRESS is incorrect.

Action: Refer to the Oracle8 Server Administrator's Guide for the correct syntax.

ORA-00120: dispatching mechanism not enabled or installed
Cause: Either the dispatching mechanism is not enabled or the Oracle executable image is not installed with the dispatching mechanism.

Action: Refer to the Oracle8 Server Administrator's Guide and your Oracle operating system-specific documentation for procedures for starting and configuring the dispatcher processes.

ORA-00121: MTS_SERVERS specified without MTS_DISPATCHERS
Cause: A definition for MTS_SERVERS was specified in the INIT.ORA file, but no definition for MTS_DISPATCHERS was specified. If no value is specified for MTS_DISPATCHERS, shared servers will not be used.

Action: Add a definition for MTS_DISPATCHERS in the INIT.ORA file. If you do not intend to use shared servers, remove the MTS_SERVERS definition.

ORA-00122: cannot initialize network configuration
Cause: Oracle could not initialize Net8 Version 2.

Action: See accompanying messages.

ORA-00123: idle public server terminating
Cause: Too many idle servers were waiting on the common queue.

Action: This is used internally, no action required.

ORA-00124: MTS_DISPATCHERS specified without MTS_MAX_SERVERS
Cause: A definition for MTS_DISPATCHERS was specified in the INIT.ORA file, but MTS_MAX_SERVERS was specified as zero.

Action: Specify MTS_MAX_SERVERS to be greater than zero.

00150-00159: Oracle*XA Messages
ORA-00150: duplicate transaction ID
Cause: Attempted to start a new transaction with an ID already in use by an existing transaction.

Action: Check that your application uses a valid transaction ID.

ORA-00151: invalid transaction ID
Cause: The specified transaction ID does not correspond to an existing valid transaction.

Action: Check that your application uses a valid transaction ID.

ORA-00152: 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 that your application is coded correctly.

ORA-00153: internal error in XA library
Cause: The XA library could not access thread-specific pointers.

Action: Contact customer support.

ORA-00154: 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: cannot perform work outside of global transaction
Cause: The application tried to perform some work on an Oracle 7.3 server 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.

00160-00199: Distributed Transaction Messages
This section lists messages generated during distributed transactions. See also "02040-02099: Distributed Transactions Messages" on page 2¬222.

ORA-00160: global transaction length num is greater than maximum num
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: transaction branch length num is illegal (maximum allowed num)
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: external dbid length num is greater than maximum (num)
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: internal database name length num is greater than maximum (num)
Cause: An internal database name with a too large length field was passed in.

Action: Report the problem to your external transaction coordinator vendor.

00200-00249: Control File Messages

ORA-00200: cannot create control file name
Cause: The control file cannot be created, usually because of insufficient disk storage or filename conflicts.

Action: Check that there is sufficient disk space and no conflicts in filenames and try to create the control file again.

ORA-00201: control file version num incompatible with Oracle version num
Cause: The control file was created by a different version of Oracle.

Action: Either

Restart with version of Oracle used to create the control file.
Use the CREATE CONTROLFILE command to create a new control file that is compatible with this release.
ORA-00202: control file: name
Cause: This message reports the name of the file involved in other messages.

Action: See the associated messages for a description of the problem.

ORA-00203: using the wrong control files
Cause: The mount ID in the control file is not the same as the mount ID in the control file used by the first instance to mount this database. The control files are for the same database but are not the same files. The most likely cause is that one instance is using a backup of the control file. If you want to use a backed up control file, you can recover using the USING BACKUP CONTROLFILE option.
: Check that all instances are using the correct version of the control file.

ORA-00204: error in reading control file name block num, # blocks num
Cause: A disk read-failure occurred while attempting to read the specified control file. The block location of the failure is given.

Action: Check that the disk is online. If it is not, bring it online and shut down and restart Oracle. If the disk is online, then look for operating system reasons for Oracle's inability to read the disk or control file. Refer to the Oracle8 Server Administrator's Guide for information about recovering from the loss of a control file. See also your operating system-specific Oracle documentation.

ORA-00205: error in identifying control file name
Cause: The system could not find a control file of the specified name and size.

Action: Either

Check that the proper control filename is referenced in the CONTROL_FILES initialization parameter in the initialization parameter file and try again.
When using mirrored control files, that is, more than one control file is referenced in the initialization parameter file, remove the control filename listed in the message from the initialization parameter file and restart the instance. If the message does not recur, remove the problem control file from the initialization parameter file and create another copy of the control file with a new filename in the initialization parameter file.
ORA-00206: error in writing control file name block num, # blocks num
Cause: A disk write-failure occurred while attempting to write to the specified control file. The block location of the failure is given.

Action: Check that the disk is online. If it is not, bring it online and shut down and restart Oracle. If the disk is online, then look for operating system reasons for Oracle's inability to write to the disk or control file. See the Oracle8 Server Administrator's Guide for information on recovering from the loss of a control file. See also your operating system-specific Oracle documentation.

ORA-00207: control files are not for the same database
Cause: The database ID in the control file is not the same as the database ID in the control file used by the first instance to mount this database. The most likely cause is either that one of the mounts used the wrong control file or there are two databases with the same name.

Action: Check that the control file is for the correct database and not an old version. When using multiplexed control files, that is, more than one control file is referenced in the initialization parameter file, remove the control filename listed in the message from the initialization parameter file and restart the instance. If the message does not recur, remove the problem control file from the initialization parameter file and create another copy of the control file using a new filename in the initialization parameter file.

ORA-00208: number of control file names exceeds limit of num
Cause: An attempt was made to use more control files than Oracle supports. The limit is given in the message.

Action: Shut down Oracle, reduce the number of control filenames specified in the CONTROL_FILES parameter in the initialization parameter file, and restart Oracle. Delete unused files.

ORA-00209: block size num exceeds limit of num bytes
Cause: A block size larger than that allowed by the operating system was specified.

Action: Reduce the block size to the amount specified in the message and try again.

ORA-00210: cannot open control file name
Cause: The system was unable to open a control file.

Action: Check that the control file exists, that the storage device is online, and that the file is not locked by some other program and try again. Also, check to see that the operating system limit on the number of open files per process has not been exceeded.

When using multiplexed control files, that is, more than one control file is referenced in the initialization parameter file, remove the parameter from the initialization parameter file referencing the control filename indicated in the message and restart the instance. If the message does not recur, remove the problem control file from the initialization parameter file and create another copy of the control file using a new filename in the initialization parameter file.

ORA-00211: control file name does not match previous control files
Cause: The specified control file is from another database.

Action: Locate and specify the correct control file for this database, then retry the operation. When using multiplexed control files, that is, more than one control file is referenced in the initialization parameter file, remove the control filename listed in the message from the initialization parameter file and restart the instance. If the message does not recur, remove the problem control file from the initialization parameter file, create another copy of the control file, and include the new filename in the initialization parameter file.

ORA-00212: block size num below minimum required size of num bytes
Cause: The specified block size is too small. Additional space is needed for system overhead.

Action: Specify a larger block size and retry the operation.

ORA-00213: cannot reuse control file name; old file size num, num required
Cause: To reuse a control file, it must be the same size as the previous one used.

Action: In the CREATE DATABASE statement, do not specify REUSE.

ORA-00214: control file name version num inconsistent with file name version num
Cause: An inconsistent set of control files, datafiles, and redo log files was used.

Action: Use a consistent set of control files, datafiles, and redo log files. That is, all the files must be for the same database and from the same time period.

ORA-00215: must be at least one control file
Cause: No control file was specified, or the control file specified does not exist.

Action: Specify at least one valid control file and retry the operation.

ORA-00216: 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 so. Otherwise, use the CREATE CONTROLFILE script dumped to the trace file to create a new controlfile.

ORA-00217: control file name physical block size num inconsistent with num
Cause: The physical block size of the operating system is inconsistent with the block size of the control file.

Action: The system will not operate with invalid control files. Either restore a valid control file or recreate the database. When using multiplexed control files, that is, more than one control file is referenced in the initialization parameter file, remove the control filename listed in the message from the initialization parameter file and restart the instance. If the message does not recur, remove the problem control file from the initialization parameter file and create another copy of the control file with a new filename in the initialization parameter file.

ORA-00218: control file name was created with block size num now is num
Cause: The physical block size, stored in the control file header, was different in physical block size returned by the O/S. This usually indicates that the control file was corrupted.

Action: Restore a good copy of the control file. For more information about control files and recovery, see the index entries on "control files," "control files, backing up," "control files, recovery and" in Oracle8 Server Concepts.

ORA-00219: required control file size num larger than maximum num
Cause: The CREATE DATABASE statement specified a combination of initialization parameters that results in the control file exceeding the internal maximum size.

Action: You must recreate the database. In the CREATE DATABASE statement, use a value less than the maximum permissible value for clauses such as MAXDATAFILES and MAXLOGFILES as described in the Oracle8 Server Administrator's Guide.

ORA-00220: control file name not mounted by first instance
Cause: The specified control file has a different mount ID than the other control files that are being mounted. This means that the first instance to mount the database did not use this control file.

Action: Find and use the correct control file.

ORA-00221: error on write to control file
Cause: An error occurred when writing to one or more of the control files.

Action: See accompanying messages.

ORA-00222: control file may not be queried using dispatcher
Cause: Attempted to use client process connected to dispatcher. This is not allowed for queries to control file fixed tables due to the memory requirements.

Action: Connect directly to the instance, then execute the query.

ORA-00223: 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: the specified file is not a control file
Cause: The file specified in the initialization parameter file is not a control file.

Action: Edit the initialization parameter file and specify the correct control filename.

ORA-00225: expected size num of controlfile name differs from actual size num
Cause: The expected size of the control file as stored in its header was different than the actual operating system file size of the control file. This usually indicates that the control file was corrupted.

Action: Restore a good copy of the control file. For more information about control files and recovery, see the index entries on "control files," "control files, backing up," "control files, recovery and" in Oracle8 Server Concepts.

ORA-00226: operation disallowed while alternate controlfile open
Cause: The attempted operation cannot be executed at this time because this process has an alternate controlfile open for fixed table access.

Action: Retry the operation after calling cfileUseCurrent.

ORA-00227: corrupt block detected in controlfile: (block num, # blocks num)
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: length of alternate controlfile name exceeds maximum of num
Cause: The specified file name, which was supplied as a parameter to cfileSetSnapshotName or cfileUseCopy, exceeds the maximum file name length for this operating system.

Action: Retry the operation with a shorter file name.

ORA-00229: 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: 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: 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: First specify a name for the snapshot controlfile by calling cfileSetSnapshotName.

ORA-00232: 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: 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, specifying the same filename as specified to cfileUseCopy.

ORA-00234: 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: Recreate the snapshot or copy controlfile using cfileMakeAndUseSnapshot or ALTER DATABASE BACKUP CONTROLFILE, respectively.

ORA-00235: controlfile fixed table inconsistent due to concurrent update
Cause: Concurrent controlfile update activity caused a query on a controlfile fixed table to read inconsistent information.

Action: Retry the operation.

ORA-00236: snapshot operation disallowed: mounted controlfile is a backup
Cause: An attempt was made 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: 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: operation would reuse a file name 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.

00250-00299: Archiving and Recovery Messages
This section lists the messages generated when archiving or recovery of the database is in progress.

ORA-00250: 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: LOG_ARCHIVE_DUPLEX_DEST must be different from LOG_ARCHIVE_DEST
Cause: The destination pointed by the LOG_ARCHIVE_DUPLEX_DEST initialization parameter is the same as the destination pointed by LOG_ARCHIVE_DEST.

Action: Specify a different destination for either LOG_ARCHIVE_DUPLEX_DEST or LOG_ARCHIVE_DEST.

ORA-00252: log name of thread num is empty, cannot archive
Cause: The specified redo log was not used since it was introduced to the database. It is also possible that the instance died during a log switch, and the log was left empty.

Action: Empty logs do not need to be archived. Do not attempt to archive the redo log file.

ORA-00253: limit of num exceeded by length num of archive string name
Cause: The specified archive string is too long. The limit is given in the message.

Action: Use a shorter string, making sure not to exceed the given limit and try again.

ORA-00254: error in archive control string archive_log_location
Cause: The specified archive log location is invalid in the archive command or the LOG_ARCHIVE_DEST initialization parameter.

Action: Specify a valid location name.

ORA-00255: error archiving log name of thread num, sequence # num
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 does allow redo to be generated.

ORA-00256: error occurred in translating archive text string str
Cause: An error occurred while translating the archive control string.

Action: Check the accompanying message stack for more detailed information.

ORA-00257: archiver is stuck. CONNECT INTERNAL only, until freed
Cause: The ARCH process received an error while trying to archive a redo log file. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is that the destination device is out of space to store the redo log file.

Action: Check the 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: manual archiving in NOARCHIVELOG mode must identify log
Cause: An attempt was made to archive a redo log file manually without specifying the sequence number, group number, or filename while the database was in NOARCHIVELOG mode.

Action: The name, group number, or thread and sequence number of redo log files must be specified to archive redo log files manually while the database is in NOARCHIVELOG mode.

ORA-00259: log name of open thread num 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 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 instance recovery can recover the thread.

ORA-00260: cannot find online log sequence num for thread num
Cause: The log sequence number specified in the ARCHIVE statement does not match any of the online logs for the specified thread. This can result from any of the following situations:

This log may have been reused for another sequence number.
This log may have been dropped.
The sequence number may be greater than the current log sequence number.
The thread may not have any logs.
Action: Check the ARCHIVE statement; then specify a valid log sequence number.

ORA-00261: log name of thread num is being archived or modified, cannot archive
Cause: Either the log is being archived by another process or an administrative command is executing and modifying the log. Clearing, adding a member, dropping a member, renaming a member, and dropping the log are operations that modify a log.

Action: Wait for the current operation to complete and try again.

ORA-00262: current log name of closed thread num 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: there are no logs that need archiving for thread num
Cause: An attempt was made to archive the unarchived logs in this thread manually, but no logs need archiving.

Action: No action required.

ORA-00264: 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: instance recovery required, cannot set ARCHIVELOG mode
Cause: The database either crashed or was shut down with the ABORT option. Media recovery cannot be enabled because the online logs may not be sufficient to recover the datafiles.

Action: Open the database and then enter the SHUTDOWN command with the NORMAL or IMMEDIATE options.

ORA-00266: 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: 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: specified log file does not exist name
Cause: The given redo log file does not exist.

Action: Check the spelling and capitalization of the filename and retry the command.

ORA-00269: specified log file is part of thread num not num
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: error creating archive log
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: 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: error writing archive log
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: 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: illegal recovery option str
Cause: An illegal option was specified for a recovery command.

Action: Correct the syntax and retry the command.

ORA-00275: 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: CHANGE keyword specified but no change 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: illegal option to the UNTIL recovery flag str
Cause: Only CANCEL, CHANGE and TIME can be used with the UNTIL keyword.

Action: Correct the syntax.

ORA-00278: log file name 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: change num generated at name needed for thread num
Cause: The requested log is required to proceed with recovery.

Action: Please specify the requested log in the command or cancel recovery.

ORA-00280: change num for thread num is in sequence #num
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: 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: UPI name 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: 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: 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 other messages for the appropriate action.

ORA-00285: 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: 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 off line, attempt to make it available. Check that the correct filenames are being used, especially if the redo log file is being accessed from a remote location.

ORA-00287: specified change number num not found in thread num
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: to continue recovery type ALTER DATABASE RECOVER CONTINUE
Cause: During media recovery, redo information from 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: suggestion: filename
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: operating system archiving 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: 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: 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: control file out of sync with redo log
Cause: The redo log and control file are out of sync because a non-current control file was specified when the instance was started.

Action: Retry the Recover command using the current control file or retry the Recover command using the USING BACKUP CONTROL FILE clause.

ORA-00294: invalid archivelog format specifier name
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: datafile number num is invalid, must be between 1 and num
Cause: An invalid file number was specified.

Action: Specify a correct datafile number and retry the operation.

00300-00369: Redo Log File Messages section lists messages generated when the Redo Log Files are accessed.

ORA-00300: illegal redo log block size num specified - exceeds limit of num
Cause: The specified block size of the redo log file 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: error in adding log file name - file cannot be created
Cause: The creation of the redo log file failed.

Action: Check that there is enough storage space on the device, that the name of the file is valid, and that the device is online; then try again. 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: limit of num 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-00304: 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: Specify another value for INSTANCE_NUMBER in the initialization parameter file or wait for recovery to finish for that instance number. Then restart the instance.

ORA-00305: log name of thread num inconsistent; belongs to another database
Cause: The database ID in the redo log file does not match the database ID in the control file. This redo log file is not from the current database.

Action: Specify the correct redo log file, then retry the operation.

ORA-00306: limit of num log writer instances in this database
Cause: Starting this instance would exceed the maximum number of instances allowed for this database. This message occurs only when attempting to start another instance in Parallel Server mode.

Action: It is not possible to start more than the given number of instances. The maximum 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-00307: requested INSTANCE_NUMBER out of range, maximum is num
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: cannot open archived log name
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: 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: archived log contains sequence num; sequence num 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: cannot read header from archived log
Cause: An error occurred when attempting to read the file header from the archived redo log file.

Action: Other messages will accompany this message. See the associated messages for the appropriate action to take.

ORA-00312: online log name thread num: str
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: open failed for members of log group name of thread name
Cause: The online log cannot be opened. The file may not be in the expected location.

Action: Specify the correct redo log file or make log available, if necessary. Also, see the following messages, if any.

ORA-00314: log name of thread num, expected sequence # num does not match num
Cause: The online log is out of sequence, probably because it is corrupted or an old version.

Action: For more information on recovery procedures, see the Oracle8 Server Administrator's Guide.

ORA-00315: log name of thread num, wrong thread # num in header
Cause: The online redo log file is corrupted or is an old version.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00316: log name of thread num, type str in header is not redo log file
Cause: The online redo log file is corrupted or is an old version.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00317: file type str in header is not log file
Cause: This is not an archived redo log file.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00318: log name of thread num, expected file size num does not match num
Cause: The file size indicated in the control file did not match the file size contained in the redo log file.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00319: log name of thread num has incorrect log reset status
Cause: An online redo log file has log reset data that is different from the log reset data listed in the control file. The redo log file is probably an incorrectly restored backup.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00320: cannot read file header from log name of thread num
Cause: The system is unable to read the redo log file header because the file is not available or the file is corrupted.

Action: Specify the correct redo log file, then retry the operation.

ORA-00321: log name of thread num, cannot update log file header
Cause: The system cannot write to the redo log file.

Action: Restore access to the redo log file; then retry the operation.

ORA-00322: log name of thread num is not current copy
Cause: An online redo log file appears to be an incorrectly restored backup, according to a check of the redo log file header.

Action: Refer to the Oracle8 Server Administrator's Guide for recovery procedures.

ORA-00323: current log of thread num not usable and all others need archiving
Cause: An attempt to open a thread failed because it is necessary to switch to another online log, but all the other online redo logs need to be archived before they can be used.

Action: Archive the online redo logs for the thread, then retry the operation.

ORA-00324: log file name translated name name too long, num characters exceeds num limit
Cause: The translated name for a redo log file is too long.

Action: Respecify a redo log filename that produces a shorter filename on translation.

ORA-00325: archived log for thread num, wrong thread # num in header
Cause: The archived redo log file is corrupted, or it belongs to another thread. This redo log file cannot be used.

Action: Find and use the correct archived redo log file, then retry the operation.

ORA-00326: log begins at change num, need earlier change num
Cause: The archived redo log file supplied for recovery was generated after the redo log file that is needed. Cannot use the log for applying redo information at this time.

Action: Find and install the correct archived redo log file, then retry the operation.

ORA-00327: log name of thread num, physical size num less than needed num
Cause: A redo log file has shrunk in size. This is usually caused by a computer operator's mistake or an operating system error.

Action: Restore the redo log file from backup. If the database was shut down cleanly, no further action should be required. Otherwise, manual recovery may be necessary.

ORA-00328: archived log ends at change num, need later change num
Cause: The archived redo log file supplied for recovery was generated before the log that is needed. Cannot use the log for applying redo information at this time.

Action: Find and install the correct archived redo log file, then retry the operation.

ORA-00329: archived log begins at change num, need change num
Cause: The archived redo log file supplied for recovery is not the correct log. An earlier redo log file is needed.

Action: Find and install the correct archived redo log file, then retry the operation.

ORA-00330: archived log ends at change num, need change num
Cause: The archived redo log file supplied for recovery is not the correct log. A later redo log file is needed.

Action: Find and install the correct archived redo log file, then retry the operation.

ORA-00331: log version num incompatible with Oracle version num
Cause: The log was created under an older, incompatible version of Oracle, or an attempt was made to use the wrong log.

Action: Specify the correct redo log file or recover the database with the old software. Then shut down and restart Oracle with the new software.

ORA-00332: archived log is too small - may be incompletely archived
Cause: The log occupies less space than is allocated to it. This may result from a shutdown abort while the archiver was writing it.

Action: Get a complete version of the file, either the online version or one that was successfully archived, and use that for recovery.

ORA-00333: redo log read error block num count num
Cause: An error occurred while reading the redo log file. Other messages will accompany this message and will give the name of the file.

Action: Restore access to the file or get another copy of the file.

ORA-00334: archived log: name
Cause: This message reports the filename involved with other errors.

Action: See the associated messages for a description of the problem.

ORA-00335: online log name: No log with this number, log does not exist
Cause: This message reports the filename involved with other messages.

Action: Correct the underlying problems mentioned in the other messages.

ORA-00336: log file size num blocks is less than minimum num blocks
Cause: The redo log file size specified in the CREATE DATABASE statement is too small.

Action: Increase the redo log file size and re-enter the statement.

ORA-00337: log file name does not exist and no size specified
Cause: The system could not add a redo log file because it could not find an existing file or a size for creating the file.

Action: Specify a size for the redo log file, then retry the operation.

ORA-00338: log name of thread num is more recent than control file
Cause: The control file change sequence number in the redo log file is greater than the number in the control file. This implies that the wrong control file is being used. Note that repeatedly causing this error to happen by reopening the database may cause the error to stop happening without correcting the problem. Every attempt to open the database advances the control file change sequence number.

Action: Use the correct control file or perform recovery using a backup of the control file.

ORA-00339: archived log does not contain any redo
Cause: The archived log being applied is not the correct log. The log being applied is possibly a copy of a log or was an online log being prepared to be used as the current log.

Action: Restore the correct redo log file.