Oracle8 Error Messages Release 8.0.4 A58312-01 |
Library | Product | Contents | Index

## 02040-02099: Distributed Transactions Messages

This section lists messages generated during distributed transactions. See also 00160-00199: Distributed Transaction Messages on page -16.

##### ORA-02040: remote database name does not support two-phase commit

Cause: A distributed update of more than one database was attempted, but the named database does not support the prepare phase of the two-phase commit, as determined by its logon transaction traits. The transaction was rolled back.

Action: Do not attempt to update the named database, unless it is the only database updated in the transaction. Distributed updates of more than one database in a single transaction can be performed only if all databases support the two-phase commit mechanism.

##### ORA-02041: client database did not begin a transaction

Cause: An update occurred at a coordinated database without the coordinator beginning a distributed transaction. This may happen if a stored procedure commits and then performs updates, and the stored procedure is invoked remotely. It could also happen if an external transaction monitor violates the XA protocol.

Action: If the cause is the former, check that any commit is not followed by an update.

##### ORA-02042: too many distributed transactions

Cause: The distributed transaction table is full because too many distributed transactions are active.

Action: Increase the DISTRIBUTED_TRANSACTIONS parameter in the initialization parameter file, shut down and restart Oracle, or run fewer transactions. If it is certain there are not too many concurrent distributed transactions, this may be an internal error. In this case, contact customer support. Shutting down and restarting the instance could be a work-around.

##### ORA-02043: must end current transaction before executing command

Cause: A transaction is in progress and one of the following 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 retry the command.

##### ORA-02044: transaction manager login denied: transaction in progress

Cause: A remote transaction manager tried to log in while a distributed transaction is in progress. A protocol error occurred in the remote transaction manager.

Action: End the current transaction.

##### ORA-02045: too many local sessions participating in global transactions

Cause: There are too many sessions at this site to accommodate this transaction.

Action: Use an existing database link so that another session need not be created at the remote site.

##### ORA-02046: distributed transaction already begun

Cause: This is an internal error not normally encountered. A server session received a BEGIN_TRAN remote procedure call before finishing with a previous distributed transaction.

Action: Contact customer support.

##### ORA-02047: cannot join the distributed transaction in progress

Cause: This can happen only when attempting to update an Oracle Version 6 and an Oracle7 database in the same transaction, because either

- A transaction is in progress against a remote database that does not support two-phase commit.
- Updates are pending and an attempt was made to update a different database that does not support two-phase commit.

Action: Complete the current transaction before attempting the action that caused the error.

##### ORA-02048: attempt to begin distributed transaction without logging on

Cause: The client program did not issue a distributed transaction login.

Action: This is an internal error, contact customer support.

##### ORA-02049: time-out: distributed transaction waiting for lock

Cause: The time to wait on a lock in a distributed transaction has been exceeded. This time is specified in the initialization parameter DISTRIBUTED_LOCK_TIMEOUT.

Action: This situation is treated as a deadlock and the statement was rolled back. To set the time-out interval to a longer interval, adjust the initialization parameter DISTRIBUTED_LOCK_TIMEOUT, then shut down and restart the instance.

##### ORA-02050: transaction num rolled back, some remote DBs may be in-doubt

Cause: There was a network failure or a remote failure during the two-phase commit.

Action: Notify the database administrator. The remote databases will automatically resynchronize when the failure is repaired.

##### ORA-02051: another session in same transaction failed

Cause: A session at the same site with the same global transaction identification failed.

Action: No action is necessary; the transaction will automatically recover.

##### ORA-02052: remote transaction failure at name

Cause: There was some error in a remote transaction at the named database link.

Action: More descriptive messages will follow. Correct the problem specified in the following messages and retry the operation.

##### ORA-02053: transaction num committed, some remote DBs may be in-doubt

Cause: There was a network failure or a remote failure during the two-phase commit.

Action: Notify the database administrator. The remote databases will resynchronize automatically when the failure is repaired.

##### ORA-02054: transaction num in-doubt

Cause: There was a network failure or a remote failure in the two-phase commit.

Action: Notify the database administrator. The remote databases will resynchronize automatically when the failure is repaired. Monitor the DBA_2PC_INDOUBT and DBA_2PC_INCONSISTENT tables for the outcome and resubmit the transaction, if necessary.

##### ORA-02055: distributed update operation failed; rollback required

Cause: A failure during a distributed update operation may not have rolled back all effects of the operation. Since some sites may be inconsistent with others, the transaction must roll back to a savepoint or roll back entirely.

Action: Roll back to a savepoint or roll back the entire transaction and resubmit the rolled-back statements.

##### ORA-02056: 2PC: str: bad two-phase command number num from name

Cause: There was a two-phase commit protocol error.

Action: The transaction may automatically recover. Monitor the DBA_2PC_INDOUBT and DBA_2PC_INCONSISTENT tables to determine the resolution. Enter the transaction again, if necessary. Contact customer support, if necessary.

##### ORA-02057: 2PC: str: bad two-phase recovery state number num from name

