- ORA-00000: normal, successful completion
- Cause: Normal exit.
- Action: None
- ORA-00001: unique constraint (string.string) 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.
- ORA-00023: 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-00031: 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-00034: cannot string 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-00038: 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-00044: timed_statistics must be TRUE when statistics_level is not BASIC
- Cause: The user attempted to set timed_statistics to FALSE when statistics_level was not BASIC. timed_statistics is required to be TRUE to collect meaningful statistics when statistics_level is set to TYPICAL or ALL.
- Action: Either set timed_statistics to TRUE or set statistics_level to BASIC.
- ORA-00050: 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-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 value of the TEMPORARY_TABLE_LOCKS initialization parameter and warm start.
- ORA-00058: DB_BLOCK_SIZE must be string to mount this database (not string)
- 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-00069: cannot acquire lock -- table locks disabled for string
- 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-00104: 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-00106: 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-00114: 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-00132: syntax error or unresolved network name 'string'
- Cause: Listener address has syntax error or cannot be resolved.
- Action: If a network name is specified, check that it corresponds to an entry in TNSNAMES.ORA or other address repository as configured for your system. Make sure that the entry is syntactically correct.
- ORA-00155: 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.
- ORA-00164: distributed autonomous transaction disallowed within migratable distributed transaction
- Cause: A request was made by the application to start a distributed autonomous transaction when the application was in a migratable distributed transaction.
- Action: Roll back or commit the current distributed transaction first.
- 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 they are not the same files. Most likely one instance is using a backup control file.
- Action: Check that the correct control files were specified.
- 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. Most likely 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 is not an old version.
- ORA-00208: number of control file names exceeds limit of string
- Cause: An attempt was made to use more control files than Oracle supports.
- Action: Shut down Oracle. Reduce the number of control files specified in the CONTROL_FILES parameter in the initialization parameter file, and restart Oracle. Delete usused files.
- ORA-00213: cannot reuse control file; old file size string, string required
- Cause: To reuse a control file, 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: control file 'string' version string inconsistent with file 'string' version string
- Cause: An inconsistent set of control files, datafiles/logfiles, and redo files was used.
- Action: Use a consistant set of control files, datafiles/logfiles, and redo log files. That is, all the files must be for the same database and from the same time period.
- ORA-00216: control file could not be resized for migration from 8.0.2
- Cause: The control file created by release 8.0.2 was missing some record types. These record types are automatically added by resizing the control file during mount. The resize has failed.
- Action: Look in the alert log for the reason that the resize has failed. If indicated in the alert log, give the control file more space. Otherwise, use the CREATE CONTROLFILE script dumped to the trace file to create a new control file.
- ORA-00217: control file could not be resized for new record types
- Cause: The control file was missing some new record types supported by this release. These record types are automatically added by resizing the contol file during mount. The resize has failed.
- Action: Look in the alert log for the reason that the resize has failed. If indicated in the alert log, give the control file more space. Otherwise, use the CREATE CONTROLFILE script dumped to the trace file to create a new control file.
- ORA-00218: block size string of control file 'string' does not match DB_BLOCK_SIZE (string)
- Cause: The block size as stored in the control file 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 control file has either been corrupted or belongs to a different database.
- Action: Restore a good copy of the control file. If the control file is known to be clean set the DB_BLOCK_SIZE to match control file headers block size value.
- ORA-00219: required control file size (string logical blocks) exceeds maximum allowable size (string logical blocks)
- Cause: An invocation of CREATE DATABASE or CREATE CONTROLFILE was executed specifying a combination of parameters that would require the control file 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.
- ORA-00220: control file not mounted by first instance, check alert log for more info
- 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 install the correct control file.
- ORA-00222: operation would reuse name of a currently mounted control file
- 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 control file.
- Action: Retry the operation with a different filename.
- 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: control file resize attempted with illegal record type (string)
- Cause: An attempt was made to expand or shrink the control file 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: expected size string of control file differs from actual size string
- Cause: The expected size of the control file as stored in its header was different than the actual operating system file size. This usually indicates that the control file was corrupted.
- Action: Restore a good copy of the control file.
- ORA-00229: operation disallowed: already hold snapshot control file enqueue
- Cause: The attempted operation cannot be executed at this time because this process currently holds the snapshot control file enqueue.
- Action: Retry the operation after calling cfileUseCurrent to release the snapshot control file enqueue.
- ORA-00230: operation disallowed: snapshot control file enqueue unavailable
- Cause: The attempted operation cannot be executed at this time because another process currently holds the snapshot control file enqueue.
- Action: Retry the operation after the concurrent operation that is holding the snapshot control file enqueue terminates.
- ORA-00231: snapshot control file has not been named
- Cause: During an invocation of cfileMakeAndUseSnapshot or cfileUseSnapshot it was detected that no filename for the snapshot control file had previously been specified.
- Action: Specify a name for the snapshot control file by calling cfileSetSnapshotName.
- ORA-00233: copy control file is corrupt or unreadable
- Cause: The specified copy control file 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: error in identifying or opening snapshot or copy control file
- Cause: A snapshot or copy control file 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 control file using cfileMakeAndUseSnapshot or ALTER DATABASE BACKUP CONTROLFILE, respectively.
- ORA-00238: 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.
- ORA-00251: LOG_ARCHIVE_DUPLEX_DEST cannot be the same destination as string string
- 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: log string of thread string 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-00255: error archiving log string of thread string, sequence # string
- 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: cannot translate archive destination string string
- 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: 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: 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: log string of open instance string (thread string) 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: cannot find online log sequence string for thread string
- 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: log string of thread string 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: current log string of closed thread string 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-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 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-00269: specified log file is part of thread string not string
- 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-00272: error writing archive log string
- 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-00278: log file 'string' 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-00280: change string for thread string is in sequence #string
- 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-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 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-00289: suggestion : string
- 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 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: 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-00293: control file out of sync with redo log
- Cause: The redo log file and control file 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 control file, or retry the RECOVER command using the USING BACKUP CONTROLFILE clause.
- ORA-00296: maximum number of files (string) 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: 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-00301: error in adding log file 'string' - 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-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: 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-00306: limit of string 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: requested INSTANCE_NUMBER out of range, maximum is string
- 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 'string'
- 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-00323: Current log of thread string 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-00327: log string of thread string, physical size string less than needed string
- 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-00332: 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-00338: log string of thread string is more recent than control file
- Cause: The control file change sequence number in the 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 can make it stop happening without correcting the real problem. Every attempt to open the database will advance the control file change sequence number until it is great enough.
- Action: Use the current control file or do backup control file recovery to make the control file current. Be sure to follow all restrictions on doing a backup control file recovery.
- ORA-00350: log string of instance string (thread string) 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-00352: all logs for thread string 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: log corruption near block string change string time string
- 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: 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: 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-00363: log is not the archived version
- Cause: d 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-00365: 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: log string of thread string, 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-00369: Current log of thread string 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.
- ORA-00372: file string 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: online log version string incompatible with ORACLE version string
- 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-00377: Frequent backups of file string 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-00380: cannot specify db_stringk_cache_size since stringK 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: 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), db_cache_advice } 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. Cache advisory can only be enabled with the new cache parameters.
- ORA-00382: string not a valid block size, valid range [string..string]
- 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: DEFAULT cache for blocksize string cannot be reduced to zero
- Cause: User attempted to reduce db_cache_size to zero, or attempted to to reduce db_
K_cache_size to zero while there were still online tablespaces with blocksize 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-00385: cannot enable Very Large Memory with new buffer cache parameters
- 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 use_indirect_data_buffers is set to TRUE. This is illegal.
- Action: Very Large Memory can only be enabled with the old (pre-Oracle_8.2) parameters.
- ORA-00390: log string of thread string 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: 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: log string of thread string 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: log string of thread string 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-00396: error string required fallback to single-pass recovery
- Cause: The indicated error caused two-pass instance or crash recovery to fail. Recovery was retried with an alternate (slower) method to avoid the error.
- Action: Correct the cause of the indicated error (also recorded) so that future instance or crash recovery can succeed with the two-pass algorithm. This usually requires making more main memory available to the recovery process.
- ORA-00402: database changes by release string cannot be used by release string
- Cause: Changes have been made to the database that require a newer software release or that violate the compatibility parameters.
- Action: Use a version of the software that can understand the changes or relax the compatibility requirements in the init file.
- ORA-00406: COMPATIBLE parameter needs to be string or greater
- Cause: The COMPATIBLE initialization parameter is not high enough to allow the operation. Allowing the command would make the database incompatible with the release specified by the current COMPATIBLE parameter.
- Action: Shutdown and startup with a higher compatibility setting.
- ORA-00409: COMPATIBLE needs to be string or higher to use AUTO SEGMENT SPACE MANAGEMENT
- Cause: This is due to migrating from an older release of Oracle with tablespaces created using AUTO SEGMENT SPACE MANAGEMENT. To open the database, the COMPATIBLE parameter needs to be set to the specified value.
- Action: Shutdown and startup with the specified compatibility setting.
- ORA-00569: Failed to acquire global enqueue.
- Cause: A prior error occurred on one of the instances in the cluster. Typically errors are caused by shared pool resource contention.
- Action: Check for and resolve prior errors on all instances in the cluster. If there is shared pool resource contention, increase the SHARED_POOL_SIZE, DML_LOCKS, PROCESSES, TRANSACTIONS, CLUSTER_DATABASE_INSTANCES and PARALLEL_MAX_SERVERS initialization parameters.
- ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string], [string], [string], [string], [string]
- Cause: This is the generic internal error number for Oracle program exceptions. This indicated that a process encountered an exceptional condition.
- Action: Report as a bug - the first argument is the internal error number.
- ORA-00604: error occurred at recursive SQL level string
- Cause: An error occurred while processing a recursive SQL statement (a statement applying to internal dictionary tables).
- Action: If the situation described in the next error on the stack can be corrected, do so; otherwise contact Oracle Support.
- ORA-00721: changes by release string cannot be used by release string
- Cause: An attempt to import a tablespace failed because the tablespace contains changes that require a newer software release or that violate the compatibility parameters.
- Action: Use a version of the software that can understand the changes or relax the compatibility requirements in the initialization parameter file.
- ORA-00723: Initialization parameter COMPATIBLE must be explicitly set
- Cause: Oracle detected that the initialization parameter COMPATIBLE was not explicitly specified, and the compatibility of the database is lower than the default value of the COMPATIBLE parameter. In order to use the new compatible setting, the intialization parameter must be explicitly set by the user.
- Action: Explicitly set the value of COMPATIBLE parameter either in PFILE or SPFILE, whichever is used.
- ORA-00820: Specified value of sga_max_size is too small, needs to be at least stringM
- Cause: The specified value of sga_max_size is too small for the SGA to accommodate all of the necessary SGA components such as the log buffer, buffer pools, shared pool, etc.
- Action: Set sga_max_size to the recommended value or reduce the values of any SGA component size parameters you have specified.
- ORA-00821: Specified value of sga_target stringM is too small, needs to be at least stringM
- Cause: The specified value of sga_target is too small for the SGA to accommodate all of the necessary SGA components such as the log buffer, buffer pools, shared pool, etc.
- Action: Set sga_target to the recommended value or reduce the values of any SGA component size parameters you have specified.
- ORA-00827: could not shrink sga_target to specified value
- Cause: Attempted to shrink the SGA to the specified value but did not succeed because the SGA components could not be shrunk as they were already at their minimum sizes.
- Action: Do not set sga_target to a value below the current value without first shrinking the individual SGA components.
- ORA-00828: specified value of shared_pool_reserved_size inconsistent with internal settings
- Cause: Unable to set shared_pool_reserved_size to specified value if SGA_TARGET set, either because the specified value is too small, or because it is too large for the current internal size of shared pool. More details can be found in the alert log.
- Action: If possible, do not set shared_pool_reserved_size without setting shared_pool_size if SGA_TARGET set. Examine the alert log for information about current internal size of shared pool, and valid range of values for shared_pool_reserved_size.
- ORA-00830: cannot set statistics_level to BASIC with auto-tune SGA enabled
- Cause: The user attempted to set statistics_level to BASIC with auto-tune SGA enabled which cannot be done because auto-tune SGA cannot work with statistics_level set to BASIC.
- Action: Disable auto-tune SGA and try setting the statistics_level to BASIC again.
- ORA-00832: no streams pool created and cannot automatically create one
- Cause: A database feature which needs STREAMS SGA was being used, however, the streams_pool_size parameter was not defined and the value of db_cache_size was too small to permit an automatic transfer of SGA to the streams pool from the buffer cache.
- Action: Please set the parameter streams_pool_size or set SGA_TARGET.
- ORA-00839: SGA_TARGET cannot be modified to the specified value
- Cause: The specified value of SGA_TARGET was not compatible with current settings of PGA_AGGREGATE_TARGET and MEMORY_TARGET/MEMORY_MAX_TARGET.
- Action: Set SGA_TARGET to be no more than the difference of MEMORY_TARGET/MEMORY_MAX_TARGET and PGA_AGGREGATE_TARGET. Also ensure that the current PGA memory used for non-auto workareas is low.
- ORA-00840: PGA_AGGREGATE_TARGET cannot be modified to the specified value
- Cause: The specified value of PGA_AGGREGATE_TARGET was not compatible with current settings of SGA_TARGET and MEMORY_TARGET/MEMORY_MAX_TARGET.
- Action: Set PGA_AGGREGATE_TARGET to be no more than the difference of MEMORY_TARGET/MEMORY_MAX_TARGET and SGA_TARGET.
- ORA-00845: MEMORY_TARGET not supported on this system
- Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
- Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
- ORA-00846: could not shrink MEMORY_TARGET to specified value
- Cause: Attempted to shrink MEMORY_TARGET to the specified value but did not succeed because the PGA and SGA components could not be shrunk.
- Action: Do not set MEMORY_TARGET to a value below the current value without first shrinking the individual memory components.
- ORA-00851: SGA_MAX_SIZE string cannot be set to more than MEMORY_TARGET string.
- Cause: SGA_MAX_SIZE value was more than MEMORY_TARGET value.
- Action: Set SGA_MAX_SIZE to be less than MEMORY_TARGET.
- ORA-00910: specified length too long for its datatype
- Cause: for datatypes CHAR and RAW, the length specified was > 2000; otherwise, the length specified was > 4000.
- Action: use a shorter length or switch to a datatype permitting a longer length such as a VARCHAR2, LONG CHAR, or LONG RAW
- ORA-00911: invalid character
- Cause: identifiers may not start with any ASCII character other than letters and numbers. $#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain any character other than a doublequote. Alternative quotes (q'#...#') cannot use spaces, tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual.
- Action: None
- ORA-00980: synonym translation is no longer valid
- Cause: A synonym did not translate to a legal target object. This could happen for one of the following reasons: 1. The target schema does not exist.
2. The target object does not exist.
3. The synonym specifies an incorrect database link.
4. The synonym is not versioned but specifies a versioned target object. - Action: Change the synonym definition so that the synonym points at a legal target object.
- ORA-01002: fetch out of sequence
- Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. There are a number of possible causes for this error, including: 1) Fetching from a cursor after the last row has been retrieved and the ORA-1403 error returned. 2) If the cursor has been opened with the FOR UPDATE clause, fetching after a COMMIT has been issued will return the error. 3) Rebinding any placeholders in the SQL statement, then issuing a fetch before reexecuting the statement.
- Action: 1) Do not issue a fetch statement after the last row has been retrieved - there are no more rows to fetch. 2) Do not issue a COMMIT inside a fetch loop for a cursor that has been opened FOR UPDATE. 3) Reexecute the statement after rebinding, then attempt to fetch again.
- ORA-01010: invalid OCI operation
- Cause: One of the following: 1) You attempted an invalid OCI operation. 2) You are using an Oracle client application linked with version 7.1 (or higher) libraries, the environment variable ORA_ENCRYPT_LOGIN is set to TRUE, and you attempted to connect to a version 7.0 (or lower) Oracle Server. 3) You are connected to a version 7.1 (or higher) Oracle Server, the initialization parameter DBLINK_ENCRYPT_LOGIN is set to TRUE, and you attempted to use a database link pointing to a version 7.0 (or lower) Oracle Server. 4) You are connected to a version 9.0.2(or higher) Oracle Server and you attempted to use a database link pointing to a version 9.0.1(or lower) Oracle Server for distributed autonomous transaction.
- Action: For the above causes: 1) Do not use the invalid OCI operation. 2) If you do not wish to use encrypted connect passwords in your distributed database, set ORA_ENCRYPT_LOGIN to FALSE. If you wish to use encrypted connect passwords, you must upgrade all Oracle Servers to version 7.1 (or higher). 3) If you do not wish to use encrypted database links in your distributed database, set DBLINK_ENCRYPT_LOGIN to FALSE. If you wish to use encrypted database links, you must upgrade all Oracle Servers to version 7.1 (or higher). 4) Do not attempt distributed autonomous transaction on version 9.0.1(or lower) Oracle Server.
- ORA-01022: database operation not supported in this configuration
- Cause: The attempted database operation does not conform to the user programming interface (UPI) for the two communicating ORACLE servers.
- Action: You may need to upgrade one or more of your ORACLE servers or re-link your user side application with new libraries. Report the problem to Worldwide Customer Support.
- ORA-01031: insufficient privileges
- Cause: An attempt was made to change the current username or password without the appropriate privilege. This error also occurs if attempting to install a database without the necessary operating system privileges. When Trusted Oracle is configure in DBMS MAC, this error may occur if the user was granted the necessary privilege at a higher label than the current login.
- Action: Ask the database administrator to perform the operation or grant the required privileges. For Trusted Oracle users getting this error although granted the the appropriate privilege at a higher label, ask the database administrator to regrant the privilege at the appropriate label.
- ORA-01034: ORACLE not available
- Cause: Oracle was not started up. Possible causes include the following: - The SGA requires more space than was allocated for it.
- The operating-system variable pointing to the instance is improperly defined. - Action: Refer to accompanying messages for possible causes and correct the problem mentioned in the other messages. If Oracle has been initialized, then on some operating systems, verify that Oracle was linked correctly. See the platform specific Oracle documentation.
- ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege
- Cause: Logins are disallowed because an instance started in restricted mode. Only users with RESTRICTED SESSION system privilege can log on.
- Action: Request that Oracle be restarted without the restricted option or obtain the RESTRICTED SESSION system privilege.
- ORA-01038: cannot write database file version string with ORACLE version string
- Cause: Attempting to write datafile headers in an old format. The new format can not be used until after the database has been verified as being compatible with this software version.
- Action: Open the database to advance to the new file formats, then repeat the operation. If the operation is required before the database can be opened, then use the previous software release to do the operation.
- ORA-01052: required destination LOG_ARCHIVE_DUPLEX_DEST is not specified
- Cause: A valid destination for parameter LOG_ARCHIVE_DUPLEX_DEST was not specified when parameter LOG_ARCHIVE_MIN_SUCCEED_DEST was set to two.
- Action: Either specify a value for parameter LOG_ARCHIVE_DUPLEX_DEST, or reduce the value for parameter LOG_ARCHIVE_MIN_SUCCEED_DEST to one.
- ORA-01083: value of parameter "string" is inconsistent with that of other instances
- Cause: The value of the given parameter is required to be the same for all instances in the cluster database configuration. ROW_LOCKING and SERIALIZABLE are 2 examples.
- Action: Change the value of the parameter in INIT.ORA file to match that of other cluster database instances.
- ORA-01092: ORACLE instance terminated. Disconnection forced
- Cause: The instance this process was connected to was terminated abnormally, probably via a shutdown abort. This process was forced to disconnect from the instance.
- Action: Examine the alert log for more details. When the instance has been restarted, retry action.
- ORA-01096: program version (string) incompatible with instance (string)
- Cause: A program is trying to connect to an instance using a different version of code than the database was started with. This is not allowed.
- Action: Either relink the program with the same version as the database or restart the database using the old version of code.
- ORA-01108: file string is in backup or media recovery
- Cause: Either media recovery is actively being applied to the file, or it is being backed up while the database is in NOARCHIVELOG mode. It cannot be used for normal database access or crash recovery.
- Action: Complete or cancel the media recovery session or backup.
- ORA-01111: name for data file string is unknown - rename to correct file
- Cause: The data file was missing from a CREATE CONTROLFILE command or backup control file recovery was done with a control file that was saved before the file was created.
- Action: Rename the MISSING file to the name of the real file.
- ORA-01114: IO error writing block to file string (block # string)
- Cause: The device on which the file resides is probably offline. If the file is a temporary file, then it is also possible that the device has run out of space. This could happen because disk space of temporary files is not necessarily allocated at file creation time.
- Action: Restore access to the device or remove unnecessary files to free up space.
- ORA-01124: cannot recover data file string - file is in use or recovery
- Cause: An attempt to do media recovery found that the file was not available for recovery. Either it is online and the database is open in some instance, or another process is curently doing media recovery on the file.
- Action: Do not do media recovery.
- ORA-01137: data file string is still in the middle of going offline
- Cause: It was not possible to get the lock for a file that is offline when attempting to bring it online. The most likely cause is that the lock is still held by the instance that is took it offline.
- Action: Wait a bit and try to online the file again.
- ORA-01138: database must either be open in this instance or not at all
- Cause: The requested operation can not be done when the database is mounted but not open in this instance, and another instance has the database open.
- Action: Execute the operation in an open instance, open the datbase in this instance, or close the database in the other instances.
- ORA-01145: offline immediate disallowed unless media recovery enabled
- Cause: ALTER TABLESPACE ... OFFLINE IMMEDIATE or ALTER DATABASE DATAFILE ... OFFLINE is only allowed if database is in ARCHIVELOG mode.
- Action: Take tablespace offline normally or shutdown abort. Reconsider your backup strategy. You could do this if you were archiving your logs.
- ORA-01150: cannot prevent writes - file string has online backup set
- Cause: An attempt to make a tablespace read only or offline normal found that an online backup is still in progress. It will be necessary to write the file header to end the backup, but that would not be allowed if this command succeeded.
- Action: End the backup of the offending tablespace and retry this command.
- ORA-01152: file string was not restored from a sufficiently old backup
- Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the database consistent. This file is still in the future of the last log applied. The most likely cause of this error is forgetting to restore the file from a backup before doing incomplete recovery.
- Action: Either apply more logs until the database is consistent or restore the database file from an older backup and repeat recovery.
- ORA-01153: an incompatible media recovery is active
- Cause: Attempted to start an incompatible media recovery or open resetlogs during media recovery or RMAN backup . Media recovery sessions are incompatible if they attempt to recover the same data file. Incomplete media recovery or open resetlogs is incompatible with any media recovery. Backup or restore by RMAN is incompatible with open resetlogs
- Action: Complete or cancel the other media recovery session or RMAN backup
- ORA-01154: database busy. Open, close, mount, and dismount not allowed now
- Cause: Some operation is in progress that expects the opened/mounted state of this instance to remain the same.
- Action: Wait for the operation to complete then retry. If attempting to do a shutdown, SHUTDOWN ABORT will work. If this is a shutdown of a standby database that is operating in NO DATA LOSS mode, you must shutdown the primary database first.
- ORA-01155: the database is being opened, closed, mounted or dismounted
- Cause: The requested operation needs the instance to be in a particular state but the state is being changed.
- Action: Wait for the open, close, mount, or dismount to complete then retry the operation. If necessary, a SHUTDOWN ABORT will always work.
- ORA-01157: cannot identify/lock data file string - see DBWR trace file
- Cause: The background process was either unable to find one of the data files or failed to lock it because the file was already in use. The database will prohibit access to this file but other files will be unaffected. However the first instance to open the database will need to access all online data files. Accompanying error from the operating system describes why the file could not be identified.
- Action: Have operating system make file available to database. Then either open the database or do ALTER SYSTEM CHECK DATAFILES.
- ORA-01159: file is not from same database as previous files - wrong database id
- Cause: Not all of the files specified in CREATE CONTROLFILE are from the same database. The database ID of this file does not match that from the first file specified.
- Action: Please double check the list of files provided to the CREATE
- ORA-01161: database name string in file header does not match given name of string
- Cause: The database name given at the command line does not match the database name found in the file header.
- Action: Chance are good that the database name specified at the command line is incorrect. Resolve the descepency, and resubmit the command. If you are attempting to change the database name, be sure to use the SET DATABASE option.
- ORA-01162: block size string in file header does not match configured block sizes
- Cause: CREATE CONTROLFILE discovered that the block size for this file is incompatible with any of the configured cache blocksizes in the INIT.ORA file.
- Action: Configure the appropriate cache for this block size using one of the various (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size, db_16k_cache_size, db_32K_cache_size) parameters.
- ORA-01167: two files are the same file/group number or the same file
- Cause: There is an overlap of file numbers in the files specified on the command line or the same file is specified twice. If they are not the exact same file then one is likely to be a backup of the other. If they are two members of the same log they must be specified together in a group file spec. This message will also appear if the same control file appears more than once in the control_files parameter in the init.ora file. If this happens, check for additional error messages.
- Action: Confirm that the file mentioned is not a repeat of a file already mentioned in the command. If they are different files then omit the earlier backup. If they are members of the same log, insure they are in the same group file specification. If this message appears because of a duplicate control file, check the control_files parameter in the init.ora file and see if a file is specified more than once. If all files names appear to be unique, check to make sure that the actual control files themselves are unique. For example, in UNIX check for a symbolic or a hard link to another control file in the list.
- ORA-01171: datafile string going offline due to error advancing checkpoint
- Cause: The checkpoint in the file header could not be advanced. See accompanying errors for the reason. The datafile will be taken offline the same as for a write error of a data block.
- Action: See accompanying errors for details. Restore access to the file, do media recovery, and bring it back online.
- ORA-01172: recovery of thread string stuck at block string of file string
- Cause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery.
- Action: Do a RECOVER DATAFILE for the file containing the block. If this does not resolve the problem then restore the file from a backup and recover it.
- ORA-01173: data dictionary indicates missing data file from system tablespace
- Cause: Either the database has been recovered to a point in time in the future of the control file or a datafile from the system tablespace was omitted from the create control file command previously issued.
- Action: For the former problem you need to recover the database from a more recent control file. For the latter problem, simply recreate the control file checking to be sure that you include all the datafiles in the system tablespace.
- ORA-01174: DB_FILES is string buts needs to be string to be compatible
- Cause: The maximum number of database 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 DB_FILES parameter to be compatible
- ORA-01177: data file does not match dictionary - probably old incarnation
- Cause: When comparing the control file with the data dictionary after a CREATE CONTROLFILE or OPEN RESETLOGS, it was noted that this datafile was inconsistent with the dictionary. Most likely the file is a backup of a file that was dropped from the database, and the same file number was reused for a new file. It may also be that an incomplete recovery stopped at a time when this file number was used for another datafile.
- Action: Do a CREATE CONTROLFILE with the correct file or none at all.
- ORA-01178: file string created before last CREATE CONTROLFILE, cannot recreate
- Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed at the last CREATE CONTROLFILE command. The information needed to recreate the file was lost with the control file that existed when the file was added to the database.
- Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.
- ORA-01181: file string created before last known RESETLOGS, cannot recreate
- Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed before the last known RESETLOGS.
- Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.
- ORA-01186: file string failed verification tests
- Cause: The data file did not pass the checks to insure it is part of the database. See the accompanying error messages for the reason the verification failed.
- Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.
- ORA-01187: cannot read from file string because it failed verification tests
- Cause: The data file did not pass the checks to insure it is part of the database. Reads are not allowed until it is verified.
- Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.
- ORA-01188: Block size string in header does not match physical block size string
- Cause: A log file member given to CREATE CONTROLFILE is on a physical device that has a different block size than the device originally used to create the log.
- Action: Move the file to a device with the correct block size or use the RESETLOGS option to CREATE CONTROLFILE.
- ORA-01189: file is from a different RESETLOGS than previous files
- Cause: In a CREATE CONTROLFILE command either this file or all previous files were backups from before the last RESETLOGS. This may also occur if this is a file that is offline and has been offline since before the last RESETLOGS.
- Action: If the file was taken offline normal before the last RESETLOGS, and is still offline, omit it from the CREATE CONTROLFILE command. Rename and online the file after the database is open. Otherwise find the version of the mentioned file consistent with the rest of the datafiles and resubmit the command.
- ORA-01190: control file or data file string is from before the last RESETLOGS
- Cause: Attempting to use a data file when the log reset information in the file does not match the control file. Either the data file or the control file is a backup that was made before the most recent ALTER DATABASE OPEN RESETLOGS.
- Action: Restore file from a more recent backup.
- ORA-01193: file string is not the same file seen at start of recovery
- Cause: A different copy of the file was accessed the last time media recovery looked at the file header. A backup of the file was restored or the meaning of the file name changed during recovery.
- Action: Ensure the correct file is available, then retry recovery.
- ORA-01194: file string needs more recovery to be consistent
- Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the file consistent. The reported file was not closed cleanly when it was last opened by the database. It must be recovered to a time when it was not being updated. The most likely cause of this error is forgetting to restore the file from a backup before doing incomplete recovery.
- Action: Either apply more logs until the file is consistent or restore the file from an older backup and repeat recovery.
- ORA-01195: online backup of file string needs more recovery to be consistent
- Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the file consistent. The reported file is an online backup which must be recovered to the time the backup ended.
- Action: Either apply more logs until the file is consistent or restore the database files from an older backup and repeat recovery.
- ORA-01196: file string is inconsistent due to a failed media recovery session
- Cause: The file was being recovered but the recovery did not terminate normally. This left the file in an inconsistent state. No more recovery was successfully completed on this file.
- Action: Either apply more logs until the file is consistent or restore the backup again and repeat recovery.
- ORA-01197: thread string only contains one log
- Cause: During CREATE CONTROLFILE all threads represented in the logs must be represented by at least two logs. A "last log" and a second log. The named thread does not contain two such logs.
- Action: Either find more logs from the named thread. Or use the RESETLOGS option to CREATE CONTROLFILE.
- ORA-01200: actual file size of string is smaller than correct size of string blocks
- Cause: The size of the file as returned by the operating system is smaller than the size of the file as indicated in the file header and the control file. Somehow the file has been truncated. Maybe it is the result of a half completed copy.
- Action: Restore a good copy of the data file and do recovery as needed.
- ORA-01205: not a data file - type number in header is string
- Cause: The file type in the header is not correct for a data file. This is probably a log file or control file. If the type is not a small non-zero positive number then the header is corrupted.
- Action: Restore a copy of the correct data file and do recovery as needed.
- ORA-01206: file is not part of this database - wrong database id
- Cause: The database ID in the file header does not match the database id in the control file. The file may be from a different database, or it may not be a database file at all. If the database was rebuilt, this may be a file from before the rebuild. Note that if you see this error when the file is supposed to be plugged in from another database via the Transportable Tablespace feature, it means the database ID in the file header does not match the one expected.
- Action: Restore a copy of the correct data file and do recovery as needed.
- ORA-01207: file is more recent than control file - old control file
- Cause: The control file change sequence number in the data 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 can make it stop happening without correcting the real problem. Every attempt to open the database will advance the control file change sequence number until it is great enough.
- Action: Use the current control file or do backup control file recovery to make the control file current. Be sure to follow all restrictions on doing a backup control file recovery.
- ORA-01208: data file is an old version - not accessing current version
- Cause: The checkpoint in the file header is less recent than in the control file. If opening a database that is already open by another instance, or if another instance just brought this file online, the file accessed by this instance is probably a different version. Otherwise, a backup of the file probably was restored while the file was in use.
- Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.
- ORA-01209: data file is from before the last RESETLOGS
- Cause: The reset log data in the file header does not match the control file. If the database is closed or the file is offline, the backup is old because it was taken before the last ALTER DATABASE OPEN RESETLOGS command. If opening a database that is open already by another instance, or if another instance just brought this file online, the file accessed by this instance is probably a different version. Otherwise, a backup of the file probably was restored while the file was in use.
- Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.
- ORA-01210: data file header is media corrupt
- Cause: The file header block is internally inconsistent. The beginning of the block has a header with a checksum and other data for insuring the consistancy of the block. It is possible that the last disk write did not operate correctly. The most likely problem is that this is not a datafile for any database.
- Action: Have operating system make correct file available to database. If the trace file dump indicates that only the checksum is wrong, restore from a backup and do media recovery.
- ORA-01211: Oracle7 data file is not from migration to Oracle8
- Cause: The file is not a copy of the file LAST used under Oracle7. This datafile is either a backup taken from before the migration, or the database was opened by Oracle7 after the migration utility was run. When converting a database from Oracle7 to Oracle8, the migration program MUST be the LAST utility to access the database under Oracle7. Only the datafiles that were current when the migration was done may be accessed by Oracle8.
- Action: Have operating system make correct data file available to database, or repeat the Oracle7 to Oracle8 migration. Make sure that database is NOT opened after migration utility is run.
- ORA-01216: thread string is expected to be disabled after CREATE CONTROLFILE
- Cause: A thread that was given during CREATE CONTROLFILE is enabled, but the datafiles indicate that it should be disabled. This is probably because the logs supplied to the CREATE CONTROLFILE are old (from before the disabling of the thread).
- Action: This thread is not required to run the database. The CREATE CONTROLFILE statement can be reissued without the problem thread, and, if desired, the thread can be recreated after the database is open.
- ORA-01218: logfile member is not from the same point-in-time
- Cause: A member of a multiple-member logfile group is from a different point in time. One of the members specified may be an older (backup) copy of the log.
- Action: Find the correct version of the log, or leave it out of the CREATE CONTROLFILE command.
- ORA-01220: file based sort illegal before database is open
- Cause: A query issued against a fixed table or view required a temporary segment for sorting before the database was open. Only in-memory sorts are supported before the database is open.
- Action: Re-phrase the query to avoid a large sort, increase the values of the SORT_AREA_SIZE and/or SORT_AREA_RETAINED_SIZE initialization parameters to enable the sort to be done in memory.
- ORA-01221: data file string is not the same file to a background process
- Cause: When the database writer opens the data file, it is accessing a different physical file than the foreground doing the recovery. The timestamp set in the file header by the foreground was not found by the background. It may be that the background process could not read the file at all.
- Action: Look in the DBWR trace file for the error it recieved when attempting to read the file header. Reconfigure the operating system as needed to have the file name successfully access the same file when opened by a background process.
- ORA-01222: MAXINSTANCES of string requires MAXLOGFILES be at least string, not string
- Cause: Attemping to create a database or control file that does not have room for at least two logs per thread of redo. A thread of redo must have two online logs in order to be enabled. It does not make sense to allow more redo threads than can be supported by the logs.
- Action: Either reduce the MAXINSTANCES argument or increase MAXLOGFILES.
- ORA-01223: RESETLOGS must be specified to set a new database name
- Cause: The SET database name option was specified to CREATE CONTROLFILE, but RESETLOGS was not specified. The database name can only be changed when opening the database with RESETLOGS.
- Action: Either add the RESETLOGS option or drop the SET option to CREATE CONTROLFILE.
- ORA-01226: file header of log member is inconsistent with other members
- Cause: The log file member in the accompanying error is for the same group as the previous members, but other fields in the header are different. Either a file header is corrupted, or some file is a member of a deleted log.
- Action: Find the correct log member or omit this member from the command.
- ORA-01227: log string is inconsistent with other logs
- Cause: The log file in the accompanying error is inconsistent with the contents of other logs given in the CREATE CONTROLFILE command. Either a file header is corrupted, or some file is an old copy rather than the current version. The problem may not be with the log listed since all that can be detected is that there is an inconsistancy. All log files listed in the command must be the current versions of the online logs.
- Action: Find the correct online logs or use the RESETLOGS option.
- ORA-01228: SET DATABASE option required to install seed database
- Cause: The SET DATABASE option was not included in the CREATE CONTROLFILE command when installing a seed database. The database does not have a database ID because it is intended to be installed at multiple sites, and each site needs to be a different database with its own database id. Both the SET DATABASE and RESETLOGS options must be specified to create the control file for this database.
- Action: Resubmit command with the SET DATABASE and RESETLOGS options.
- ORA-01229: data file string is inconsistent with logs
- Cause: The data file in the accompanying error is inconsistent with the contents of the logs given in the CREATE CONTROLFILE command. The most likely cause is that one or more of the online logs was missing from the command. It is also possible that one or more of the logs is an old copy rather than the current version. All online log files must be listed in the command and must be the current versions of the online logs.
- Action: Find the correct online logs or use the RESETLOGS option.
- ORA-01232: cannot start online backup - file string is being made read-only
- Cause: An attempt to start an online backup found that one of the files is in transition to read-only mode.
- Action: Wait for the transition to complete and then retry the command, if this is an ALTER DATABASE BEGIN BACKUP command, or take the backup without any begin or end commands, if this is an ALTER TABLESPACE BEGIN BACKUP command.
- ORA-01233: file string is read only - cannot recover using backup control file
- Cause: An attempt to do media recovery using a backup control file found that one of the files is marked read only. Read only files do not normally need to be recovered, but recovery with a backup control file must recover all online files.
- Action: If the file really is read only, take it offline before the recovery, and bring the read only tablespace online after the database is open. If the file does need recovery use a control file from the time the file was read-write. If the correct control file is not available, use CREATE CONTROLFILE to make one.
- ORA-01234: cannot end backup of file string - file is in use or recovery
- Cause: Attempted to end an online backup of file when the file is busy. Some operation such as recovery or rename may be active, or there may still be some instance that has the database open with this file online.
- Action: If there is an instance with the database open then the backup can be ended there by using the ALTER TABLESPACE command. Otherwise wait for the completion of the other operation.
- ORA-01235: END BACKUP failed for string file(s) and succeeded for string
- Cause: One or more of the files in an end backup command failed. Some other files given in the same command may have succeeded.
- Action: See the accompanying error messages for the reason the backups could not be ended. Any files not listed in the error messages were successful.
- ORA-01239: database must be in ARCHIVELOG mode to use external cache
- Cause: An online file uses an external cache, but the database is in NOARCHIVELOG mode. Since an external cache may require media recovery this can not be allowed.
- Action: Change database to be in ARCHIVELOG mode or do not use an external cache.
- ORA-01240: too many data files to add in one command
- Cause: The command specifies adding more data files than can be done in one command. It is necessary to fit all the file names into one log entry, but that would make the entry too large.
- Action: If this is a CREATE TABLESPACE command, create with fewer files then add the other files later. If this is an ADD DATAFILE command, break it up into multiple commands.
- ORA-01241: an external cache has died
- Cause: The external cache may have been restarted.
- Action: Take the file mentioned in the error stack offline, perform media recovery, bring the file online, and retry the attempted operation. You may also restart all instances to make sure they access all data files through consistent external caches.
- ORA-01244: unnamed datafile(s) added to control file by media recovery
- Cause: Media recovery with a backup control file or a control file that was rebuilt, encountered the creation of a datafile that was not in the control file. An entry has been added to the control file for the new datafiles, but with the file name UNNAMEDnnnn, where nnnn is the file number. Attached errors describe the file names that were originally used to create the files.
- Action: Rename the files to valid file names and resume recovery. If necessary the command ALTER DATABASE CREATE DATAFILE may be used to create a file suitable for recovery and do the rename. If the file is not going to be recovered then take it offline with the FOR DROP option.
- ORA-01245: offline file string will be lost if RESETLOGS is done
- Cause: Attempting to do an OPEN RESETLOGS with a file that will be lost because it is offline. The file was not taken offline with the FOR DROP option.
- Action: Either bring the file online and recover it, or take it offline with the FOR DROP option.
- ORA-01246: recovering files through TSPITR of tablespace string
- Cause: The files named in the accompanying errors are backups that were made before a tablespace point in time recovery of this tablespace. They cannot be recovered to a time after the point in time recovery.
- Action: Restore more recent backups and recover them.
- ORA-01247: database recovery through TSPITR of tablespace string
- Cause: Recovery of the whole database encountered redo indicating there was a point in time recovery of the tablespace. The new version of the files in the tablespace should be included in the recovery, but that was not done.
- Action: If the tablespace should not be recovered, take its file offline for drop. If it should be recovered, then restore or rename as needed and restart the recovery.
- ORA-01248: file string was created in the future of incomplete recovery
- Cause: Attempting to do a RESETLOGS open with a file entry in the control file that was originally created after the UNTIL time of the incomplete recovery. Allowing such an entry may hide the version of the file that is needed at this time. The file number may be in use for a different file which would be lost if the RESETLOGS was allowed.
- Action: If more recovery is desired then apply redo until the creation time of the file is reached. If the file is not wanted and the same file number is not in use at the stop time of the recovery, then the file can be taken offline with the FOR DROP option. Otherwise a different control file is needed to allow the RESETLOGS. Another backup can be restored and recovered, or a control file can be created via CREATE CONTROLFILE.
- ORA-01249: archiving not allowed in a clone database
- Cause: Attempting to archive an online redo log or enable archiving for a clone database.
- Action: Do not attempt to archive from a clone. The archive log destination could easily be the same as the primary database destroying its archived logs. If archiving is needed then recreate database as not a clone.
- ORA-01251: Unknown File Header Version read for file number string
- Cause: Read of the file header returned a record but its version cannot be identified. Either the header has been corrupted, or the file is not a valid database file.
- Action: Have the operating system make the correct file available to the database, or recover the file.
- ORA-01252: cannot prevent writes - file string in recovery manager backup
- Cause: An attempt to make a tablespace read only or offline normal found that a recovery manager proxy backup is in progress. If the file is made offline or read-only, then the file header cannot be updated when the backup is complete.
- Action: Wait for the Recovery Manager backup to complete and retry this command.
- ORA-01258: unable to delete temporary file string
- Cause: A DROP TABLESPACE INCLUDING CONTENTS AND DATAFILES or ALTER DATABASE TEMPFILE DROP INCLUDING DATAFILES operation was not able to delete a temporary file in the database.
- Action: Subsequent errors describe the operating system error that prevented the file deletion. Fix the problem, if possible, and manually purge the file.
- ORA-01259: unable to delete datafile string
- Cause: A DROP TABLESPACE INCLUDING CONTENTS AND DATAFILES operation was not able to delete a datafile in the tablespace.
- Action: Subsequent errors describe the operating system error that prevented the file deletion. Fix the problem, if possible, and manually purge the file.
- ORA-01260: warning: END BACKUP succeeded but some files found not to be in backup mode
- Cause: END BACKUP completed successfully for all files that were in online backup mode. However one or more modifiable files were found not to be in online backup mode. Backup of those files (if it was done) can be invalid and, if restored, can result in an inconsistent database.
- Action: Check the alert log for a list of the files that were found not to be in backup mode. If there is a possibility that those files have been modified during online backup, then replace their backups with new ones.
- ORA-01266: Unable to create unique file name
- Cause: Unable to create a unique file name for an Oracle managed file. Oracle tried several names but each file name was already in use in the default destination directory for the file type.
- Action: Retry the operation. If that fails, also, it may be necessary to change the default destination directory for the file type and then retry.
- ORA-01271: Unable to create new file name for file string
- Cause: During standby database recovery an error occurred when trying to create a new file name for the indicated file.
- Action: Use the ALTER DATABASE CREATE DATAFILE command with a new unique name and then resume the standby database recovery.
- ORA-01274: cannot add datafile 'string' - file could not be created
- Cause: Automated standby file management was disabled, so an added file could not automatically be created on the standby. The error from the creation attempt is displayed in another message. The control file file entry for the file is 'UNNAMEDnnnnn'.
- Action: Use the ALTER DATABASE CREATE DATAFILE statement to create the file, or set STANDBY_FILE_MANAGEMENT to AUTO and restart standby recovery.
- ORA-01275: Operation string is not allowed if standby file management is automatic.
- Cause: An operation that renames, adds, or drops a file was attempted at a standby database and STANDBY_FILE_MANAGEMENT was set to AUTO.
- Action: Set STANDBY_FILE_MANAGEMENT to MANUAL if the operation must be performed.
- ORA-01276: Cannot add file string. File has an Oracle Managed Files file name.
- Cause: An attempt was made to add to the database a datafile, log file, control file, snapshot control file, backup control file, datafile copy, control file copy or backuppiece with an Oracle Managed Files file name.
- Action: Retry the operation with a new file name.
- ORA-01288: cannot apply this DDL to the Logminer Dictionary
- Cause: A command that is not supported by Logminer was present in a logfile. Commands that change the character set of the database are not supported by Logminer. "ALTER DATABASE SET TIME_ZONE" is not supported by Logminer.
- Action: Do not execute unsupported commands when using Streams, Logical Standby, or Logminer. Turn off DDL tracking in order for Logminer to skip unsupported commands.
- ORA-01306: dbms_logmnr.start_logmnr() must be invoked before selecting from v$logmnr_contents
- Cause: A select was issued from v$logmnr_contents without first invoking the dbms_logmnr.start_logmnr() procedure.
- Action: Invoke the dbms_logmnr.start_logmnr() procedure before issuing a select from the v$logmnr_contents view.
- ORA-01307: no LogMiner session is currently active
- Cause: A select was issued from v$logmnr_contents without first invoking the dbms_logmnr.start_logmnr() procedure. Otherwise, dbms_logmnr.end_logmnr() was called without a prior call to dbms_logmnr.start_logmnr() or dbms_logmnr.add_logfile()
- Action: Invoke the dbms_logmnr.start_logmnr() procedure before issuing a select from the v$logmnr_contents view.
- ORA-01311: Illegal invocation of the mine_value function
- Cause: An attempt was made to use mine_value function on a column other than redo_value or undo_value columns of SYS.X$LOGMNR_CONTENTS or SYS.V$LOGMNR_CONTENTS fixed table/view.
- Action: Rewrite the SQL statement with a legal invocation of mine_value
- ORA-01312: Specified table/column does not exist
- Cause: The table/column specified in the lcr_mine call does not exist at the the specified SCN. The table/column definition has to exist at the start SCN specified for lcr_mine to be able to identify the table/column correctly.
- Action: Create a LogMiner session at a start SCN at which the table definition is available.
- ORA-01314: Name of the column to be mined should be a string literal
- Cause: The fully qualified name of the column to be mined by the LogMiner functions should be string literal.
- Action: If the fully qualified name of the column to be mined is a.b.c.d, enclose the column name in quotes as in 'a.b.c.d'.
- ORA-01321: No Logminer Dictionary for requested start SCN
- Cause: The requested session start SCN is less than the SCN of any available Logminer Dictionary build. It is not possible to unwind a Logminer Dictionary to the requested start SCN.
- Action: Re-issue the start_logminer request with a start SCN for which a Logminer Dictionary is available.
- ORA-01333: failed to establish Logminer Dictionary
- Cause: No previously established Logminer Dictionary is available and a complete gather of a source system data dictionary was not found in the logstream. build() may not have been run to force the gathering of a source system data dictiony. Or add_log_file() may not have been called to add all log files which contain the complete gathered system data dictionary.
- Action: If build() was not employed prior to this mining session the Logminer Ad Hoc user may elect to employ an alternate dictionary such as the current system catalog or a previously built flat file dictionary. Other Logminer clients must run build() prior to mining. If build() has been run, ensure that all logfiles which comprise the gathered system dictionary have beed added. The following query, run on the system which build() was run, can be helpful in identifying the requried files. select DICTIONARY_BEGIN, DICTIONARY_END, name from v$archived_log; Minimally a set of files beginning with one which has DICTIONARY_BEGIN = 'YES' and all following log files through one marked DICTIONARY_END = 'YES' must be added.
- ORA-01342: LogMiner can not resume session due to inability of staging checkpointed data
- Cause: Logmnr can not resume session because there is not enough SGA memory available to read in checkpointed data. Logminer periodically checkpoints data to enable faster crash recovery.
- Action: Specify a bigger max_sga for the given LogMiner session and try again.
- ORA-01347: Supplemental log data no longer found
- Cause: The source database instance producing log files for this LogMiner session was altered to no longer log supplemental data.
- Action: Destroy this Logminer session. Re-enable supplemental log data on the source system and create a new LogMiner session.
- ORA-01351: tablespace given for Logminer dictionary does not exist
- Cause: The tablespace name given as a parameter to DBMS_LOGMNR_D.SET_TABLESPACE does not exist.
- Action: Check spelling of the tablespace name. If spelling is correct verify that the named tablespace has already been created. DBMS_LOGMNR_D.SET_TABLESPACE does not create a tablespace.
- ORA-01352: tablespace given for Logminer spill does not exist
- Cause: The tablespace name given as the parameter to DBMS_LOGMNR_D.SET_TABLESPACE does not exist.
- Action: Check spelling of the tablespace name. If spelling is correct verify that the named tablespace has already been created. DBMS_LOGMNR_D.SET_TABLESPACE does not create a tablespace.
- ORA-01353: existing Logminer session
- Cause: An attempt was made to execute DBMS_LOGMNR_D.SET_TABLESPACE while a Logminer session(s) was active.
- Action: First cause all Logminer sessions to be closed. A Logminer session can exist as a result of executing DBMS_LOGMNR.START_LOGMNR or as the result of using Oracle features such as Data Guard SQL Apply or Streams which use Logminer. Next, execute DBMS_LOGMNR_D.SET_TABLESPACE.
- ORA-01354: Supplemental log data must be added to run this command
- Cause: An attempt was made to perform an operation that required that supplemental log data be enabled.
- Action: Execute a command such as ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; and then reissue the command that failed with this error.
- ORA-01358: LogMiner version is less than mined dictionary version
- Cause: An attempt was made to mine a LogMiner dictionary from redo logs. The version of the Oracle database that created the logs was higher than the Oracle database version that attempted to mine the logs.
- Action: Mine the logs using a newer version of the Oracle database having a version number that is equal to or greater than the dictionary version.
- ORA-01361: global name mismatch
- Cause: The database global name where the log file was generated did not match the user-specified global name of the Streams Capture process.
- Action: Start a new capture process and ensure that the user-specified global name matches that of the database that generated the log file.
- ORA-01373: insufficient memory for staging persistent LogMiner session
- Cause: The maximum number of concurrent persistent LogMiner sessions allowed is limited by LOGMNR_MAX_PERSISTENT_SESSIONS parameter. Not enough memory has been set aside at instance startup to allocate the new LogMiner session.
- Action: Increase LOGMNR_MAX_PERSISTENT_SESSIONS and restart instance.
- ORA-01409: NOSORT option may not be used; rows are not in ascending order
- Cause: Creation of index with NOSORT option when rows were not ascending. For non-unique indexes the rowid is considered part of the index key. Therefore, if you create an index nosort and two of the rows in the table have the same key and are stored in ascending order, but get split accross two extents where the dba of the first block in the second extent is less than the dba of the last block in the first extent, then the create index nosort may fail.
- Action: Create the index without the NOSORT option, or ensure table is stored in one extent.
- ORA-01438: value larger than specified precision allowed for this column
- Cause: When inserting or updating records, a numeric value was entered that exceeded the precision defined for the column.
- Action: Enter a value that complies with the numeric column's precision, or use the MODIFY option with the ALTER TABLE command to expand the precision.
- ORA-01463: cannot modify column datatype with current constraint(s)
- Cause: An attempt was made to modify the datatype of column which has referential constraints; or has check constraints which only allows changing the datatype from CHAR to VARCHAR or vise versa.
- Action: Remove the constraint(s) or do not perform the offending operation.
- ORA-01485: compile bind length different from execute bind length
- Cause: You bound a buffer of type DTYVCS (VARCHAR with the two byte length in front) and at execute time the length in the first two bytes is more than the maximum buffer length (given in the bind call). The number of elements in the array and the current number of elements in the array cannot be more than the maximum size of the array.
- Action: None
- ORA-01497: illegal option for ANALYZE CLUSTER
- Cause: The FOR COLUMNS
clause may not be used with ANALYZE CLUSTER. - Action: Retry with a legal syntax.
- ORA-01500: failure in getting date/time
- Cause: During create database or alter tablespace, there was a failure in getting the date and time.
- Action: Contact your customer support representative.
- ORA-01502: index 'string.string' or partition of such index is in unusable state
- Cause: An attempt has been made to access an index or index partition that has been marked unusable by a direct load or by a DDL operation
- Action: DROP the specified index, or REBUILD the specified index, or REBUILD the unusable index partition
- ORA-01507: database not mounted
- Cause: A command was attempted that requires the database to be mounted.
- Action: If you are using the ALTER DATABASE statement via the SQLDBA startup command, specify the MOUNT option to startup; else if you are directly doing an ALTER DATABASE DISMOUNT, do nothing; else specify the MOUNT option to ALTER DATABASE. If you are doing a backup or copy, you must first mount the desired database. If you are doing a FLASHBACK DATABASE, you must first mount the desired database.
- ORA-01516: nonexistent log file, datafile, or tempfile "string"
- Cause: An attempt was made to use ALTER DATABASE to rename a log file, datafile, or tempfile; or to change attributes of a datafile or tempfile (e.g., resize, autoextend, online/offline, etc.); or to re-create a datafile. The attempt failed because the specified file is not known to the database's control file or is not of a type supported by the request.
- Action: Specify the name or number of an existing file of the correct type, as appropriate. Check the relevant V$ table for a list of possible files.
- ORA-01530: a database already mounted by the instance
- Cause: During ALTER DATABASE MOUNT, an attempt is being made to mount a database on an instance in which a database is or has previously been mounted.
- Action: If you wish to mount the database, shutdown the instance and then startup the instance and retry the operation.
- ORA-01531: a database already open by the instance
- Cause: During ALTER DATABASE, an attempt was made to open a database on an instance for which there is already an open database.
- Action: If you wish to open a new database on the instance, first shutdown the instance and then startup the instance and retry the operation.
- ORA-01532: cannot create database; instance being started elsewhere
- Cause: During CREATE DATABASE, another user appears to be simultaneously altering the instance.
- Action: Make sure no one else is simultaneously altering the instance. If no one is, contact your customer support representative; otherwise, retry the operation.
- ORA-01536: space quota exceeded for tablespace 'string'
- Cause: The space quota for the segment owner in the tablespace has been exhausted and the operation attempted the creation of a new segment extent in the tablespace.
- Action: Either drop unnecessary objects in the tablespace to reclaim space or have a privileged user increase the quota on this tablespace for the segment owner.
- ORA-01538: failed to acquire any rollback segment
- Cause: Failed to acquire any rollback segment during startup in shared mode
- Action: Startup in exclusive mode to create one more public segment or specify available private segments in the INIT.ORA parameter rollback_segments_required, then startup in shared mode
- ORA-01539: tablespace 'string' is not online
- Cause: Failed to either make a tablespace read only or offline because it is not online. A tblespace must be online before it can become read only or offline normal.
- Action: Check the status of the tablespace. Use IMMEDIATE or TEMPORARY options to force all files offline. Bring the tablespace online before making it read only.
- ORA-01545: rollback segment 'string' specified not available
- Cause: Either: 1) An attempt was made to bring a rollback segment online that is unavailable during startup; for example, the rollback segment is in an offline tablespace. 2) An attempt was made to bring a rollback segment online that is already online. This is because the rollback segment is specified twice in the ROLLBACK_SEGMENTS parameter in the initialization parameter file or the rollback segment is already online by another instance. 3) An attempt was made to drop a rollback segment that is currently online. 4) An attempt was made to alter a rollback segment that is currently online to use unlimited extents. 5) An attempt was made to online a rollback segment that is corrupted. This is because the rollback is specified in _corrupted_rollback_segments parameter in initialization parameter file.
- Action: Either: 1) Make the rollback segment available; for example, bring an offline tablespace online. 2) Remove the name from the ROLLBACK_SEGMENTS parameter if the name is a duplicate or if another instance has already acquired the rollback segment. 3) Bring the rollback segment offline first. This may involve waiting for the active transactions to finish, or, if the rollback segment needs recovery, discover which errors are holding up the rolling back of the transactions and take appropriate actions. 4) Same as 3). 5) Remove the name from the _corrupted_rollback_segments parameter.
- ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
- Cause: Media recovery with one of the incomplete recovery options ended without error. However, if the ALTER DATABASE OPEN RESETLOGS command were attempted now, it would fail with the specified error. The most likely cause of this error is forgetting to restore one or more datafiles from a sufficiently old backup before executing the incomplete recovery.
- Action: Rerun the incomplete media recovery using different datafile backups, a different control file, or different stop criteria.
- ORA-01552: cannot use system rollback segment for non-system tablespace 'string'
- Cause: Tried to use the system rollback segment for operations involving non-system tablespace. If this is a clone database then this will happen when attempting any data modification outside of the system tablespace. Only the system rollback segment can be online in a clone database.
- Action: Create one or more private/public segment(s), shutdown and then startup again. May need to modify the INIT.ORA parameter rollback_segments to acquire private rollback segment. If this is a clone database being used for tablspace point in time recovery then this operation is not allowed. If the non-system tablespace has AUTO segment space management, then create an undo tablespace.
- ORA-01555: snapshot too old: rollback segment number string with name "string" too small
- Cause: rollback records needed by a reader for consistent read are overwritten by other writers
- Action: If in Automatic Undo Management mode, increase undo_retention setting. Otherwise, use larger rollback segments
- ORA-01562: failed to extend rollback segment number string
- Cause: Failure occurred when trying to extend rollback segment
- Action: This is normally followed by another error message that caused the failure. You may take the rollback segment offline to perform maintainence. Use the alter rollback segment offline command to take the rollback segment offline.
- ORA-01567: dropping log string would leave less than 2 log files for instance string (thread string)
- Cause: Dropping all the logs specified would leave fewer than the required two log files per enabled thread.
- Action: Either drop fewer logs or disable the thread before deleting the logs. It may be possible to clear the log rather than drop it.
- ORA-01571: redo version string incompatible with ORACLE version string
- Cause: This software version can not read the current redo logs, and either crash recovery is required or there are offline database files that need media recovery. If a file name is listed then it needs media recovery.
- Action: Shutdown and startup using the compatible software. Do any required media recovery, and open the database. Shutdown and then startup using current software. If the file is going to be dropped then take it offline with the DROP option to skip this check.
- ORA-01578: ORACLE data block corrupted (file # string, block # string)
- Cause: The data block indicated was corrupted, mostly due to software errors.
- Action: Try to restore the segment containing the block indicated. This may involve dropping the segment and recreating it. If there is a trace file, report the errors in it to your ORACLE representative.
- ORA-01581: attempt to use rollback segment (string) new extent (string) which is being allocated
- Cause: Undo generated to extend a rollback segment run out of current undo block space and is attempting to write into the new extent which has not been completely allocated.
- Action: The rollback segment extending will be rollbacked by the system, no more extension will be possible untill the next extent is freed up by rolling back or committing other transactions.
- ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
- Cause: Either incomplete or backup control file recovery has been performed. After these types of recovery you must specify either the RESETLOGS option or the NORESETLOGS option to open your database.
- Action: Specify the appropriate option.
- ORA-01591: lock held by in-doubt distributed transaction string
- Cause: Trying to access resource that is locked by a dead two-phase commit transaction that is in prepared state.
- Action: DBA should query the pending_trans$ and related tables, and attempt to repair network connection(s) to coordinator and commit point. If timely repair is not possible, DBA should contact DBA at commit point if known or end user for correct outcome, or use heuristic default if given to issue a heuristic commit or abort command to finalize the local portion of the distributed transaction.
- ORA-01592: error converting Version 7 rollback segment (string) to Oracle 8 format
- Cause: Look at the accompanying internal error; Version 7 database may not have shutdown cleanly.
- Action: Investigate the internal error; may have to reload the Version 7 database (from backup) and shutdown the database cleanly.
- ORA-01594: attempt to wrap into rollback segment (string) extent (string) which is being freed
- Cause: Undo generated to free a rollback segment extent is attempting to write into the same extent due to small extents and/or too many extents to free
- Action: The rollback segment shrinking will be rollbacked by the system; increase the optimal size of the rollback segment.
- ORA-01609: log string is the current log for thread string - cannot drop members
- Cause: A member of the current log for a thread cannot be dropped.
- Action: If the thread is opened, request a log switch by the instance that is using it. If it is not open, disable the thread, manually archive the log, or clear it.
- ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
- Cause: Either an earlier database recovery session specified BACKUP CONTROLFILE, or the control file was recreated with the RESETLOGS option, or the control file being used is a backup control file. After that only BACKUP CONTROLFILE recovery is allowed and it must be followed by a log reset at the next database open.
- Action: Perform recovery using the BACKUP CONTROFILE option.
- ORA-01611: thread number string is invalid - must be between 1 and string
- Cause: A thread number in a command is greater than the number of threads supported by the control file.
- Action: Use a thread number that is valid, or resize the thread record and/or checkpoint progress record sections of the control file.
- ORA-01614: instance string (thread string) is busy - cannot enable
- Cause: The mount enqueue for the thread could not be acquired when attempting to enable the thread. This probably means that another process has already started enabling this thread.
- Action: Wait and try again, or find another thread to enable.
- ORA-01616: instance string (thread string) is open - cannot disable
- Cause: The thread is not closed. The last instance to use the thread died leaving the thread open. A thread cannot be disabled until it is closed. It is still required for crash or instance recovery.
- Action: If the database is open, instance recovery should close the thread soon - wait a few minutes. Otherwise open the database - crash recovery will close the thread.
- ORA-01617: cannot mount: string is not a valid thread number
- Cause: The INIT.ORA parameter "thread" is not between 1 and the number of threads allowed by the control file.
- Action: Shut down the instance, change the INIT.ORA parameter and startup, or resize the thread record and/or checkpoint progress record sections of the control file.
- ORA-01618: redo thread string is not enabled - cannot mount
- Cause: The INIT.ORA parameter "thread" requests a thread that is not enabled. A thread must be enabled before it can be mounted.
- Action: Shutdown the instance, change the INIT.ORA parameter and startup mounting a different thread. If the database is open in another instance then the thread may be enabled.
- ORA-01620: no public threads are available for mounting
- Cause: The INIT.ORA parameter "thread" is zero, its default value. There are no threads which have been publicly enabled, and not mounted.
- Action: Shutdown the instance, change the INIT.ORA parameter to a thread which is privately enabled and not mounted. If the database is open in another instance, then a thread may be publicly enabled.
- ORA-01621: cannot rename member of current log if database is open
- Cause: This is a rename command for a member of the current log for an open thread. If the database is open anywhere, the log may be in use, so the rename cannot be done.
- Action: Wait until the log is not current, or mount the database exclusively.
- ORA-01622: thread number must be specified - default not specific
- Cause: The thread was not specified when adding a log, and the currently mounted thread was chosen by default at mount time. Since the current thread was not specified explicitly the user cannot know which thread the log will be added to.
- Action: Explicitly specify the thread number either in the INIT.ORA parameter "thread", or in the add command.
- ORA-01623: log string is current log for instance string (thread string) - cannot drop
- Cause: A thread's current log cannot be dropped even if the thread is closed. A disabled thread usually does not have a current log, but a half completed disable may need to be disabled again.
- Action: If the database is not open then disable the thread. If the database is open and an instance has the thread open, then the instance can be requested to switch logs. If the database is closed the log can be archived or cleared to force a switch.
- ORA-01624: log string needed for crash recovery of instance string (thread string)
- Cause: A log cannot be dropped or cleared until the thread's checkpoint has advanced out of the log.
- Action: If the database is not open, then open it. Crash recovery will advance the checkpoint. If the database is open force a global checkpoint. If the log is corrupted so that the database cannot be opened, it may be necessary to do incomplete recovery until cancel at this log.
- ORA-01638: parameter string does not allow ORACLE version string to mount cluster database
- Cause: The recovery compatible parameter is set too low to allow this software version to mount in cluster database mode.
- Action: Either use an earlier software release or advance the recovery_compatible parameter. If this happens when no recovery_compatible parameter has been specified then set it to the current software release.
- ORA-01639: instance string has no thread assigned to it
- Cause: There is no mapping from instance to thread for this instance in the control file.
- Action: Make sure that this instance has a thread assigned to it by adding logfiles to this instance or by starting the instance with an existing thread which will automatically create a mapping.
- ORA-01640: cannot make tablespace read only with active transactions
- Cause: Attempting to make a tablespace read only while there are active transactions in the database. All transactions must commit or rollback to insure that there is no undo for a tablespace before it can be made read only. This includes in doubt distributed transactions.
- Action: Prevent any more transactions from being started. Putting the database in restricted mode usually helps. If there are any in doubt transactions they must also be resolved.
- ORA-01645: previous attempt to make read write is half complete
- Cause: A failure while making the tablespace read write left it read only, but the checkpoint was advanced. The tablespace will not be useable after a resetlogs if its files are offline.
- Action: Repeat the command to make the tablespace read write.
- ORA-01648: log string is the current log of disabled instance string (thread string)
- Cause: An attempt to enable the thread failed after it was half completed. This log was left as the current log even though the thread is still disabled. Since a log switch cannot be done until the thread is enabled, the log can not be cleared or archived.
- Action: Complete the thread enable by issuing the enable command again.
- ORA-01651: unable to extend save undo segment by string for tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for saving undo entries for the indicated offline tablespace.
- Action: Check the storage parameters for the SYSTEM tablespace. The tablespace needs to be brought back online so the undo can be applied.
- ORA-01653: unable to extend table string.string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for a table segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01654: unable to extend index string.string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for an index segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01655: unable to extend cluster string.string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for a cluster segment in tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01658: unable to create INITIAL extent for segment in tablespace string
- Cause: Failed to find sufficient contiguous space to allocate INITIAL extent for segment being created.
- Action: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the tablespace or retry with a smaller value for INITIAL
- ORA-01659: unable to allocate MINEXTENTS beyond string in tablespace string
- Cause: Failed to find sufficient contiguous space to allocate MINEXTENTS for the segment being created.
- Action: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the tablespace or retry with smaller value for MINEXTENTS, NEXT or PCTINCREASE
- ORA-01668: standby database requires DROP option for offline of data file
- Cause: Attempting to take a datafile offline in a standby database without specifying the DROP option. Files that are offline in a standby database are not recovered, and are likely to be unusable if the standby is activated. Note that specifying DROP does not prevent bringing the file online later.
- Action: Specify the DROP option or leave the file online.
- ORA-01669: standby database control file not consistent
- Cause: Attempting to activate a standby database with a control file that has not been recovered to the same point as the data files. Most likely the control file was just copied from the primary database and has not been used for recovery.
- Action: Recover the standby database until all the files are consistent.
- ORA-01670: new datafile string needed for standby database recovery
- Cause: Standby database recovery noticed that a file was added to the primary database, but is not available on the standby.
- Action: Either copy the file from the primary database or do an ALTER DATABASE CREATE DATAFILE command on the standby to create a file to recover.
- ORA-01672: control file may be missing files or have extra ones
- Cause: Attempting to create a standby control file, but the control file was either recently created via CREATE CONTROLFILE or an incomplete recovery has been done. Thus the datafiles in the control file and the ones in the data dictionary may not match.
- Action: Open the database, then retry the operation.
- ORA-01673: data file string has not been identified
- Cause: This data file was not in the control file after an incomplete recovery or CREATE CONTROLFILE. Since information from its header is needed for standby database recovery, we can not create a standby control file.
- Action: Find the file and bring it online. If desired it may be taken offline again. If you intend to drop this file, then taking it offline with the DROP option will avoid this error.
- ORA-01674: data file string is an old incarnation rather than current file
- Cause: Recovery encountered redo that indicates this file was dropped from the database and another file was added using the same file number. This implies that a CREATE CONTROLFILE command was given the old file which was dropped rather than the latest file.
- Action: Rebuild the control file using CREATE CONTROLFILE, and give the correct file.
- ORA-01676: standby file name convert of 'string' exceeds maximum length of string
- Cause: When the given file name is converted to the name used for the standby database, the converted name is bigger than the maximum allowed file name.
- Action: Change initialization parameter DB_FILE_STANDBY_NAME_CONVERT or LOG_FILE_STANDBY_NAME_CONVERT to convert to a valid file name.
- ORA-01677: standby file name convert parameters differ from other instance
- Cause: The DB_FILE_STANDBY_NAME_CONVERT or LOG_FILE_STANDBY_NAME_CONVERT initialization parameters are not the same as in other instances that already have the database mounted.
- Action: Change initialization parameters DB_FILE_STANDBY_NAME_CONVERT and LOG_FILE_STANDBY_NAME_CONVERT to match other instances.
- ORA-01678: parameter string must be pairs of pattern and replacement strings
- Cause: The initialization parameter does not have even number of strings for its value. The odd numbered strings are patterns to be found in file names. The even numbered strings are used to replace the corresponding patterns when found in file names.
- Action: Specify even number of strings for the parameter, or omit the parameter.
- ORA-01682: read-only DB cannot allocate temporary space in tablespace string
- Cause: Temporary space (usually for sorting) could not be allocated in either main storage or a tempfile. An attempt was made to allocate the space from the tablespace named, but the database is opened read-only. The database open requires a sort work space.
- Action: Either allow sufficient workspace in main storage (SORT_AREA_SIZE initialization parameter), or create a temporary tablespace before making the database read-only. Use ALTER TABLESPACE ADD TEMPFILE statement to add temporary files to the temporary tablespace.
- ORA-01683: unable to extend index string.string partition string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for index segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01688: unable to extend table string.string partition string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for table segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01691: unable to extend lob segment string.string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for LOB segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01692: unable to extend lob segment string.string partition string by string in tablespace string
- Cause: Failed to allocate an extent of the required number of blocks for LOB segment in the tablespace indicated.
- Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
- ORA-01696: control file is not a clone control file
- Cause: Attempting to mount, a database as a clone when it is already mounted by another instance not as a clone or attempting to use a current control file for a clone.
- Action: Mount without the clone option or use a backup control file and shutdown the other instances before mounting as a clone.
- ORA-01743: only pure functions can be indexed
- Cause: The indexed function uses SYSDATE or the user environment.
- Action: PL/SQL functions must be pure (RNDS, RNPS, WNDS, WNPS). SQL expressions must not use SYSDATE, USER, USERENV(), or anything else dependent on the session state. NLS-dependent functions are OK.
- ORA-01754: a table may contain only one column of type LONG
- Cause: An attempt was made to add a LONG column to a table which already had a LONG column. Note that even if the LONG column currently in the table has already been marked unused, another LONG column may not be added until the unused columns are dropped.
- Action: Remove the LONG column currently in the table by using the ALTER TABLE command.
- ORA-01761: DML operation does not map to a unique table in the join
- Cause: The primary table is the base table against which the update, insert or delete operation is finally being done. For delete either there is no primary table in the join query or there is more than one. For update or insert the columns specified map to more than one base table.
- Action: Change the join specification.
- ORA-01763: update or delete involves outer joined table
- Cause: For deletes, the table being deleted from is outer joined to some other table. For updates, either the table being updated is outer- joined to some other table, or some table reachable from the primary table is being outer joined to a table not reachable from the primary table.
- Action: Change the join specification.
- ORA-01771: illegal option for a clustered table
- Cause: During a CREATE or ALTER of a clustered table, the user attempted to enter one or more of the following options: INITRANS, MAXTRANS, PCTFREE, PCTUSED, STORAGE, TABLESPACE. These options may only be specified for the cluster itself.
- Action: Remove the illegal option(s).
- ORA-01783: only one RECOVERABLE or UNRECOVERABLE clause may be specified
- Cause: RECOVERABLE was specified more than once, UNRECOVERABLE was specified more than once, or both RECOVERABLE and UNRECOVERABLE were specified in a CREATE TABLE or CREATE INDEX or ALTER INDEX REBUILD statement.
- Action: Remove all but one of the RECOVERABLE or UNRECOVERABLE clauses and reissue the statement.
- ORA-01784: RECOVERABLE cannot be specified with database media recovery disabled
- Cause: A CREATE TABLE or CREATE INDEX statement specified RECOVERABLE when the database was running in NOARCHIVELOG mode. Since logs are not being archived, they will be overwritten and the object being created cannot be recovered from a backup taken before the object was created.
- Action: Do not specify RECOVERABLE, or restart the database with media recovery enabled.
- ORA-01792: maximum number of columns in a table or view is 1000
- Cause: An attempt was made to create a table or view with more than 1000 columns, or to add more columns to a table or view which pushes it over the maximum allowable limit of 1000. Note that unused columns in the table are counted toward the 1000 column limit.
- Action: If the error is a result of a CREATE command, then reduce the number of columns in the command and resubmit. If the error is a result of an ALTER TABLE command, then there are two options: 1) If the table contained unused columns, remove them by executing ALTER TABLE DROP UNUSED COLUMNS before adding new columns; 2) Reduce the number of columns in the command and resubmit.
- ORA-01858: a non-numeric character was found where a numeric was expected
- Cause: The input data to be converted using a date format model was incorrect. The input data did not contain a number where a number was required by the format model.
- Action: Fix the input data or the date format model to make sure the elements match in number and type. Then retry the operation.
- ORA-01859: a non-alphabetic character was found where an alphabetic was expected
- Cause: The input data to be converted using a date format model was incorrect. The input data did not contain a letter where a letter was required by the format model.
- Action: Fix the input data or the date format model to make sure the elements match in number and type. Then retry the operation.
- ORA-01861: literal does not match format string
- Cause: Literals in the input must be the same length as literals in the format string (with the exception of leading whitespace). If the "FX" modifier has been toggled on, the literal must match exactly, with no extra whitespace.
- Action: Correct the format string to match the literal.
- ORA-01862: the numeric value does not match the length of the format item
- Cause: When the FX and FM format codes are specified for an input date, then the number of digits must be exactly the number specified by the format code. For example, 9 will not match the format specifier DD but 09 will.
- Action: Correct the input date or turn off the FX or FM format specifier in the format string.
- ORA-01914: invalid auditing option for sequence numbers
- Cause: AUDIT or NOAUDIT on a sequence number specifies an auditing option that is not legal for sequence numbers.
- Action: The following options may not be used for sequence numbers and should be removed: COMMENT, DELETE, INDEX, INSERT, LOCK, RENAME, UPDATE, REFERENCES, EXECUTE
- ORA-01984: invalid auditing option for procedures/packages/functions
- Cause: AUDIT or NOAUDIT on a DEFAULT specifies an auditing option that is not legal for procedures, packages, or functions.
- Action: The following options may not be used for procedures, packages, and functions and should be removed: all but EXECUTE
- ORA-01994: GRANT failed: password file missing or disabled
- Cause: The operation failed either because the INIT.ORA parameter REMOTE_LOGIN_PASSWORDFILE was set to NONE or else because the password file was missing.
- Action: Create the password file using the orapwd tool and set the INIT.ORA parameter REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE.
- ORA-02021: DDL operations are not allowed on a remote database
- Cause: An attempt was made to use a DDL operation on a remote database. For example, "CREATE TABLE tablename@remotedbname ...".
- Action: To alter the remote database structure, you must connect to the remote database with the appropriate privileges.
- ORA-02022: remote statement has unoptimized view with remote object
- Cause: The local view is unoptimized and contains references to objects at the remote database and the statement must be executed at the remote database.
- Action: Create a similar view on the remote database and modify the violating view in the SQL statement with the new view@remote.
- ORA-02036: too many variables to describe with automatic cursor open
- Cause: User requested that the UPI bundled execution call perform automatic cursor open and close on a describe operation. There were too many select-list items or bind variables to do this.
- Action: open and close cursor explicitly
- ORA-02037: uninitialized speed bind storage
- Cause: User attempted a UPI bundled execution call containing a standalone execute operation without first performing a UPI bundled execution call containing a bind operation.
- Action: perform a UPI bundled execution call with bind before performing a bundled execution call with execute
- ORA-02040: remote database string does not support two-phase commit
- Cause: the database was potentially updated but does not support prepare to commit (as determined by its logon transaction traits). The transaction was rolled back.
- Action: Do not attempt to update the remote database unless it is the only database updated in one transaction.
- ORA-02042: too many distributed transactions
- Cause: the distributed transaction table was full because too many distributed transactions were active.
- Action: Run fewer transactions. If you are sure you don't have too many concurrent distributed transactions, this indicates an internal error and support should be notified. Instance shutdown/restart would be a work-around.
- ORA-02043: must end current transaction before executing string
- Cause: a transaction is in progress and one of the following commands commands is issued: COMMIT FORCE, ROLLBACK FORCE, or ALTER SYSTEM ENABLE DISTRIBUTED RECOVERY in single process mode.
- Action: COMMIT or ROLLBACK the current transaction and resubmit command.
- ORA-02047: cannot join the distributed transaction in progress
- Cause: Either a transaction is in progress against a remote database that does not fully support two phase commit, and an update is attempted on another database, or updates are pending and and an attempt is made to update a different database that does not fully support two phase commit.
- Action: complete the current transaction and then resubmit the update request.
- ORA-02051: another session in same transaction failed
- Cause: a session at the same site with same global transaction ID failed; It can also be caused by application error if an attempt was made to update database while another tightly coupled transaction branch with same global transaction ID has been finalized.
- Action: none necessary, transaction automatically recovered. In case of application error, make sure no more updates to database once transaction manager has started two-phase commit for tightly coupled distributed transaction.
- ORA-02055: distributed update operation failed; rollback required
- Cause: a failure during distributed update operation may not have rolled back all effects of the operation. Since some sites may be inconsistent, the transaction must roll back to a savepoint or entirely
- Action: rollback to a savepoint or rollback transaction and resubmit
- ORA-02064: distributed operation not supported
- Cause: One of the following unsupported operations was attempted: 1. array execute of a remote update with a subquery that references a dblink, or
2. an update of a long column with bind variable and an update of a second column with a subquery that both references a dblink and a bind variable, or
3. a commit is issued in a coordinated session from an RPC procedure call with OUT parameters or function call. - Action: simplify remote update statement
- ORA-02067: transaction or savepoint rollback required
- Cause: A failure (typically a trigger or stored procedure with multiple remote updates) occurred such that the all-or-nothing execution of a previous Oracle call cannot be guaranteed.
- Action: rollback to a previous savepoint or rollback the transaction and resubmit.
- ORA-02075: another instance changed state of transaction string
- Cause: A commit force or rollback force was issued from a session in another instance.
- Action: Check if another Oracle instance is performing recovery of pending transactions. Query DBA_2PC_PENDING to determine the new state of the transaction.
- ORA-02087: object locked by another process in same transaction
- Cause: A database link is being used in the cluster database environment that loops back to the same instance. One session is trying to convert a lock that was obtained by the other session.
- Action: Get the more restrictive lock first. For example, if session 1 gets a share lock and session 2 gets an exclusive lock on the same object, get the exclusive lock first. Or, simply use the same session to access the object.
- ORA-02092: out of transaction table slots for distributed transaction
- Cause: The transaction is assigned to the system rollback segment and is trying to get into the PREPARED state, but the required number of non-PREPARED slots are not available, hence the transaction is rolled back.
- Action: Add a rollback segment and retry the transaction.
- ORA-02094: replication option not installed
- Cause: The replication option was not installed at this site. Updatable materialized views, deferred RPCs, and other replication features were, therefore, unavailable.
- Action: Install the replication option. The replication option is not part of the Oracle Server product and must be purchased separately. Contact an Oracle Sales representative if the replication option needs to be purchased.