ORA-01500 to ORA-02098
-
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, data file, or temporary file "string"
-
Cause: An attempt was made to use ALTER DATABASE to rename a log file, data file, or temporary file; or to change attributes of a data file or temporary file (for example, resize, autoextend, online or offline); or to re-create or move a data file. 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 changes by in-doubt transactions
-
Cause: An attempt was made to alter a tablespace read-only while there were changes in the tablespace made by in-doubt distributed transactions. The in-doubt transactions must commit or rollback to ensure that there is no undo for a tablespace before it can be made read-only.
-
Action: Any in-doubt transactions that made changes to the tablespace must 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-01720: grant option does not exist for 'string.string'
-
Cause: A grant was being performed on a view or a view was being replaced and the grant option was not present for an underlying object.
-
Action: Obtain the grant option on all underlying objects of the view or revoke existing grants on the view.
-
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-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
-
Cause: An attempt was made to select FOR UPDATE from a view which had not been merged because the view used syntax (for example, DISTINCT or GROUP BY) preventing the merge, or because of initialization file parameter settings.
-
Action: Determine the reason the view will not merge and, if possible, make changes so that it can.
-
ORA-02015: cannot select FOR UPDATE from remote table
-
Cause: An attempt was made to select FOR UPDATE on a remote table (directly, or via a view) that had abstract data type columns, and the view or select list contained abstract data type columns or non-column items.
-
Action: To attempt a select FOR UPDATE, use a view or select list that consists only of base columns from the remote table, none of which may be abstract data type columns.
-
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 or branch in same transaction failed or finalized
-
Cause: A session at the same site with the same global transaction ID failed. The failure could also be caused by an application error if an attempt was made to update the database while another tightly coupled transaction branch with the same global transaction ID was finalized or aborted.
-
Action: No action necessary as the transaction will be automatically recovered. In the case of an application error, make sure there are no more updates to the database once the 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.