Cause: An internal error in the two-phase recovery protocol occurred.

Action: Contact customer support.

##### ORA-02058: no prepared transaction found with ID num

Cause: A COMMIT FORCE was attempted on a transaction, but the transaction with LOCAL_TRAN_ID or GLOBAL_TRAN_ID was not found in the DBA_2PC_INDOUBT table in prepared state.

Action: Check the DBA_2PC_INDOUBT table to ensure the proper transaction ID is used and attempt the commit again.

##### ORA-02059: ORA-CRASH-TEST-n in commit Comment : This is a special Comment used to test the two-phase commit.

Action: Do not use this special Comment unless working with customer support.

##### ORA-02060: SELECT FOR UPDATE specified a join of non-collocated tables

Cause: An attempt was made to join tables in different remote databases in a SELECT... FOR UPDATE statement.

Action: Joined tables in a SELECT statement with the FOR UPDATE clause must reside at the same database. Simplify the SELECT... FOR UPDATE statement so that it joins only tables in the same database.

##### ORA-02061: lock table specified list of non-collocated tables

Cause: An attempt was made to lock more than one table in different remote databases in a LOCK TABLE statement. Tables in a LOCK TABLE statement must reside at the same database.

Action: Issue multiple LOCK TABLE commands.

##### ORA-02062: distributed recovery received DBID num, expected num

Cause: A database link at the coordinator point no longer points to the expected database. The database link may have been redefined, or a different database may have been mounted.

Action: Check the database link at the coordinator point to see if it was redefined. If so, contact the database administrator for the remote database to check whether the link still references a valid database. If the link changed, recreate it to reference a valid database at the remote site.

##### ORA-02063: preceding str from name

Cause: An Oracle error message was received from a remote database link.

Action: Refer to the preceding messages. Correct the problem mentioned in the preceding messages and try the operation again.

##### ORA-02064: iterated or long remote update with subquery not supported

Cause: One of the following unsupported operations was attempted:

- an array execute of a remote update with a subquery that references a database link
- an update of a long column with bind variable and an update of a second column with a subquery that references both a database link and a bind variable
- a commit in a coordinated session issued from a remote procedural call with OUT parameters

Action: Simplify the remote update statement.

##### ORA-02065: illegal option for ALTER SYSTEM

Cause: The option specified for ALTER SYSTEM is not supported.

Action: Refer to Oracle8 Server SQL Reference for the proper syntax of the ALTER SYSTEM command.

##### ORA-02066: missing or invalid MTS_DISPATCHERS text

Cause: A character string literal was expected, but not found, in the ALTER SYSTEM SET MTS_DISPATCHERS command.

Action: Place the string literal containing the dispatcher's specification in the ALTER SYSTEM SET MTS_DISPATCHERS command.

##### ORA-02067: transaction or savepoint rollback required

Cause: A failure occurred, probably in a trigger or stored procedure with multiple remote updates. Some sites in the transaction may be inconsistent, so the previous Oracle call cannot be executed, and the transaction cannot be committed.

Action: Roll back to a previous savepoint or to the beginning of the transaction. Then resubmit the rolled-back statements.

##### ORA-02068: following severe error from name

Cause: A severe error, a disconnect or fatal Oracle error, was received from the given database link. See the accompanying messages for a more detailed description of the problem.

Action: Contact the remote system administrator to determine the cause of the remote problem and the estimated time of the problem's resolution.

##### ORA-02069: global_names parameter must be set to TRUE for this operation

Cause: A remote mapping of the statement is required but cannot be done because the parameter GLOBAL_NAMES is not set to TRUE.

Action: Issue the statement ALTER SESSION SET GLOBAL_NAMES = TRUE, if possible.

##### ORA-02070: database "name" does not support capability name in this context

Cause: The remote database does not support the named capability in the context in which it was used.

Action: Simplify the SQL statement.

##### ORA-02071: error initializing capabilities for remote database name

Cause: Oracle could not load the capability table from the named remote database.

Action: Contact customer support concerning the remote SQL*Connect product.

##### ORA-02072: distributed database network protocol mismatch

Cause: This error should never occur between different PRODUCTION releases of ORACLE, but may happen between alpha and beta releases, for example.

Action: Upgrade the older release.

##### ORA-02073: sequence numbers not supported in remote updates

Cause: Sequence numbers may not be used in INSERTS, UPDATES, or DELETES on remote tables.

Action: Perform the operation without specifying a sequence number.

##### ORA-02074: cannot COMMIT or ROLLBACK in a distributed transaction

Cause: A COMMIT or ROLLBACK was attempted from a session other than the parent of a distributed transaction.

Action: Only the parent session can issue a COMMIT or ROLLBACK.

##### ORA-02076: sequence not co-located with updated or long column

Cause: All referenced sequences must be located on the same node as the updated table or the long column.

Action: Correct the problem and then reissue the statement.

##### ORA-02077: selects of long columns must be from co-located tables

Cause: All tables returning values of long columns in a SELECT statement must be located at the same node.

Action: Correct the problem, then reissue the statement.

