Oracle 12c R2 Error Codes and Solution Suggestions from ORA-16800 to ORA-17000
- ORA-16800: redo transport service for a standby database incorrectly set to ALTERNATE
Cause: The redo transport service for a standby database was set to ALTERNATE when no other destination is set to alternate to this destination.
Action: Reenable the standby database or the entire configuration to allow the configuration property settings to be propagated to the initialization parameters.
Cause: The values of one or more redo transport-related configuration properties were inconsistent with the in-memory settings or server parameter file settings. This may happen by directly altering initialization parameters instead of editing configurable property values using Oracle Data Guard broker.
Action: Query the InconsistentLogXptProps property on the primary database or check the Oracle Data Guard broker log file to find which properties are set inconsistently. Reset these properties to make them consistent. Alternatively, enable the member or the entire configuration to allow the configurable property settings to be propagated to the initialization parameters.
- ORA-16802: Database role change operation permitted only by Data Guard broker when fast-start failover is enabled.
Cause: Fast-start failover was enabled and a role change was not initiated from a Data Guard broker interface.
Action: Use a Data Guard broker interface to perform a role change.
Cause: Querying a database table or fixed view failed. The database may not be opened or mounted.
Action: Check the Oracle Data Guard broker log file for more details.
Cause: Oracle Data Guard broker health check detected that one or more configuration properties in the broker configuration had invalid values. The property values were changed while broker management of the member was disabled.
Action: Check Data Guard broker log file for more details on which properties have invalid values and reset them through the Oracle Data Guard broker.
Cause: Supplemental logging was not turned on while there was a logical standby database in the configuration. This could happen either on the primary database or on the logical standby database that was being switched over to become the primary database.
Action: Check the Oracle Data Guard broker log file for more details. Issue the ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS to add supplemental logging.
Cause: An attempt to issue the ALTER DATABASE SET STANDBY TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE} failed.
Action: Check the Oracle Data Guard broker log file and the Oracle alert log file for more information.
Cause: A prior attempt to open the primary database was disallowed because the primary had shut itself down earlier after being isolated from both the fast-start failover observer and the target standby database for more than FastStartFailoverThreshold seconds. It was assumed that a fast-start failover was underway. Since that time, re-contact with either the observer or the target standby database indicates that no such failover had actually occurred. The primary database can now be opened.
Action: Open the database by issuing the SQL*Plus ALTER DATABASE OPEN command.
Cause: The broker detected multiple warnings for the member.
Action: To get a detailed status report, check the status of the member specified using either Enterprise Manager or the DGMGRL CLI SHOW command.
Cause: The broker detected multiple errors or warnings for the member.
Action: To get a detailed status report, check the status of the database specified using either Enterprise Manager or the DGMGRL CLI SHOW command.
Cause: The broker did not register an apply instance for a standby database.
Action: Reenable the standby database to clear the error.
Cause: Log apply services were not running on the instance the Data Guard broker expected them to be running upon.
Action: Reenable the standby database to clear the error.
Cause: Log apply services were not running on the instance the Data Guard broker expected them to be running upon.
Action: Reenable the standby database to clear the error.
Cause: The observer was not started because an observer with that name was already started.
Action: Use the DGMGRL CLI SHOW OBSERVER command to check the names of the observers that have already been started. Then, reissue the START OBSERVER command and specify a different observer name.
Cause: The member specified was either already reinstated or does not need to be reinstated.
Action: No action necessary. Any stale reinstate required status will be cleared after the next health check has completed.
Cause: The Oracle Data Guard broker detected that the specified database had a different database role than that recorded in the Oracle Data Guard broker configuration. This could be the result of a failed switchover or failover operation, or a switchover or failover operation performed with SQL*Plus.
Action: Check the Oracle Data Guard broker documentation to see how to recover from failed role change operations, or from role changes that were performed using SQL*Plus for databases managed by Oracle Data Guard broker.
Cause: The fast-start failover target standby database was not synchronized with the primary database. As a result, a fast-start failover could not happen automatically in case of a primary database failure.
Action: Ensure that the fast-start failover target standby database is running and that the primary database can ship redo data to it. When the standby database has received all of the redo data from the primary database, the primary and standby databases will then be synchronized. The Oracle Data Guard configuration may then fail over automatically to the standby database in the event of loss of the primary database.
Cause: The primary database was intentionally shutdown. As a result, a fast-start failover could not happen automatically.
Action: Start the primary database. This effectively restores the ability to automatically perform a fast-start failover in the event of a failure of the primary database.
Cause: The observer for fast-start failover was not started. As a result, fast-start failover could not happen in the case of a primary database failure.
Action: Start the fast-start failover observer by using, for example, the DGMGRL START OBSERVER command.
Cause: A previously started observer was no longer actively observing this database. A significant amount of time elapsed since this database last heard from the observer. Possible reasons were: – The host where the observer was running was not available. – The network connection between the observer and this database was not available. – The observer process was terminated unexpectedly.
Action: Check the reason why the observer cannot contact this database. If the problem cannot be corrected, stop the current observer by connecting to the Oracle Data Guard configuration and issue the DGMGRL STOP OBSERVER command. Then, restart the observer on another host. Finally, use the DGMGRL START OBSERVER command to start the observer on the other host.
Cause: The logical standby database had not loaded the dictionary. This status was detected by the broker health check mechanism. Alternatively, this status may be returned when attempting to switch or fail over to a logical standby database that had not yet loaded its dictionary.
Action: Start SQL Apply on the logical standby database, if it is not already running, and wait for it to reach the APPLYING state.
Cause: The new primary database, as a result of a logical standby database failover operation, had not fully completed the failover operation. An attempt to reinstate a disabled standby database could not be completed until failover completed on the new primary database.
Action: Wait until the failover operation has completed on the new primary database. Then retry the reinstate operation.
Cause: The redo transport mode of this member was incompatible for this broker operation.
Action: Reset the LogXptMode member property for this member and retry the broker operation.
- ORA-16824: multiple warnings, including fast-start failover-related warnings, detected for the database
Cause: The broker detected multiple warnings for the database. At least one of these warnings may have prevented fast-start failover from occurring.
Action: To get a detailed status report, check the status of the database specified using either Enterprise Manager or the DGMGRL CLI SHOW DATABASE command.
- ORA-16825: multiple errors or warnings, including fast-start failover-related errors or warnings, detected for the database
Cause: The broker detected multiple errors or warnings for the database. At least one of these errors or warnings may have prevented a fast-start failover from occurring.
Action: To get a detailed status report, check the status of the database specified using either Enterprise Manager or the DGMGRL CLI SHOW DATABASE command.
Cause: This warning was caused by one of the following reasons: – The apply service was started without specifying the real-time apply option or without the NODELAY option when the DelayMins property was set to zero. – The apply service was started with the real-time apply option or with the NODELAY option when the DelayMins property was set to a value greater than zero.
Action: Reenable the standby database to allow the broker to restart the apply service with the apply options that are consistent with the specified value of the DelayMins property.
Cause: The broker detected that the Flashback Database feature was disabled. With Flashback Database disabled, the broker would not be able to: – reinstate a database that required reinstatement. – convert a physical standby database to a snapshot standby database. – convert a snapshot standby database to a physical standby database. Flashback Database may been disabled manually with the ALTER DATABASE FLASHBACK DATABASE OFF command or automatically by the database in the event of an error.
Action: Check the database alert log to determine whether Flashback Database was disabled due to errors and then correct the problem. If Flashback Database had been manually disabled, reenable Flashback Database with the ALTER DATABASE FLASHBACK DATABASE ON command. If, after enabling Flashback Database, the database still cannot be reinstated or converted, you must re-create the database from a copy of the primary database.
Cause: An invalid value was specified for the REDO_TRANSPORT_USER initialization parameter. The length of the user name exceeded 30 characters.
Action: Check the documentation and specify a new value for the REDO_TRANSPORT_USER initialization parameter.
Cause: The fast-start failover target standby database was not within the lag limit specified by the FastStartFailoverLagLimit configuration property. As a result, a fast-start failover could not happen in the event of a primary database failure.
Action: Ensure that the fast-start failover target standby database is running and applying redo data and that the primary database is successfully transmitting redo data. If this condition persists consider raising the value of the FastStartFailoverLagLimit configuration property.
- ORA-16830: primary isolated from fast-start failover partners longer than FastStartFailoverThreshold seconds: shutting down
Cause: The primary database was isolated from both the observer and target standby database for longer than the seconds specified by the FastStartFailoverThreshold property. A fast-start failover probably occurred. If the FastStartFailoverPmyShutdown configuration property was set to TRUE, the broker will shut down the primary database in this situation.
Action: Ensure one instance of this database is running and the database is mounted on that instance so that the broker may reinstate the old primary database.
Cause: The Oracle Data Guard broker operation was not allowed for the specified member of the Oracle Data Guard broker configuration.
Action: Check the documentation for the Oracle Data Guard broker command and then reissue the command with the correct member.
Cause: The broker initiated a fast-start failover to the target standby database because a user-configurable condition was detected on the primary database. In addition, the broker shut down the primary database.
Action: Correct the problem on the old primary database that caused the broker to initiate a fast-start failover, then reinstate the old primary database.
Cause: The broker detected that no logging operations were performed on this database. The data modified by these operations may be lost if failover or switchover was performed.
Action: Use Data Repair Advisor to determine which operations were not logged before attempting a switchover or failover.
Cause: The broker detected control files corruptions. Many database operations, including switchover and failover, may not be possible.
Action: Use Data Repair Advisor to determine the extent of the corruptions and how to repair them.
Cause: The broker detected that the member had one or more unavailable standby redo log groups.
Action: Use Data Repair Advisor to determine which standby redo log groups are unavailable and how the log groups can be made available.
Cause: The broker detected that one or more system data files were missing.
Action: Use Data Repair Advisor to determine which system data files are missing and how the files can be restored.
Cause: The broker detected that one or more system data files were corrupt.
Action: Use Data Repair Advisor to determine which system data files are corrupt and how the files can be restored.
Cause: The broker detected that one or more system data files were offline.
Action: Use Data Repair Advisor to determine which system data files are offline and how the files can be made online.
Cause: The broker detected that one or more user data files were missing.
Action: Use Data Repair Advisor to determine which user data files are missing and how the files can be restored.
Cause: The broker detected that one or more user data files were corrupt.
Action: Use Data Repair Advisor to determine which user data files are corrupt and how the files can be restored.
Cause: The broker detected that one or more user data files were offline.
Action: Use Data Repair Advisor to determine which user data files are offline and how the files can be made online.
Cause: The broker detected block corruptions on this database.
Action: Use Data Repair Advisor to determine which files are affected by block corruptions and how the files can be repaired.
Cause: The broker detected one or more errors in the Automatic Diagnostic Repository.
Action: Use Data Repair Advisor to see the errors that were discovered and how they can be repaired.
Cause: Fast-Start failover was enabled and the current primary database did not have a value set for the FastStartFailoverTarget configurable property or the value specified for this property was not a valid fast-start failover target standby database.
Action: Disable fast-start failover or ensure that the primary database has a valid fast-start failover target standby database specified by setting the FastStartFailoverTarget configurable property value to a valid standby database.
Cause: A previous switchover operation from this database failed.
Action: Fix the underlying problem and reissue the switchover command again.
Cause: A previous switchover operation to this database failed.
Action: Fix the underlying problem and reissue the switchover command again.
Cause: A previous switchover operation from this database was interrupted by the user. It may be caused by a hang.
Action: Fix the underlying problem and reissue the switchover command again.
Cause: A previous switchover operation to this database was interrupted by the user. It may be caused by a hang.
Action: Fix the underlying problem and reissue the switchover command again.
Cause: A previous failover operation to this database failed.
Action: Fix the underlying problem and reissue the failover command again.
Cause: A previous failover operation to this database was interrupted by the user. It may be caused by a hang.
Action: Fix the underlying problem and reissue the failover command again.
Cause: The current apply lag exceeded the value specified by the ApplyLagThreshold configurable property. It may be caused either by a large transport lag or poor performance of apply services on the standby database.
Action: Check for gaps on the standby database. If no gap is present, tune the apply services.
Cause: Apply lag could not be determined because either apply services were not running or there was no connectivity between the redo source and standby database.
Action: Start apply services if they are not running. Also, ensure that there is network connectivity between the redo source and standby databases and the redo source is sending redo data to the standby.
Cause: The current transport lag exceeded the value specified by the TransportLagThreshold configurable property. It is caused by either poor network performance between the redo source and the member or a network disconnection.
Action: Check the network connection between the redo source and the member. If they are connected, check the network performance between the redo source and the member and tune it if necessary.
Cause: Transport lag could not be determined because there was no connectivity between the redo source and the member.
Action: Ensure that there is network connectivity between the redo source and the members and that the redo source is working properly.
Cause: The amount of time the member was disconnected from the redo source exceeded the value specified by the TransportDisconnectedThreshold configurable database property. It is caused by a lack of network connectivity between the redo source and the member.
Action: Ensure that there is network connectivity between the redo source and the member and that the redo source is working properly.
Cause: The member was never contacted by the redo source.
Action: Ensure that there is network connectivity between the redo source and the member and that the redo source is working properly.
Cause: The broker terminated a request because it was processing a delete, disable, or failover operation.
Action: Wait for the operation to complete and then retry the request.
Cause: The member specified as the fast-start failover target was either a far sync instance or snapshot standby database, or does not exist in the configuration.
Action: Only a physical or logical standby database can be specified as a fast-start failover target. Check the database name and retry the command.
Cause: The value specified for the ExternalDestination property did not contain the DB_UNIQUE_NAME attribute.
Action: Ensure that DB_UNIQUE_NAME is specified as the value for the ExternalDestination property.
Cause: The value specified for the ExternalDestination property contained unsupported attributes.
Action: Ensure that the value specified for the ExternalDestination property does not contain any of these attributes: LOCATION, ALTERNATE, MAX_FAILURE, SYNC, TEMPLATE, MANDATORY, DELAY, NET_TIMEOUT, and VALID_FOR.
Cause: A member was specified to be part of a RedoRoutes group when the MaxFailure configurable property was set to zero.
Action: Set the MaxFailure property to a nonzero value and retry the command.
- ORA-16864: The MaxFailure property cannot be set to zero for a member that is part of a RedoRoutes group.
Cause: An attempt was made to set the MaxFailure configurable property to zero when it was part of a RedoRoutes group.
Action: Set the MaxFailure configurable property to a nonzero value.
Cause: Broker health check was unable to complete because the database was closing or was not mounted on the instance.
Action: No action is required if the database is closing. Mount the database if it is not yet mounted on the instance.
- ORA-16866: database converted to transient logical standby database for rolling database maintenance
Cause: This database was converted to a logical standby database because a rolling database maintenance operation was in progress.
Action: No action is required. The database will be converted to a primary database when the DBMS_ROLLING.SWITCHOVER procedure is executed or to a physical standby database when the DBMS_ROLLING.FINISH procedure is executed.
- ORA-16867: cannot remove a database that is specified in a FastStartFailoverTarget configuration property
Cause: An attempt was made to remove a database that was specified in the FastStartFailoverTarget configuration property of another database.
Action: First, remove the database from all other database’s FastStartFailoverTarget configuration property values. Then, retry the REMOVE command.
Cause: The Fast-Start Failover target standby database was not viable. As a result, a Fast-Start Failover to this database could not happen automatically.
Action: After the standby database has been re-created from a copy of the new primary database, disable and then reenable the standby database.
Cause: The standby database was not yet ready to be a Fast-Start Failover target standby database. Consequently, Fast-Start Failover cannot be initiated to this database in the event of a primary database failure.
Action: Ensure that the network connection between the primary and the Fast-Start Failover target standby is functioning properly.
Cause: Automatic switch of the fast-start failover target was not possible because the release of the observer was earlier than 12.2. Consequently, the fast-start failover target switch will not occur even though the primary database has more than one fast-start failover target configured.
Action: Upgrade the Oracle client home to release 12.2 and then stop and restart the observer using the DGMGRL CLI in that Oracle home.
Cause: The operation was not allowed because the observer corresponding to the specified name was not started.
Action: Issue the command again after ensuring that the observer corresponding to the specified name is started.
Cause: The operation was not allowed because there was no registered observer running on the specified host.
Action: Issue the command again after ensuring that there is a registered observer running on the specified host.
Cause: The operation was not allowed because a master observer switch was already in progress.
Action: Wait for a few seconds and retry the operation.
Cause: The STOP OBSERVER command failed because an observer name was not specified and there was more than one observer registered.
Action: Specify the observer name when using the STOP OBSERVER commmand when more than one observer is registered. Use the STOP OBSERVER ALL command to stop all registered observers.
Cause: There were no registered observers when the command STOP OBSERVER was issued.
Action: None
Cause: The master observer cannot be stopped when another observer is registered.
Action: Use the SET MASTEROBSERVER command to establish another observer as the master observer. Then use the STOP OBSERVER command to stop the former master observer.
Cause: Fast-start failover was initiated by a non-master observer. This can occur if Data Guard Broker starts to switch master observer when fast-start failover is being initiated.
Action: Check the DRC log files of the primary database to see why a master observer switch occurred.
Cause: The operation was not allowed because a fast-start failover target switch was already in progress.
Action: Wait for a few seconds and retry the operation.
- ORA-16881: standby database is not protecting the current primary database during rolling database maintenance
Cause: This standby database was a member of the leading group standby databases protecting the future primary database, or was a member of the trailing group standby databases protecting the original primary database during the rolling database maintenance operation.
Action: This issue will be resolved once all the databases have completed the maintenance operation and the DBMS_ROLLING.FINISH procedure is executed.
Cause: Apply services were stopped because a rolling database maintenance operation was in progress.
Action: No action is required. Apply services will be restarted by Oracle.
Cause: The DGConnectIdentifier property value could not be translated to a valid connect descriptor.
Action: Ensure that the DGConnectIdentifier property value translates to a valid connect descriptor.
Cause: More than one observer could not be started because the release of the observer was earlier than 12.2.
Action: Upgrade the Oracle client home to release 12.2 and start the observer using the DGMGRL CLI in that home.
- ORA-16885: A member whose RedoCompression property is set to LZO cannot receive redo data in SYNC or FASTSYNC mode.
Cause: A member was specified to receive redo data in SYNC or FASTSYNC mode when the RedoCompression configurable property was set to LZO.
Action: Set the RedoCompression property to a value other than LZO and then retry the command.
- ORA-16886: The RedoCompression property cannot be set to LZO for a member that receives redo data in SYNC or FASTSYNC mode.
Cause: An attempt was made to set the RedoCompression configurable property to LZO when it receives redo data in SYNC or FASTSYNC mode.
Action: Set the RedoCompression configurable property to a value other than LZO and then retry the command.
Cause: The broker did not allow the attempt to change the LogXptMode or RedoRoutes configurable property for the standby database or far sync instance because, if allowed, the overall protection mode for the configuration would have been violated.
Action: If the LogXptMode or RedoRoutes configuration property must be changed for the specified standby database or far sync instance, first downgrade the overall protection mode for the broker configuration. After that operation has completed, the LogXptMode or RedoRoutes configuration property for the standby database can be changed.
Cause: The specification of alternates for the RedoRoutes property for a member was set inconsistently with respect to another member’s RedoRoutes property.
Action: Check the Oracle Data Guard broker log file for the reason for the failure and reissue the command. Ensure that the member’s RedoRoutes alternate setting is set consistently with other member’s RedoRoutes property.
Cause: This cursor is a remote mapped cursor which could not be processed locally.
Action: Try to process this statement directly on the remote site.
Cause: Binding this SQL statement failed because too many bind variables were supplied.
Action: Pass the correct number of bind variables.
Cause: Binding this SQL statement failed.
Action: Check if bind variables for that statement are properly specified.
Cause: This type of SQL statement could not be processed.
Action: n/a
Cause: The specified SQL statement failed to be parsed.
Action: Check if syntax is correct and ensure that this statement can be parsed by the specified user name.
Cause: The specified SQL statement failed to be analyzed.
Action: This is an internal error, please contact Oracle support.
Cause: The specified SQL statement cannot be tested for execute.
Action: n/a
Cause: This is an internal error code used indicate that SQL analyze has reached its time limit.
Action: n/a
Cause: The specified DML statement cannot be tested for execute because part of it is running parallel.
Action: n/a
Cause: The system attempted to analyze a type of statement that was disabled by the current feature.
Action: Try a different feature capable of analyzing this statement type.
Cause: SQL Analyze failed to reproduce a particular plan using an outline.
Action: Check the outline data.
Cause: SQL statements with SQL patches are not supported by SQL tuning advisor.
Action: Check the SQL patch information. Rerun SQL repair advisor on that SQL statement for a potential better SQL patch.
Cause: The SQL statement being analyzed attempted to begin an autonomous transaction, which is not supported.
Action: Analyze another statement or remove the autonomous transaction from the current statement.
Cause: The SQL statement being analyzed had a parsing user or schema which is not currently supported for SQL Analyze.
Action: Analyze another statement.