##### ORA-02078: invalid setting for ALTER SYSTEM FIXED_DATE

Cause: An invalid value was used.

Action: Use a correct value.

##### ORA-02079: no new sessions may join a committing distributed transaction

Cause: A call to UPI2BG was issued in a session for a transaction that has begun to commit in a different branch. That is, a call to UPI2EN was issued for a branch of the same transaction in another session. This can only happen when using an external transaction manager.

Action: Contact customer support.

##### ORA-02080: database link is in use

Cause: A transaction is active or a cursor is open on the database link.

Action: Before closing a database link, you must first close all cursors and then end all transactions that use it.

##### ORA-02081: database link is not open

Cause: An attempt was made to use a database link that is not currently open.

Action: Resolve network problems or contact the remote database administrator to determine if the remote database's problem has been fixed. Contact the local database administrator to determine if network problems have been resolved. Wait until the link is open and try the operation again.

##### ORA-02082: a loop-back database link must have a connection qualifier

Cause: An attempt was made to create a database link with the same name as the current database.

Action: This database link needs a trailing qualifier to make the name unique. These qualifiers are operating system-specific. See your operating system-specific Oracle documentation for more information about creating database links.

##### ORA-02083: database name has illegal character str

Cause: The database name supplied contains an invalid character. For example, there can be no periods, semicolons, single quotes, double quotes, blanks, or non-printable characters in the database name. See Oracle8 Server Administrator's Guide for naming rules.

Action: Specify a valid database name.

##### ORA-02084: database name is missing a component

Cause: The complete database name was not given

Action: Specify the full database name.

##### ORA-02085: database link name connects to name

Cause: The database link attempted to connect to a database with a different name. The name of the database link must be the same name as the name of the database.

Action: Create a database link with the same name as the database to which it connects.

##### ORA-02086: database link name is too long

Cause: The name of the database or database link is too long. Database and database link names can be no longer than 128 characters.

Action: Specify the correct database or database link name or specify a name with fewer characters.

##### ORA-02087: object locked by another process in same transaction

Cause: In a Parallel Server environment, a database link that loops back to the same instance is being used, and one session is trying to convert a lock that was obtained by the other session.

Action: Obtain a more restrictive lock first. For example if session 1 needs a SHARE lock, and session 2 needs an EXCLUSIVE lock, make sure that the EXCLUSIVE lock is obtained first. Otherwise, use the same session to access the object.

##### ORA-02088: distributed database option not installed

Cause: The distributed database option is not installed at this site, so the requested operation is not possible.

Action: Contact Oracle Corporation about obtaining the distributed database option.

##### ORA-02089: COMMIT is not allowed in a subordinate session

Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator.

Action: Issue commits only at the global coordinator.

##### ORA-02090: network error: attempted callback+passthru

Cause: This is an internal error.

Action: Contact Oracle Worldwide Support.

##### ORA-02091: transaction rolled back

Cause: The distributed 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, so the transaction is rolled back.

  If the transaction aborted at a remote site, only ORA-02091 will be seen. If the transaction aborted at the host site, then both ORA-02091 and ORA-02092 will be seen.

Action: Complete the current transaction and then do the operation required.

##### ORA-02092: out of transaction table slots for distributed transaction

Cause: The distributed 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, so the transaction is rolled back.

  If the transaction aborted at a remote site, only ORA-02091 will be seen. If the transaction aborted at the host site, then both ORA-2091 and ORA-2092 will be seen.

Action: Add a rollback segment and do the operation again.

##### ORA-02093: TRANSACTIONS_PER_ROLLBACK_SEGMENT name more than maximum possible.

Cause: The value of the initialization parameter specified is greater than allowed on this port.

Action: Use the default value or reduce it to less than the maximum.

##### ORA-02094: replication option not installed

Cause: The replication option was not installed at this site. Updatable snapshots, deferred remote procedure calls, 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.

##### ORA-02095: specified initialization parameter cannot be modified

Cause: Specified initialization parameter is not modifiable with this option.

Action: Check the DBA guide for information about under what scope the parameter may be modified.

  For more information about modifying an initialization parameter, see the index entry on "initialization parameters, altering" in Oracle8 Server SQL Reference.

##### ORA-02096: specified initialization parameter is not modifiable with this option

Cause: Though the initialization parameter is modifiable, it cannot be modified using the specified command.

Action: Check the DBA guide for information about under what scope the parameter may be modified. For more information about modifying an initialization parameter, see the index entry on "initialization parameters, altering" in Oracle8 Server SQL Reference.

##### ORA-02097: parameter cannot be modified because specified value is invalid

Cause: Though the initialization parameter is modifiable, an invalid value was assigned to the parameter.

Action: Check the DBA guide for the range of acceptable values for this parameter.

##### ORA-02098: error parsing index-table reference (:I)

Cause: An incorrect index-table (:I) syntax was encountered.

Action: This syntax is for Oracle internal use only.

Prev | Top | Next
| Copyright © 1997 Oracle Corporation. All Rights Reserved. |
Library | Product | Contents | Index