The Data Guard command-line interface (DGMGRL) enables you to manage a Data Guard broker configuration and its various members directly from the command line, or from batch programs or scripts. You can use the Data Guard command-line interface as an alternative to Oracle Enterprise Manager Cloud Control (Cloud Control) for managing a Data Guard configuration.
You can supply optional parameters on the command line to indicate how you want the Data Guard command-line interface to display output such as command prompts, banners, and messages.
Additionally, a single command mode is available. In this mode, DGMGRL executes one command and exits upon the completion of the command. The exit code is the result of the command. If the exit code is 0, the command completed successfully. Otherwise, there was an error.
The command line of DGMGRL appears as follows:
% dgmgrl [<options>] [<logon> [<command>] ]
Specify any of the following keywords when you invoke the DGMGRL command-line interface:
<options>
can be one of the following choices:
-echo
Displays command input and output to the default display device. If you do not use this parameter, only the output from the command is displayed.
-logfile
<file-spec> "<dgmgrl-command>"
Specifies a file into which you can capture the actions of the DGMGRL command-line interface. This is particularly useful when DGMGRL is being invoked to serve as the fast-start failover observer. See the "START OBSERVER" command for more information.
See Also:
-silent
Suppresses the display of the DGMGRL (DGMGRL>
) command prompt on your default display device. This option is useful if you are directing the command output to a file or to another display tool.
<logon>
is:
username [@connect-identifier]
To connect to the database, enter a username
and optionally, a connect-identifier
. You will then be prompted for a password. The connect-identifier
is a fully specified connect descriptor or a name to be resolved by an Oracle naming method (for example, TNS).
If a fully specified connect descriptor is used, then the descriptor must be enclosed within both single and double quotation marks to work properly. For example:
dgmgrl sys@"'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=sales-server) (PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))'" Enter password: password
This also applies when the Easy Connect naming method is used.
WARNING:
Including a password on the command line when invoking DGMGRL is a security risk. This risk can be avoided either by omitting the password when invoking DGMGRL and entering it when prompted, or by using an external authentication method.
You can connect as '/' when using operating-system authentication (remote database restarts will not work), Secure Sockets Layer (SSL) protocol, or database credentials stored in a wallet.
<command>
is a single command.
For example:
% dgmgrl sys/ "show database 'North_Sales'"
Password
: password
The following subsections specify the command format that you enter at the DGMGRL>
command prompt.
The DGMGRL commands allow you to create and maintain one broker configuration at a time.
After you invoke the command-line interface, you can enter any of the DGMGRL commands listed in Table 7-1.
Table 7-1 Summary of DGMGRL Commands
Command | Effect |
---|---|
Adds a new standby database to the existing broker configuration. |
|
Adds an existing far sync instance to an Oracle Data Guard broker configuration. |
|
Connects to the specified database using the specified username. |
|
Converts the specified database to either a snapshot standby database or a physical standby database. |
|
Creates a broker configuration and adds a primary database to that configuration. |
|
Disables broker management of a configuration so that the configuration and all of its databases are no longer managed by the broker. |
|
Disables broker management of the named standby database. |
|
Disables broker management of a far sync instance. |
|
Disables fast-start failover. |
|
Allows a user to remove conditions for which a fast-start failover should be performed. |
|
Changes the value of a property for the broker configuration. |
|
Changes the current protection mode setting for the broker configuration. |
|
Changes the configuration name. |
|
Resets the specified configuration property to its default value. |
|
Changes the value of a property for the named database. |
|
Changes the name used by the broker to refer to the specified database. |
|
Changes the state of the specified database. |
|
Resets the specified property for the named database to its default value. |
|
Changes the name, state, or properties of a far sync instance. |
|
Resets the specified property for the named far sync instance to its default value. |
|
Sets the name of the initialization parameter file for the specified instance. |
|
Changes the value of a property for the specified instance. |
|
Resets an instance-specific property for the specified instance(s) to its default value. |
|
Enables broker management of the broker configuration and all of its databases. |
|
Enables broker management of the specified database. |
|
Enables broker management of the specified far sync instance. |
|
Enables the broker to automatically failover from the primary database to a target standby database. |
|
Allows a user to add conditions for which a fast-start failover should be performed. |
|
Exits the Data Guard command-line interface. |
|
Performs a database failover operation in which the standby database, to which DGMGRL is currently connected, fails over to the role of primary database. |
|
Displays online help for the Data Guard command-line interface. |
|
Quits the Data Guard command-line interface. |
|
Reinstates the database after a failover. |
|
Removes the broker configuration and ends broker management of its members. |
|
Removes the specified standby database from the broker configuration. |
|
Removes a far sync instance from an Oracle Data Guard broker configuration. |
|
Removes an instance from the broker configuration. |
|
Displays information about the broker configuration. |
|
Shows the redo transport configuration that would be in effect if the specified database were the primary database. |
|
Displays information about the specified database. |
|
Shows information about a far sync instance. |
|
Displays all fast-start failover related information. |
|
Displays information about the specified instance. |
|
Shuts down a currently running Oracle database. |
|
Allows you to enter SQL statements from the Data Guard command-line interface (DGMGRL). |
|
Starts the observer. |
|
Starts an Oracle instance with the same options as SQL*Plus, including mounting and opening a database. |
|
Stops the observer. |
|
Performs a switchover operation in which the current primary database becomes a standby database, and the specified standby database becomes the primary database. |
|
Performs a comprehensive set of database checks prior to a role change. |
|
Performs a comprehensive set of checks for a far sync instance. |
To use DGMGRL, the following must be true:
The DG_BROKER_START
dynamic initialization parameter is set to TRUE
.
To enable broker operations that require restarting instances without manual intervention, Oracle Net Services must be configured on each of the hosts that contain the primary and standby database instances. Specifically, the listener.ora file must contain static configuration information about the instance. The GLOBAL_DBNAME
attribute must be set to db_unique_name
_DGMGRL.
db_domain
. See Prerequisites for additional information.
The connect identifier used while creating the configuration or adding a database, must be resolvable from any of the hosts in the configuration.
You must have SYSDG
or SYSDBA
privileges to use the Oracle Data Guard command-line interface. Do not include AS SYSDG
or AS SYSDBA
on the CONNECT
command. DGMGRL first attempts an AS SYSDG
connection; if that fails, it then attempts an AS SYSDBA
connection.
If you specify more than one option on the command, you can specify the options in any order.
A semicolon is required at the end of each DGMGRL command.
Characters specified in a DGMGRL command string value are interpreted as lowercase characters, unless enclosed in double (") or single (') quotation marks. For example, database and DatAbaSe are equivalent, but "database" and "DatAbaSe" are not.
You can use the backslash (\) to escape a single quotation mark ('), a double quotation mark ("), and the backslash character (\) itself if these characters appear in a character string.
Some operations on a broker configuration may require that one or more databases be shut down and restarted. In most cases, DGMGRL will automatically shut down and restart a given database for you if the following are true:
The instance-name
is the SID (this applies to Cloud Control as well as DGMGRL).
The broker must be able to connect to the database using the same credentials given in the last CONNECT
command, even if the last CONNECT
command was used to connect to another database.
Command Examples
Example 7-1 Connecting to DGMGRL on a Local System
This example demonstrates how to connect to the DGMGRL command-line interface on a local system.
% dgmgrl
.
.
.
Welcome to DGMGRL, type "help" for information.
DGMGRL> CONNECT sysdg;
Password: password
Connected as SYSDG.
Example 7-2 Connecting to DGMGRL on a Remote System
This example demonstrates how to connect to the Oracle Data Guard (DGMGRL) command-line interface on a remote system.
DGMGRL> CONNECT sysdg@remote-stby;
Password: password
Connected as SYSDG.
Example 7-3 Connecting Using the AS Option
This example demonstrates how to connect to the Oracle Data Guard (DGMGRL) command-line interface using the CONNECT AS
option:
DGMGRL> CONNECT sys@remote-stby AS SYSDBA; Password: password Connect as SYSDBA.
The DGMGRL ADD DATABASE
command adds a standby database to an existing broker configuration.
Format
ADD DATABASE database-name AS CONNECT IDENTIFIER IS connect-identifier;
Command Parameters
The name that will be used by the broker to refer to this standby database. It must match (case-insensitive) the value of the corresponding database DB_UNIQUE_NAME
initialization parameter.
A fully specified connect descriptor or a name to be resolved by an Oracle Net Services naming method (for example, TNS). The value you specify is also used as the initial value of the DGConnectIdentifier
database property.
Usage Notes
To issue this command, you must connect to the primary database or to an enabled standby database that is already in the configuration.
The broker uses the specified connect-identifier
to communicate with the specified database from other databases. Therefore, you must ensure that the connect-identifier
can be used to address the specified database from all databases in your configuration. For example, if TNS is used as the naming method, you must ensure that the tnsnames.ora file on every database and instance that is part of the configuration contains an entry for the connect-identifier
. The connect identifier must resolve to the same connect descriptor. If the database that is being added is an Oracle RAC database, the connect-identifier
provided here must reach all instances of the Oracle RAC, preferably with FAILOVER
attributes set.
If the connection cannot be made, the broker does not add the new database to the configuration.
You must clear any remote redo transport destinations on the standby database before it can be added to the configuration.
Command Example
The following example shows how to add a database named South_Sales
.
DGMGRL> ADD DATABASE South_Sales AS CONNECT IDENTIFIER IS South_Sales.example.com; Database "South_Sales" added
Adds an existing far sync instance to an Oracle Data Guard broker configuration.
The far sync instance is disabled after creation. You must explicitly enable it before the broker can ship redo to and from it.
Format
ADD FAR SYNC far_sync_instance_name AS CONNECT IDENTIFIER IS connect-identifier;
Command Parameters
The name that will be used by the broker to refer to this far sync instance. It must match (case-insensitive) the value of the corresponding far sync instance DB_UNIQUE_NAME
initialization parameter.
A fully specified connect descriptor or a name to be resolved by an Oracle Net Services naming method (for example, TNS). The value you specify is also used as the initial value of the DGConnectIdentifier
property.
Usage Notes
The far sync instance must already exist before you can add it to a broker configuration.
You must clear any remote redo transport destinations on the far sync instance before it can be added to the configuration.
Command Example
The following example adds a far sync instance named chicago
to the configuration.
DGMGRL> ADD FAR_SYNC chicago AS CONNECT IDENTIFIER IS chicago.example.com;
The DGMGRL CONNECT
command connects you to a database or far sync instance that is a member of a Data Guard broker configuration.
Format
CONNECT username @connect-identifer;
Command Parameters
Represents the username with which you want to connect to the configuration member. You will be prompted for a password after you enter a username and optionally, a connect-identifier.
This parameter is optional. It is an Oracle Net Services connect identifier for the configuration member to which you want to connect. The exact syntax depends upon the Oracle Net Services communications protocol your Oracle installation uses.
Usage Notes
The username and password must be valid for the configuration member to which you are trying to connect.
The username you specify must have the SYSDG
or SYSDBA
privilege. Do not include AS SYSDG
or AS SYSDBA
on the CONNECT
command. DGMGRL first attempts an AS SYSDG
connection; if that fails, it then attempts an AS SYSDBA
connection.
If the CONNECT
command returns an error, check to see that you specified a valid connect-identifier
.
Command Examples
Example 1: Connecting to a Local Configuration Member
This example connects to the default database or far sync instance on the local system.
DGMGRL> CONNECT sysdg;
Password: password
Connected as SYSDG.
Example 2: Connecting to a Remote Configuration Member
This example connects to the default database or far sync instance on the local system.
DGMGRL> CONNECT sysdg;
Password: password
Connected as SYSDG.
Example 3: Connecting Without Showing Connection Credentials
This example connects to a configuration member using CONNECT '/'
so that connection credentials are not visible on the command line:
DGMGRL> CONNECT /@North_Sales.example.com;
You must set up Oracle Wallet or SSL to use CONNECT '/'
. By setting up Oracle Wallet or SSL, you can write a script to securely start and run the observer as a background job without specifying database credentials in the script.
Converts a physical standby database to a snapshot standby database, or reverts the snapshot standby database back to a physical standby database.
A snapshot standby database is a fully updatable standby database. Like a physical or logical standby database, a snapshot standby database receives and archives redo data from a primary database. Unlike a physical or logical standby database, a snapshot standby database does not apply the redo data that it receives. The redo data received by a snapshot standby database is not applied until the snapshot standby is converted back into a physical standby database, after first discarding any local updates made to the snapshot standby database.
A snapshot standby database is best used in scenarios that require a temporary, updatable snapshot of a physical standby database. Note that because redo data received by a snapshot standby database is not applied until it is converted back into a physical standby, the time needed to perform a role transition is directly proportional to the amount of redo data that needs to be applied.
See Oracle Data Guard Concepts and Administration for additional information about snapshot standby databases.
Format
CONVERT DATABASE db_unique_name TO {SNAPSHOT | PHYSICAL} STANDBY;
Usage Notes
A physical standby database cannot be converted to a snapshot standby database if it is the target of a fast-start failover. The ORA-16668: operation cannot be performed on the fast-start failover target standby database
error will be returned.
A physical standby database cannot be converted to a snapshot standby database if its RedoRoutes
configurable property is set to non-NULL value.
Use the DGMGRL ADD DATABASE command to import an existing snapshot standby database into an Oracle Data Guard broker configuration.
A snapshot standby database cannot be the target of a switchover or a fast-start failover.
A snapshot standby database can be the target of a manual failover if fast-start failover is disabled.
You can use the SHOW CONFIGURATION
or SHOW DATABASE
command to verify the conversion result. For example:
DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Snapshot standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS
After a snapshot standby database is converted back to a physical standby database, it will be in the default state for a physical standby database, APPLY-ON
.
Command Examples
Example 1: Converting a Physical Standby to a Snapshot Standby
Issue the following to convert a physical standby database to a snapshot standby database:
DGMGRL> CONVERT DATABASE 'South_Sales' to SNAPSHOT STANDBY; Converting database "South_Sales" to a Snapshot Standby database, please wait... Database "South_Sales" converted successfully
Example 2: Converting a Snapshot Standby Back to a Physical Standby
Issue the following to convert the snapshot standby database back to a physical standby database:
DGMGRL> CONVERT DATABASE 'South_Sales' to PHYSICAL STANDBY; Converting database "South_Sales" to a Physical Standby database, please wait... Operation requires shutdown of instance "south_sales1" on database "South_Sales" Shutting down instance "south_sales1"... Database closed. Database dismounted. ORACLE instance shut down. Operation requires startup of instance "south_sales1" on database "South_Sales" Starting instance "south_sales1"... ORACLE instance started. Database mounted. Continuing to convert database "South_Sales" ... Database "South_Sales" converted successfully
Creates a new broker configuration that includes the specified primary database.
Format
CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS database-name CONNECT IDENTIFIER IS connect-identifier;
Command Parameters
A user-friendly name for the configuration you are creating. Valid names contain any alphanumeric characters. If spaces are included in the name, the name must be enclosed in double or single quotation marks. The name must consist of 30 or fewer bytes.
The name that will be used by the broker to refer to the primary database. It must match (case-insensitive) the value of the primary database DB_UNIQUE_NAME
initialization parameter.
A fully specified connect descriptor or a name to be resolved by an Oracle Net Services naming method (for example, TNS). The value you specify is also used as the initial value of the DGConnectIdentifier
database property.
Usage Notes
A broker configuration is a named collection of one or more databases that you want to manage as a group. You must specify a value for each of the command parameters. There are no default values.
You must connect to the primary database to issue this command.
The broker uses the specified connect-identifier
to communicate with the specified database from other databases. Therefore, you must ensure that the connect-identifier
can be used to address the specified database from all databases in your configuration. For example, if TNS is used as the naming method, you must ensure that the tnsnames.ora file on every database and instance that is part of the configuration contains an entry for the connect-identifier
. The connect identifier must resolve to the same connect descriptor. If the database that is being added is an Oracle RAC database, the connect-identifier
provided here must reach all instances of the Oracle RAC, preferably with FAILOVER
attributes set.
To add standby databases after you create the broker configuration, use the ADD DATABASE command.
You must clear any remote redo transport destinations on the primary database that do not have the NOREGISTER
attribute, before a configuration can be created.
Command Example
The following example creates a new broker configuration named DRSolution
with a primary database named North_Sales
.
DGMGRL> CREATE CONFIGURATION 'DRSolution' AS > PRIMARY DATABASE IS 'North_Sales' > CONNECT IDENTIFIER IS North_Sales.example.com; Configuration "DRSolution" created with primary database "North_Sales"
Disables broker management of a configuration so that the configuration and all of its databases are no longer managed by the broker.
Format
DISABLE CONFIGURATION;
Command Parameters
None.
Usage Notes
A disabled configuration and all of its constituent databases are no longer managed by the broker.
The only way to disable broker management of the primary database is to use the DISABLE CONFIGURATION
command.
This command does not remove the broker configuration from the configuration file. See the REMOVE CONFIGURATION command for more information about removing the configuration.
You can edit database properties and modify the configuration's protection mode while the configuration is disabled. However, any changes made to properties or to the protection mode will not take effect until the configuration is enabled.
This command cannot be executed if fast-start failover is enabled.
Command Example
The following example disables management of the broker configuration and all of its databases.
DGMGRL> DISABLE CONFIGURATION; Disabled.
Disables broker management of the named standby database. This means that broker directed state changes will be disallowed for this database, and the broker will not monitor the database for health status or for monitorable properties.
Format
DISABLE DATABASE database-name;
Usage Notes
You cannot specify the name of a primary database.
Use the DISABLE CONFIGURATION
command to disable the primary and all standby databases.
If the sole standby database is disabled, you have no failover option. This standby database is not viable for failover until it is reenabled.
This command cannot be used to disable the fast-start failover target database when fast-start failover is enabled.
Command Example
The following example shows how to disable a database named South_Sales
.
DGMGRL> DISABLE DATABASE 'South_Sales'; Disabled.
Disables broker management of a far sync instance.
Format
DISABLE FAR_SYNC far_sync_instance_name;
Usage Notes
A far sync instance that has its RedoRoutes
property set cannot be disabled.
Command Example
The following example disables broker management of a far sync instance named chicago
.
DGMGRL> DISABLE FAR_SYNC 'chicago';
Disables fast-start failover and prevents the observer from initiating a failover to the target standby database. See Disabling Fast-Start Failover for additional information.
Format
DISABLE FAST_START FAILOVER [ FORCE ];
Command Parameters
None.
Usage Notes
If the primary and target standby database have a network connection, use DISABLE FAST_START FAILOVER
without the FORCE
option to disable fast-start failover on all databases in the broker configuration. If errors occur during the disable operation, the broker returns an error message and stops the disable operation. You may need to reissue the DISABLE FAST_START FAILOVER
command with the FORCE
option to override the error conditions and disable fast-start failover on the database to which you are connected. See Disabling Fast-Start Failover for more information.
Use DISABLE FAST_START FAILOVER
with the FORCE
option when the network between the primary and target standby databases is disconnected or when the database upon which the command is received does not have a connection with the primary database. The FORCE
option disables fast-start failover on the database to which you are connected, even when errors occur.
Disabling fast-start failover with the FORCE
option on a primary database that is disconnected from the observer and the target standby database does not prevent the observer from initiating a fast-start failover to the target standby database.
You can disable fast-start failover while connected to any database in the broker configuration so long as connectivity exists between that database and the primary.
If disabled by force at the target standby database and the connection subsequently resumes with the primary database, fast-start failover is disabled on all databases in the configuration.
Disabling fast-start failover with the FORCE
option while connected to the primary will disable fast-start failover on the target standby database if there is network connectivity between both databases.
Command Examples
Example 1: Disabling a Fast-Start Failover
The following example shows how to disable fast-start failover.
DGMGRL> DISABLE FAST_START FAILOVER; Disabled.
Example 2: Using FORCE When Disabling Fast-Start Failover
The following example uses the FORCE
option which disables fast-start failover on the database to which you are connected.
DGMGRL> DISABLE FAST_START FAILOVER FORCE; Disabled.
Allows a user to remove conditions for which a fast-start failover should be performed.
Format
DISABLE FAST_START FAILOVER CONDITION value;
Command Parameters
Usage Notes
If the condition has not been set or if it is an unrecognized condition, then an error is raised.
Command Example
This example specifies that the detection of a corrupted control file does not automatically initiate an immediate fast-start failover.
DGMGRL> DISABLE FAST_START FAILOVER CONDITION "Corrupted Controlfile";
Changes the value of a property for the broker configuration.
Format
EDIT CONFIGURATION SET PROPERTY property-name=value;
Command Parameters
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about configuration properties
Usage Notes
Issue this command while connected to the primary database or to any standby database in the broker configuration having connectivity to the primary database.
Use the SHOW CONFIGURATION
command to display the current property information for the configuration.
Command Example
The following example shows how to set the FastStartFailoverThreshold
configuration property to 90 seconds.
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold=90;
Edits the current protection mode setting for the broker configuration.
Format
EDIT CONFIGURATION SET PROTECTION MODE AS protection-mode;
Command Parameter
Usage Notes
Before you use the EDIT
CONFIGURATION
command to set the protection mode to either MAXPROTECTION
or MAXAVAILABILITY
mode, ensure that at least one standby is configured to receive redo via SYNC
or FASTSYNC
mode if it receives redo directly from the primary. If the standby receives redo via a far sync instance, the far sync instance must be configured to receive redo via SYNC
or FASTSYNC
mode and the standby must be configured to receive redo via ASYNC
mode.
The following table shows the configuration protection modes and the minimum corresponding settings for redo transport services:
Protection Mode | Redo Transport | Standby Redo Log Files Needed? | Usable with Fast-Start Failover? |
---|---|---|---|
|
|
Yes |
No |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
The default protection mode for the configuration is MAXPERFORMANCE
.
See Also:
Managing the Members of a Broker Configuration for more information about the protection modes and redo transport services
MAXAVAILABILITY
or MAXPERFORMANCE
is required in order to enable fast-start failover.
This command cannot be executed if fast-start failover is enabled.
If you want to avoid a restart of the primary database when upgrading from maximum performance mode to maximum protection mode, then first upgrade to maximum availability. Then wait for the PROTECTION_LEVEL
column of V$DATABASE
to contain a value of MAXIMUM
AVAILABILITY
. Once the column contains that value, you can upgrade to maximum protection mode.
Use the SHOW CONFIGURATION
command to display the current protection mode for the configuration.
DGMGRL> SHOW CONFIGURATION;
Configuration - DRSolution
Protection Mode: MaxPerformance
Databases:
North_Sales - Primary database
South_Sales - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
If broker management of the configuration is disabled when you enter the EDIT CONFIGURATION
command, the protection mode of the configuration does not take effect until the next time you enable the configuration with the ENABLE CONFIGURATION command.
Command Example
The following example shows how to upgrade the broker configuration to the MAXAVAILABILITY
protection mode.
Verify that standby redo log files are configured on the standby database and that the redo transport service is set to SYNC
, for example:
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'LogXptMode'='SYNC'; Property "LogXptMode" updated DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY; Succeeded.
Changes the configuration name.
Format
EDIT CONFIGURATION RENAME TO new_configuration-name;
Command Example
The following example shows how to rename a configuration named DR_Sales
to HA_Sales
.
DGMGRL> show configuration Configuration - DR_Sales Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Physical standby database Fast-Start Failover: DISABLED Configuration Status: DISABLED DGMGRL> edit configuration rename to "HA_Sales"; Succeeded. DGMGRL> enable configuration Enabled. DGMGRL> show configuration Configuration - HA_Sales Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS
Resets the specified configuration property to its default value.
Format
EDIT CONFIGURATION RESET PROPERTY property-name;
Usage Notes
Issue this command while connected to the primary database or to any standby database in the broker configuration having connectivity to the primary database.
Use the SHOW CONFIGURATION
command to display the current property information for the configuration.
Command Example
The following example shows how to reset the BystandersFollowChange
property.
DGMGRL> EDIT CONFIGURATION RESET PROPERTY BystandersFollowChange; Succeeded.
Changes the name used by the broker for the specified database.
Format
EDIT DATABASE database-name SET PROPERTY property-name=value;
Command Parameters
The name of the database for which you want to change a property value.
The name of an existing database-specific property. If this is an Oracle RAC database, this property change affects all instances of the database.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
The new value for the property.
Note:
This command can be used to change the value of an instance-specific property if and only if just one instance is known by the broker for the named database. An attempt to use this command to change an instance-specific property when the broker knows of multiple instances of the database will be rejected. It is recommended to only use EDIT INSTANCE (property)
to change the value of an instance-specific property.
Command Examples
Example 1: Editing a Configurable Property at the Database Level
Edit a configurable property at the database level.
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'ArchiveLagTarget'=1200; Property "ArchiveLagTarget" updated
Example 2: Editing a Configurable Instance-Specific Property of a non-Oracle RAC Database
Edit a configurable instance-specific property of a non-Oracle RAC database.
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated
Example 3: Editing a Configurable Instance-Specific Property of an Oracle RAC Database
Edit a configurable instance-specific property of an Oracle RAC database. This will not succeed because it is not clear to which instance the property change should be applied.
DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY > 'StandbyArchiveLocation'='/archfs/arch/'; Error: ORA-16587: ambiguous object specified to Data Guard broker Failed.
Changes the name used by the broker to refer to the specified database.
Format
EDIT DATABASE database-name RENAME TO new-database-name;
Command Parameters
Usage Notes
Use this command to track changes to the DB_UNIQUE_NAME
initialization parameter for this database.
Caution:
The database-name
must always match the value for that database's DB_UNIQUE_NAME
initialization parameter.
This command can only be done when broker management of the database that you are renaming is disabled.
Command Example
The following example shows how to edit and rename a database.
DGMGRL> DISABLE DATABASE 'South_Sales_typo'; Disabled. DGMGRL> EDIT DATABASE 'South_Sales_typo' RENAME TO 'South_Sales'; Succeeded. DGMGRL> ENABLE DATABASE 'South_Sales'; Enabled.
Changes the state of the specified database.
Format
EDIT DATABASE database-name SET STATE=state [WITH APPLY INSTANCE=instance-name];
Command Parameters
The name of the database for which you want to change the state.
The state in which you want the database to be running. The possible states are:
TRANSPORT-ON
(primary database only)TRANSPORT-OFF
(primary database only)APPLY-ON
(physical or logical standby database only)APPLY-OFF
(physical or logical standby database only)The name of the instance you want to become the apply instance if this is an Oracle RAC standby database.
Usage Notes
If the target state is APPLY-ON
and this database is currently a physical or logical standby database, the optional WITH APPLY INSTANCE
clause specifies which instance will become the apply instance.
If the target state is not APPLY-ON
or if the database is currently in the primary role, the WITH APPLY INSTANCE
clause is ignored even if it is specified.
You cannot change the state of a snapshot standby database.
All instances of an Oracle RAC database are affected by this database state change.
Command Example
The following examples show how to change the state of a database.
DGMGRL> EDIT DATABASE 'South_Sales' SET STATE='APPLY-ON'; Succeeded.
Resets the specified property for the named database back to its default value.
Format
EDIT DATABASE database-name RESET PROPERTY property-name;
Command Parameters
Command Example
The following example shows how to reset the NetTimeout
property for the database named South_Sales
.
DGMGRL> EDIT DATABASE 'South_Sales' RESET PROPERTY NetTimeout; Succeeded.
Changes the name or properties of a far sync instance.
Format
EDIT FAR_SYNC far_sync_instance_name RENAME TO new_far_sync_instance_name;
EDIT FAR_SYNC far_sync_instance_name SET PROPERTY property_name = value;
Command Parameters
The name of the far sync instance for which you want to edit information. It must match (case-insensitive) the value of the corresponding database DB_UNIQUE_NAME
initialization parameter.
The new name of the far sync instance.
The name of an existing far sync instance-specific configurable property.
Command Example
The following example renames a far sync instance named chicago
to the name dallas
.
DGMGRL> DISABLE FAR_SYNC 'chicago_typo';EDIT FAR_SYNC 'chicago_typo' RENAME TO 'chicago';ENABLE FAR_SYNC 'chicago;
Resets the specified property for the named far sync instance to its default value.
Format
EDIT FAR_SYNC far_sync_instance_name RESET PROPERTY property-name;
Command Parameters
Command Example
The following example shows how to reset the ReopenSecs
property back to its default value for the far sync instance named dallas
.
DGMGRL> EDIT FAR_SYNC 'dallas' RESET PROPERTY ReopenSecs;
Sets the name of the initialization parameter file for the specified instance.
Format
EDIT INSTANCE instance-name
[ON DATABASE database-name] SET AUTO PFILE [= { initialization-file | OFF } ];
Command Parameters
The name of the instance (SID) for which you want to specify its initialization parameter file.
The name of the database to which the instance-name
is associated.
Executes the startup operation for the instance when a subsequent broker operation requires the instance to be started automatically. If SET AUTO PFILE
is set to OFF
, automatic restart of that instance is disabled. When a subsequent operation needs to start that instance, you must start it manually. If you do not specify SET AUTO PFILE
for the instance, the automatic startup operation looks for the initialization parameter file at the default ___location.
Usage Notes
The instance-name
can be unique across the configuration. If instance-name
is not unique, you must specify both the database-name
and the instance-name
to fully identify the instance.
SET AUTO PFILE
is valid only for the duration of the current DGMGRL session. You must specify SET AUTO PFILE
again if you quit and reenter DGMGRL.
Command Example
The following example shows how to change the parameter file used to start an instance of a database.
DGMGRL> EDIT INSTANCE 'south_sales1' ON DATABASE 'South_Sales' > SET AUTO PFILE='initsales1.ora'; Instance 'south_sales1' updated
Changes the value of an instance-specific property for the specified instance(s).
Format
EDIT INSTANCE { {instance-name [ON {DATABASE database-name | FAR_SYNC far-sync-name}] } | {* ON {DATABASE database-name | FAR_SYNC far-sync-name} } }
SET PROPERTY property-name=value;
Command Parameters
The name of the instance (SID) for which you want to change an instance-specific property's value. If an asterisk is specified for instance-name, then either the ON DATABASE
clause or the ON
FAR_SYNC
clause must also be specified and this change will be applied to the specified property for each instance associated with that database or far sync. See Oracle Data Guard Broker Properties for the instance-specific properties that can be changed using this command.
The name of the database with which the instance-name
is associated. This must be specified if an asterisk is specified for instance-name
, or if instance-name
is not unique across the configuration
The name of the far sync with which the instance-name
is associated.
The option of specifying a far sync is available only in Oracle Database 12c release 1 (12.1.0.2) and later.
The name of the instance-specific property for which you want to set a new value.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
The new value for the property.
Usage Notes
The instance-name
can be unique across the configuration. If instance-name
is not unique, you must specify both the database-name
(or far-sync-name
) and the instance-name
to fully identify the instance.
This command cannot be used to change a database-specific property.
Command Examples
Example 1: Editing an Instance-Specific Property
Edit an instance-specific property.
DGMGRL> EDIT INSTANCE 'north_sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'StandbyArchiveLocation'='/archfs/arch/'; Property "StandbyArchiveLocation" updated.
Example 2: Editing a Database-Specific Property
Edit a database-specific property. This will not be allowed.
DGMGRL> EDIT INSTANCE 'north_sales1' ON DATABASE 'North_Sales' > SET PROPERTY 'LogXptMode'='SYNC'; Error: ORA-16586: cannot change database property with EDIT INSTANCE command Failed.
Example 3: Changing Instance-Specific Property for All Instances on an Oracle RAC Database
Change the value of an instance-specific property for all instances of an Oracle RAC database:
DGMGRL> EDIT INSTANCE * ON DATABASE 'North_Sales' > SET PROPERTY LogArchiveTrace=4095;
Example 4: Changing Instance-Specific Property for All Instances of an Oracle RAC Far Sync
Change the value of an instance-specific property for all instances of an Oracle RAC far sync instance:
DGMGRL> EDIT INSTANCE * ON FAR_SYNC 'dallas' SET PROPERTY LogArchiveTrace=4095;
Resets an instance-specific property for the specified instance(s) to its default value.
Format
EDIT INSTANCE { {instance-name [ON {DATABASE database-name | FAR_SYNC far-sync-name}] } | {* ON {DATABASE database-name | FAR_SYNC far-sync-name} } } RESET PROPERTY property-name;
Command Parameters
The name of the instance (SID) for which you want to reset an instance-specific property's value to the default. If an asterisk is specified for instance-name, the ON DATABASE
clause must also be specified and the property will be reset to the default for each instance associated with that database.
The name of the database with which the instance-name
is associated. This must be specified if an asterisk is specified for instance-name
, or if instance-name
is not unique across the configuration.
The name of the instance-specific property that you want to reset to its default value.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
The new value for the property.
Usage Notes
The instance-name
can be unique across the configuration. If instance-name
is not unique, you must specify both the database-name
and the instance-name
to fully identify the instance.
This command cannot be used to change a database-specific property.
Command Examples
Example 1: Resetting a Property for a Specific Instance
The following command shows how to reset the LogArchiveTrace
property for the specific instance south1
on the database named South_Sales
.
DGMGRL> EDIT INSTANCE 'south1' ON DATABASE 'South_Sales' > RESET PROPERTY LogArchiveTrace; Succeeded.
Example 2: Resetting a Property for All Instances of a Database
The following example shows how to reset the LogArchiveTrace property for all instances of the database named South_Sales.
DGMGRL> EDIT INSTANCE * ON DATABASE 'South_Sales' RESET PROPERTY LogArchiveTrace; Succeeded.
Enables the broker to actively manage the broker configuration including all of its databases.
Format
ENABLE CONFIGURATION;
Command Parameters
None.
Usage Notes
Use this command to enable broker management of the primary database and all members of the configuration, if these members are not explicitly disabled by the user.
To issue this command, you must connect to a database whose control file role is primary.
By default, broker management of the configuration's databases is enabled in the TRANSPORT-ON
state with redo transport services turned on at the primary database and APPLY-ON
with log apply services started at the standby databases. Far sync instances will be enabled such that they receive redo data and send redo data. You can change the state of a database using the EDIT DATABASE (State) command, but not when the database or the entire configuration is disabled. You cannot change the state of a far sync instance.
Use the SHOW CONFIGURATION command to display information about the configuration.
Use this command to update the roles stored in the broker configuration if a failover or switchover was performed using SQL*Plus instead of DGMGRL or Cloud Control.
Command Example
The following example enables management of a broker configuration.
DGMGRL> ENABLE CONFIGURATION; Enabled.
Enables broker management of the specified standby database.
Caution:
Do not issue the ENABLE DATABASE
command on a standby database that needs to be reinstated. See Reenabling Disabled Databases After a Role Change for more details.
Format
ENABLE DATABASE database-name;
Command Parameters
Usage Notes
You must connect to the primary database or to an already enabled standby database to issue this command.
A standby database may have been disabled by the broker as a consequence of a prior failover or switchover operation. See Reenabling Disabled Databases After a Role Change to understand how the database can be reinstated or re-created.
By default, broker management of the physical or logical standby database is enabled in the APPLY-ON
state with log apply services enabled. You can change the state of the standby database using the EDIT DATABASE (State) command, but only when the database is enabled.
Use the SHOW DATABASE command to display information about the database.
For an Oracle RAC database, only one instance is required to be started and mounted for this command to succeed.
Command Example
The following example shows how to enable a database named South_Sales
.
DGMGRL> ENABLE DATABASE 'South_Sales'; Enabled.
Enables broker management of the specified far sync instance.
Format
ENABLE FAR_SYNC far_sync_instance_name ;
Command Parameters
Command Example
The following example enables broker management of a far sync instance named dallas
.
DGMGRL> ENABLE FAR_SYNC 'dallas';
Enables the broker to fail over to a specifically-chosen standby database in the event of loss of the primary database, without requiring you to perform any manual steps to invoke the failover. See Enabling Fast-Start Failover for complete information.
Format
ENABLE FAST_START FAILOVER;
Command Parameters
None.
Usage Notes
The prerequisites described in Prerequisites for Enabling Fast-Start Failover must be met before you issue this command to enable fast-start failover.
Issuing the ENABLE FAST_START FAILOVER
command does not trigger a failover, it only allows the observer that is monitoring the configuration to initiate a fast-start failover if conditions warrant a failover.
You can enable fast-start failover while connected to any database in the broker configuration.
If you do not start the observer after you have enabled fast-start failover, the ORA-16819
warning is displayed for the primary and target standby databases. For example:
DGMGRL> SHOW DATABASE 'South_Sales'; Database - South_Sales Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): south_sales1 Database Warning(s): ORA-16819: fast-start failover observer not started Database Status: WARNING
To enable fast-start failover for a broker configuration with multiple standby databases, the FastStartFailoverTarget
configuration property on the primary database must be set to point to the desired target standby database. Both the primary database and the target standby database must have:
Standby redo logs configured
Redo transport must be properly configured at both databases for the configured protection mode
Flashback Database enabled on both the primary and standby databases
Step 2 in Enabling Fast-Start Failover and FastStartFailoverTarget provide more information about the FastStartFailoverTarget
configuration property.
Once you have enabled fast-start failover, you must comply with the restrictions described in Restrictions When Fast-Start Failover is Enabled.
Command Examples
Example 1: Enabling a Fast-Start Failover
The following example enables fast-start failover.
DGMGRL> ENABLE FAST_START FAILOVER; Enabled.
Example 2: Successful Enabling of Fast-Start Failover
The following example shows that fast-start failover was successfully enabled when the configuration is operating in maximum performance mode.
DGMGRL> SHOW FAST_START FAILOVER; Fast-Start Failover: ENABLED Threshold: 30 seconds Target: South_Sales Observer: (none) Lag Limit: 30 seconds Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configurable Failover Conditions Health Conditions: Corrupted Controlfile YES Corrupted Dictionary YES Inaccessible Logfile NO Stuck Archiver NO Datafile Offline YES Oracle Error Conditions: (none)
Specifies additional conditions for which a fast-start failover should be performed.
Format
ENABLE FAST_START FAILOVER CONDITION value;
Command Parameters
Usage Notes
Table 7-2 lists some examples of health conditions maintained by the database health-check facility.
An error is raised if the specified value is not recognized or if the condition has already been set.
Table 7-2 Examples of Health Conditions
Health Condition | Description |
---|---|
"Datafile Offline" |
Data file offline due to a write error. This condition is enabled by default. |
"Corrupted Controlfile" |
Corrupted controlfile. This condition is enabled by default. |
"Corrupted Dictionary" |
Dictionary corruption of a critical database object. This condition is enabled by default. |
"Inaccessible Logfile" |
LGWR is unable to write to any member of a log group due to an I/O error. |
"Stuck Archiver" |
Archiver is unable to archive a redo log because device is full or unavailable. |
You can display these configurable conditions with the SHOW FAST_START FAILOVER
command.
Command Examples
Example 1
The following example specifies that a fast-start failover should be done if a corrupted controlfile is detected.
ENABLE FAST_START FAILOVER CONDITION "Corrupted Controlfile";
Example 2
The following example specifies that a fast-start failover should be done if an ORA-00240 error is raised.
ENABLE FAST_START FAILOVER CONDITION 240;
Exits (quits) the command-line interface.
Format
EXIT;
Command Parameters
None.
Usage Notes
This command has the same effect as the QUIT command.
A database connection is not required to execute this command. However, if you are connected, this command breaks the connection.
Command Example
The following example demonstrates how to exit (quit) the command-line interface.
DGMGRL> EXIT;
Invokes a failover that transitions the named (target) standby database into the role of a primary database. This type of failover is referred to as manual failover. See Manual Failover for more information.
Note:
Because a failover results in a transition of a standby database to the primary role, it should be performed when the primary database has failed or is unreachable and cannot be recovered in a timely manner. Failover may or may not result in data loss depending on the protection mode in effect at the time of the failover and whether the target standby database was synchronized with the primary database.
Use the SWITCHOVER
command if the primary database has not failed and you want the current primary database and a standby database to switch roles with no data loss.
Format
FAILOVER TO database-name
[ IMMEDIATE ];
Command Parameters
Usage Notes
Always try to perform a complete failover first unless Redo Apply has stopped at the failover target due to an ORA-752
or ORA-600
[3020]
error. If one of these errors has occurred, then before proceeding follow the guidelines in "Resolving ORA-752 or ORA-600 [3020] During Standby Recovery" in My Oracle Support Note 1265884.1 at http://support.oracle.com
. An immediate failover should only be performed when a complete failover is unsuccessful or in the error case just noted.
The specified standby database must be enabled before the primary database fails. However, an enabled standby database that was shut down can be a candidate for the failover operation. In this case, restart the standby database using DGMGRL STARTUP
command, then issue the FAILOVER
command.
The failover operates on the specified standby database and changes its role to a primary database. Bystander standby databases (those not involved in the failover) remain in the standby role.
Before you issue the FAILOVER
command, verify that you are connected to the standby database that will become the new primary database. If necessary, issue a CONNECT command to connect to the standby database to which you want to failover.
If the FAILOVER
command is issued without any options, the standby database chosen as the failover target applies all unapplied redo it has received before changing to the primary role. This is referred to as a complete failover.
If the broker configuration is operating in maximum protection mode, a manual failover operation will force the protection mode to be maximum performance. The redo transport service settings are unaffected. You need to restore the desired protection mode for the resulting configuration after the failover operation.
Note:
With fast-start failover, the broker preserves the protection mode that was in effect prior to the failover. The broker configuration cannot be in maximum protection mode while fast-start failover is enabled.
If the FAILOVER
command is issued with the IMMEDIATE
option, no attempt is made to apply any unapplied redo that has been received. This option more likely results in lost application data even when standby redo log files are configured on the standby database. Additionally, any remaining standby databases in the configuration cannot function as such until they are reinstated or re-created. See Reenabling Disabled Databases After a Role Change for more information.
You can perform a manual failover or set up the broker to perform a fast-start failover. See the ENABLE FAST_START FAILOVER command for information about allowing the broker to automatically invoke failover, when conditions warrant a failover.
If fast-start failover is enabled, you can perform a complete manual failover only to the fast-start failover target standby database and only if the fast-start failover target standby database is synchronized with, or within the lag limit of, the primary database, and only when the observer is started. You cannot perform an immediate manual failover when fast-start failover is enabled.
If Flashback Database was enabled on the former (failed) primary database prior to the failover, the former primary database can be reinstated using the broker's REINSTATE
command (see the REINSTATE DATABASE command).
If failover was performed to a physical standby database, any other physical standby databases that were disabled by the failover can be reinstated if Flashback Database was enabled on the standby database and there are sufficient flashback logs available. See Reenabling Disabled Databases After a Role Change for step-by-step instructions.
The original primary database can only participate in the configuration as a standby database after it is reinstated or re-created.
Caution:
You should shut down the original primary database if it still has any active instances running prior to failing over.
See Also:
Reenabling Disabled Databases After a Role Change about reenabling the original primary database so that it could serve as a standby database to the primary database
Command Example
The following example performs a failover in which the standby database, South_Sales
, transitions to the primary role:
DGMGRL> FAILOVER TO 'South_Sales'; Performing failover NOW, please wait... Failover succeeded, new primary is "South_Sales" DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxPerformance Databases: South_Sales - Primary database North_Sales - Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: DISABLED Configuration Status: WARNING
Displays online help for the Data Guard command-line interface.
Format
HELP [command_name];
Command Parameter
The command for which you want to display help information. If you do not specify a command, then all commands are listed. The following commands are available:
add Adds a standby database to the broker configuration connect Connects to an Oracle database instance convert Converts a database from one type to another create Creates a broker configuration disable Disables a configuration, a database, or fast-start failover edit Edits a configuration, database, or instance enable Enables a configuration, a database, or fast-start failover exit Exits the program failover Changes a standby database to be the primary database help Displays description and syntax for a command quit Exits the program reinstate Changes a database marked for reinstatement into a viable standby rem Comment to be ignored by DGMGRL remove Removes a configuration, database, or instance show Displays information about a configuration, database, or instance shutdown Shuts down a currently running Oracle database instance sql Executes a SQL statement start Starts the fast-start failover observer startup S tarts an Oracle database instance stop Stops the fast-start failover observer switchover Switches roles between a primary and standby database validate Performs an exhaustive set of validations for a database
Enter help
command_name
to see syntax for individual commands.
Usage Notes
A database connection is not required to execute this command.
Command Example
The following example gets help on the EDIT
commands.
DGMGRL> HELP EDIT
Quits (exits) the Data Guard command-line interface.
Format
QUIT;
Command Parameters
None.
Usage Notes
This command has the same effect as the EXIT command.
A database connection is not required to execute this command. However, if you are connected, this command breaks the connection.
Command Example
The following example shows how to quit (exit) the command-line interface.
DGMGRL> QUIT;
Reinstates a database as a new standby database in the broker configuration for the current primary database.
Format
REINSTATE DATABASE database-name;
Command Parameters
Usage Notes
If the conditions for reinstatement described in Reinstating the Former Primary Database in the Broker Configuration are not satisfied, the reinstatement will fail with an appropriate error status and the specified database will remain disabled.
If the database-name
specified is that of the old primary and fast-start failover is enabled, the old primary database will be reinstated as a standby to the new primary, and the fast-start failover environment will be updated to reflect the availability of the new standby database. It will accept redo data from the new primary database and be the target of a fast-start failover should the new primary database fail. Reinstatement occurs automatically if the observer is running unless the FastStartFailoverAutoReinstate
configuration property is set to FALSE
.
This command does not require that fast-start failover be enabled. It can be used to reinstate an old primary database after a complete manual failover has been performed. It can also be used to reinstate a bystander standby database that had been disabled after either a complete or immediate failover.
Issue this command while connected to any database in the broker configuration, except the database that is to be reinstated.
Command Example
The following example reinstates the North_Sales
database as a standby database in the broker configuration.
DGMGRL> REINSTATE DATABASE 'North_Sales'; Reinstating database "North_Sales", please wait... Reinstatement of database "North_Sales" succeeded
Removes the Oracle Data Guard broker configuration and ends broker management of all members in the configuration.
Format
REMOVE CONFIGURATION [ PRESERVE DESTINATIONS ];
Command Parameters
None.
Usage Notes
When you remove a broker configuration, management of all of the members associated with that configuration is disabled.
By default, the command removes the corresponding broker settings of the LOG_ARCHIVE_DEST_
n
initialization parameter on the primary database and the LOG_ARCHIVE_CONFIG
initialization parameters on all members of the configuration. To preserve these settings, use the PRESERVE DESTINATIONS
option.
This command does not remove or affect the actual primary or standby database instances, databases, far sync instances, data files, control files, initialization parameter files, server parameter files, or log files of the underlying Oracle Data Guard configuration.
You cannot remove the configuration when fast-start failover is enabled.
Command Examples
The following examples show a successful and an unsuccessful REMOVE CONFIGURATION
command.
Example 1
The following command shows how to remove configuration information from the configuration file.
DGMGRL> REMOVE CONFIGURATION; Removed configuration DGMGRL> SHOW CONFIGURATION; Error: ORA-16532: Data Guard broker configuration does not exist Configuration details cannot be determined by DGMGRL
Example 2
The following command is unsuccessful because fast-start failover is enabled.
DGMGRL> REMOVE CONFIGURATION; Error: ORA-16654: fast-start failover is enabled Failed. DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxAvailability Databases: North_Sales - Primary database South_Sales - (*) Physical standby database Fast-Start Failover: ENABLED Configuration status: SUCCESS
Removes the specified standby database from the broker configuration and terminates broker management of that standby database.
Format
REMOVE DATABASE database-name [ PRESERVE DESTINATIONS ];
Command Parameter
Usage Notes
An error is returned if you specify the name of the primary database in the broker configuration.
By default, this command removes all references to the specified database from all redo transport initialization parameters at each member of the configuration. To preserve these settings, use the PRESERVE DESTINATIONS
option.
This command cannot be executed if fast-start failover is enabled and database-name specifies the name of the target standby database.
Command Example
The following example shows how to remove a database from the Oracle Data Guard broker configuration.
DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxPerformance Databases: North_Sales - Primary database South_Sales - Physical standby database Fast-Start Failover: DISABLED Configuration status: SUCCESS DGMGRL> REMOVE DATABASE 'South_Sales'; Removed database "South_Sales" from the configuration. Configuration - DRSolution Protection Mode: MaxPerformance Databases: North_Sales - Primary database Fast-Start Failover: DISABLED Configuration status: SUCCESS
Removes a far sync instance from an Oracle Data Guard broker configuration.
Format
REMOVE FAR_SYNC far_sync_instance_name;
Command Parameters
Usage Notes
A far sync instance that has its RedoRoutes
property set cannot be removed.
Command Example
The following example removes a far sync instance named dallas
from the broker configuration.
DGMGRL> REMOVE FAR_SYNC 'dallas';
Removes the specified instance from the broker configuration.
Format
REMOVE INSTANCE instance-name [ON { DATABASE | FAR_SYNC } object-name];
Command Parameters
The name of the instance (SID) that you want to remove from the broker configuration.
The name of the database or the far sync with which the instance-name
is associated. The option of specifying a far sync is available only in Oracle Database 12c Release 1 (12.1.0.2) and later.
Usage Notes
The broker automatically adds started instances to the broker configuration. However, the broker does not automatically remove instances from the database. The REMOVE
INSTANCE
command can be used to manually remove any instance that no longer exists from the configuration.
If the instance-name
is not unique within the configuration, then you must specify both the database-name or far sync-name, and the instance-name to fully identify the instance.
This command is rejected for an instance that is currently active in the broker configuration.
This command is rejected if this is the only instance currently associated with a database or far sync.
Command Example
The following example shows how to remove an instance of the database.
DGMGRL> REMOVE INSTANCE 'south_sales3' ON DATABASE 'South_Sales'; Removed instance "south_sales3" from the database "South_Sales"
Displays a summary and status of the broker configuration. The summary lists all members included in the broker configuration and other information pertaining to the broker configuration itself, including the fast-start failover status.
Format
SHOW CONFIGURATION [VERBOSE | property-name];
Command Parameters
The name of the property for which you want to display summary information.
See Oracle Data Guard Broker Properties for complete information about properties.
Usage Notes
Use the SHOW CONFIGURATION VERBOSE
command (or the SHOW FAST_START FAILOVER
command) to show the properties related to fast-start failover.
You can optionally specify either VERBOSE
or property-name
, but not both.
The SHOW
CONFIGURATION
command displays the status of the configuration and its members as of the last time the health was evaluated. (The health of the configuration and its members is evaluated once a minute.)
Specifying the VERBOSE
keyword forces an immediate health evaluation of the configuration and its members before the health information is displayed.
Command Examples
Example 1 Showing a Summary of the DRSolution Configuration
The following example provides a summary of the DRSolution
configuration for which fast-start failover is disabled. The output shows a far sync instance named FS
in the broker configuration. The North_Sales
database is shipping to FS
, and FS
is shipping to South_Sales
.
DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxAvailability Members: North_Sales - Primary database FS- Far sync instance South_Sales- Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 20 seconds ago)
Example 2 Showing Detailed Description of the DRSolution Configuration
The following example provides detailed information about the DRSolution configuration, including configuration properties, and fast-start failover-related information:
DGMGRL> SHOW CONFIGURATION VERBOSE; Configuration - DRSolution Protection Mode: MaxAvailability Members: North_Sales - Primary database FS- Far sync instance South_Sales- (*) Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' Fast-Start Failover: ENABLED Threshold: 30 seconds Target: South_Sales Observer: observer.example.com Lag Limit: 30 seconds (not in use) Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: WARNING
Displays the redo transport configuration that would be in effect if the specified database were the primary database. The display lists all members, but unlike SHOW
CONFIGURATION
, it does not provide status or any other configuration information. (This command is available in Oracle Database 12c Release 1 (12.1.0.2) and later.)
Format
SHOW CONFIGURATION WHEN PRIMARY IS database-name;
Command Parameters
Usage Notes
Use the SHOW
CONFIGURATION
WHEN
PRIMARY
IS
command to show the redo transport configuration that would be in effect if the specified database were the primary database. You can use this information to identify ahead of time any redo transport configurations that would be incorrect after a role change.
Command Example
The following example provides a summary of the DRSolution
configuration before and after a role change to the South_Sales
database.
DGMGRL> SHOW CONFIGURATION; Configuration - DRSolution Protection Mode: MaxAvailability Members: North_Sales - Primary database North_FS - Far Sync South_Sales - Physical standby database Members Not Receiving Redo: South_FS - Far Sync Fast-Start Failover: DISABLED Configuration Status: SUCCESS DGMGRL> SHOW CONFIGURATION WHEN PRIMARY IS 'South_Sales'; Configuration when South_Sales is primary - DRSolution Members: South_Sales - Primary database South_FS - Far Sync North_Sales - Physical standby database Members Not Receiving Redo: North_FS - Far Sync
These displays are based upon the RedoRoutes
property being set as follows for each member:
DGMGRL> SHOW DATABASE 'North_Sales' RedoRoutes; RedoRoutes = '(LOCAL : North_FS)' DGMGRL> SHOW FAR_SYNC 'North_FS' RedoRoutes; RedoRoutes = '(North_Sales : South_Sales)' DGMGRL> SHOW DATABASE 'South_Sales' RedoRoutes; RedoRoutes = '(LOCAL : South_FS)' DGMGRL> SHOW FAR_SYNC 'South_FS' RedoRoutes; RedoRoutes = '(South_Sales : North_Sales)'
Displays information or property values of the specified database and its instances.
Format
SHOW DATABASE [VERBOSE] database-name [property-name];
Command Parameters
The name of the database for which you want to display information. The VERBOSE
keyword, if used, must come before the database-name
or an error is returned.
The name of the property for which you want to display a value. If a property name is specified, the output shows only the specified property (not all properties of the database), regardless of whether or not the VERBOSE
keyword is specified.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
Usage Notes
The SHOW DATABASE
command shows a brief summary of the database. SHOW DATABASE VERBOSE
shows properties of the database in addition to the brief summary. They both show the status of the database.
The SHOW DATABASE VERBOSE
command shows database-specific properties and instance-specific properties. For a non-Oracle RAC database, the values of the instance-specific properties are those of the only instance of the database. For an Oracle RAC database, the values of the instance-specific properties will not be shown, although the property names are still listed. To see the instance-specific values of these properties, use the SHOW INSTANCE
command.
The properties that the SHOW DATABASE VERBOSE
command shows depend on the database role and the configuration composition:
For the primary database, properties specific to physical or snapshot standby databases are shown only if there is at least one physical or snapshot standby database in the configuration. The properties specific to logical standby databases are shown only if there is at least one logical standby database in the configuration.
For physical and snapshot standby databases, properties specific to logical standby databases are not shown.
For logical standby databases, properties specific to physical and snapshot standby databases are not shown.
This command is rejected if you use the SHOW DATABASE
database-name property-name
command to show an instance-specific property in an Oracle RAC database.
Command Examples
Example 1: Showing Database Information in Abbreviated Format
This example shows database information in an abbreviated format.
DGMGRL> SHOW DATABASE South_Sales; Database - South_Sales Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: (unknown) Apply Lag: 0 seconds (computed 0 seconds ago) Apply Rate: 1.73 MByte/s Real Time Query: OFF Instance(s): south_sales1 Database Status: SUCCESS
Example 2: Showing Database Information in Extended Format
This example shows database information in an extended format.
DGMGRL> SHOW DATABASE VERBOSE 'South_Sales'; Database - South_Sales Role: PHYSICAL STANDBY Intended State: OFFLINE Transport Lag: (unknown) Apply Lag: (unknown) Apply Rate: (unknown) Real Time Query: OFF Instance(s): south_sales1 Properties: DGConnectIdentifier = 'South_Sales.example.com' ObserverConnectIdentifier = '' LogXptMode = 'ASYNC' RedoRoutes = '' DelayMins = '0' Binding = 'optional' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' PreferredApplyInstance = '' ApplyInstanceTimeout = '0' ApplyLagThreshold = '0' TransportLagThreshold = '0' TransportDisconnectedThreshold = '0' ApplyParallel = 'AUTO' StandbyFileManagement = 'AUTO' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '5' LogArchiveMinSucceedDest = '1' DbFileNameConvert = 'dbs/t, dbs/ct, dbs/bt, dbs/ct' LogFileNameConvert = 'dbs/t, dbs/ct, dbs/bt, dbs/ct' FastStartFailoverTarget = '' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' SendQEntries = '(monitor)' LogXptStatus = '(monitor)' RecvQEntries = '(monitor)' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=south_ sales1.example.com)(PORT=2840)) (CONNECT_DATA=(SERVICE_NAME=South_Sales_DGMGRL.example.com) (INSTANCE_NAME=south_sales1)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'db3r_%d_%t_%s_%R.arc' TopWaitEvents = '(monitor)' Database Status: SUCCESS
Shows information about a far sync instance.
Format
SHOW FAR_SYNC [VERBOSE] far_sync_instance_name [property-name];
Command Parameters
The name of the far sync instance for which the broker will show information. It must match (case-insensitive) the value of the corresponding database DB_UNIQUE_NAME
initialization parameter.
The name of the property for which you want to display a value. If a property name is specified, the output shows only the specified property (not all properties of the far sync), regardless of whether or not the VERBOSE
keyword is specified.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
Command Examples
Example 1: Sample SHOW FAR_SYNC Output Without VERBOSE
The following example shows sample output from this command:
DGMGRL> SHOW FAR_SYNC FS; Far Sync - FS Transport Lag: 0 seconds (computed 1 second ago) Instance(s): fs1 Far Sync Status: SUCCESS
Example 2: Sample SHOW FAR SYNC Output With VERBOSE
The following example shows sample output from this command when the VERBOSE
option is used:
DGMGRL> SHOW FAR_SYNC VERBOSE FS; Far Sync - FS Transport Lag: 0 seconds (computed 0 seconds ago) Instance(s): b02 Properties: DGConnectIdentifier = 'fs.example.com' LogXptMode = 'sync' RedoRoutes = '(North_Sales : South_Sales) (South_Sales : North_Sales)' Binding = 'optional' MaxFailure = '0' MaxConnections = '1' ReopenSecs = '300' NetTimeout = '30' RedoCompression = 'DISABLE' LogShipping = 'ON' TransportLagThreshold = '0' TransportDisconnectedThreshold = '0' ArchiveLagTarget = '0' LogArchiveMaxProcesses = '5' LogArchiveMinSucceedDest = '1' InconsistentProperties = '(monitor)' InconsistentLogXptProps = '(monitor)' LogXptStatus = '(monitor)' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=fs.example.com)(PORT=2202)) (CONNECT_DATA=(SERVICE_NAME=FS_DGMGRL.example.com) (INSTANCE_NAME=fs1)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'db2r_%d_%t_%s_%R.arc' TopWaitEvents = '(monitor)' Far Sync Status: SUCCESS
Displays all fast-start failover related information.
Format
SHOW FAST_START FAILOVER;
Command Parameters
None.
Usage Notes
The SHOW FAST_START FAILOVER
command shows a summary of the fast-start failover configuration.
Command Example
DGMGRL> SHOW FAST_START FAILOVER; Fast-Start Failover: DISABLED Threshold: 30 seconds Target: (none) Observer: (none) Lag Limit: 30 seconds Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configurable Failover Conditions Health Conditions: Corrupted Controlfile YES Corrupted Dictionary YES Inaccessible Logfile NO Stuck Archiver NO Datafile Offline YES Oracle Error Conditions: (none)
Displays information or property values for the specified instance.
Format
SHOW INSTANCE [VERBOSE] instance-name [property-name] [ON {DATABASE database-name | FAR_SYNC far-sync-name} ];
Command Parameters
The name of the instance for which you want to display information. The VERBOSE
keyword, if used, must come before the instance name.
The name of the property for which you want to display a value. If a property name is specified, the output shows only the specified property (not all properties), regardless of whether or not the VERBOSE
keyword is specified.
See Also:
Managing the Members of a Broker Configuration and Oracle Data Guard Broker Properties for information about properties.
The name of the database or far sync associated with the instance for which you want to show information.
Usage Notes
The SHOW INSTANCE
command shows a brief summary of the instance. SHOW INSTANCE VERBOSE
shows properties of the instance in addition to the brief summary. They both show the status of the instance.
The SHOW INSTANCE VERBOSE
command only shows instance-specific properties.
The properties that the SHOW INSTANCE VERBOSE
command shows depend on the database role and the configuration composition:
For instances of the primary database, properties specific to physical or snapshot standby instances are shown only if there is at least one physical or snapshot standby database in the configuration. The properties specific to logical standby instances are shown only if there is at least one logical standby database in the configuration.
For instances of physical or snapshot standby databases, properties specific to logical standby instances are not shown.
For instances of logical standby databases, properties specific to physical and snapshot standby instances are not shown.
The instance-name
can be unique across the configuration. If instance-name
is not unique, you must specify both the database-name
and the instance-name
to fully identify the instance.
Command Examples
Example 1: Showing Instance Information in Abbreviated Format
The following example shows information about a specific instance of a database.
DGMGRL> SHOW INSTANCE 'north_sales1'; Instance 'north_sales1' of database 'North_Sales' Instance Status: SUCCESS
Example 2: Showing Instance Information in Extended Format
The following example shows instance information in an extended format.
DGMGRL> SHOW INSTANCE VERBOSE 'north_sales1'; Instance 'north_sales1' of database 'North_Sales' Host Name: north.example.com PFILE: Properties: SidName = 'north_sales1' StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=north.example.com)(PORT=2094)) (CONNECT_DATA=(SERVICE_NAME=North_Sales_DGMGRL.example.com) (INSTANCE_NAME=north_sales1)(SERVER=DEDICATED)))' StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST' AlternateLocation = '' LogArchiveTrace = '255' LogArchiveFormat = 'r_%d_%t_%s_%R.arc' LatestLog = '(monitor)' TopWaitEvents = '(monitor)' Instance Status: SUCCESS
Shuts down a currently running Oracle instance.
Format
SHUTDOWN [ ABORT | IMMEDIATE | NORMAL ];
Command Parameters
None.
Usage Notes
Using the SHUTDOWN
command with no arguments is equivalent to using the SHUTDOWN NORMAL
command.
The following list describes the options to the SHUTDOWN
command:
ABORT
Proceeds with the fastest possible shutdown of the database without waiting for calls to complete or for users to disconnect from the database. Uncommitted transactions are not rolled back. Client SQL statements being processed are terminated. All users connected to the database are implicitly disconnected, and the next database startup will require instance recovery. You must use this option if a background process terminates abnormally.
Caution:
If you use the ABORT
option on the primary database when fast-start failover is enabled and the observer is running, a fast-start failover may ensue. Use the IMMEDIATE
or NORMAL
option to prevent an unexpected fast-start failover from occurring.
IMMEDIATE
Does not wait for current calls to complete or users to disconnect from the database. Further connections are prohibited. The database is closed and dismounted. The instance is shut down, and no instance recovery is required on the next database startup.
NORMAL
This is the default option. The process waits for users to disconnect from the database. Further connections are prohibited. The database is closed and dismounted. The instance is shut down, and no instance recovery is required on the next database startup.
Command Example
The following command shuts down the primary database in normal mode.
DGMGRL> SHUTDOWN; Database closed. Database dismounted. Oracle instance shut down.
Executes a SQL statement or a PL/SQL stored procedure.
Format
SQL "sql_statmement"
Usage Notes
The SQL statement or PL/SQL stored procedure to be executed must be enclosed in double quotation marks.
Do not include a semi-colon (;) after the SQL statement to be executed.
If the string that DGMGRL passes to PL/SQL contains a filename, then the filename must be enclosed in single quotation marks and the entire string following the SQL command must be enclosed in double quotation marks. For example, use the following syntax:
SQL "CREATE TABLESPACE temp1 DATAFILE '?/oradata/trgt/temp1.dbf' SIZE 10M TEMPORARY"
You cannot execute SELECT
statements.
Command Example
The following command opens the database.
DGMGRL> SQL "alter database open"
Starts the fast-start failover observer.
Format
START OBSERVER [ FILE=observer_configuration_filename ];
Command Parameters
Usage Notes
The Oracle Client Administrator kit, or the full Oracle Database Enterprise Edition or Oracle Personal Edition kit must be installed on the observer computer to monitor a broker configuration for which fast-start failover is to be enabled. See Prerequisites for Enabling Fast-Start Failover for more information.
The START OBSERVER
command must be issued on the observer computer. Once the observer is successfully started, control is not returned to the user until the observer is stopped (for example, by issuing the STOP OBSERVER command from a different client connection). If you want to perform further interaction with the broker configuration, you must connect through another client.
The observer runs autonomously once it has been successfully started. For this reason, it is recommended that when invoking DGMGRL for the purpose of issuing the START OBSERVER
command, specify the -logfile
optional parameter on the command line so that output generated while acting as the observer is not lost. See DGMGRL Optional Parameters for more information about this parameter and see Capturing Observer Actions in the Observer Log File for an example use of the -logfile
option.
If a directory path is not specified with the FILE
parameter, the observer searches the current working directory for the fsfo.dat
file. If an fsfo.dat
file is not found and this is the first time the START OBSERVER
command is issued, the observer creates a fsfo.dat
file.
The primary and target standby database DB_UNIQUE_NAME
initialization parameter and connect identifiers are stored in the fsfo.dat
configuration file. Oracle recommends you ensure this file is protected from unauthorized access.
Fast-start failover does not need to be enabled before you issue this command.
If fast-start failover is enabled, the observer will retrieve primary and target standby connect identifiers from the broker configuration and begin monitoring the configuration.
If fast-start failover is not enabled, the observer continually monitors for when fast-start failover is enabled.
Only the primary database needs to be running when you issue this command; the standby database that will be the target of a fast-start failover does not need to be running in order for this command to complete successfully.
Use the SHOW FAST_START FAILOVER
command, the SHOW CONFIGURATION VERBOSE
command, or query the FS_FAILOVER_*
columns in the V$DATABASE
view on the primary database to see the status of the observer and its host computer.
The SHOW FAST_START FAILOVER
command indicates whether the broker configuration believes that an observer has already been started. If the command displays the following, then you can issue the START OBSERVER
command on any computer to start the observer:
Observer: (none)
If the SHOW FAST_START FAILOVER
command shows a value for "Observer:", but the observer at that observer ___location is no longer running for some reason, you can do either of the following:
issue the START OBSERVER
command on the same observer computer where it was started originally, with the observer configuration file used when the observer was first started
issue the STOP OBSERVER
command and then the START OBSERVER
command on any computer to start the observer
If the SHOW FAST_START FAILOVER
command shows a value for "Observer:" and the observer is already running at that ___location, an attempt to start an observer at that ___location again will fail with the following error:
DGM-16954: Unable to open and lock the Observer configuration file
If the SHOW FAST_START FAILOVER
command shows a value for "Observer:" and you attempt to start an observer at a different ___location, the command will fail with the following error:
ORA-16647: could not start more than one observer
If the primary and target standby databases stay connected but they lose the connection to the observer, then the primary database goes into an unobserved state. This state is reported by the broker's health check capability.
Command Examples
Example 1: Starting the Observer
The following example shows how to start the observer.
DGMGRL> CONNECT sysdg@North_Sales.example.com;
Password: password
Connected as SYSDG.
DGMGRL> START OBSERVER;
Observer started
Example 2: Starting the Observer Without Showing Credentials
The following example shows how to start the observer using CONNECT '/'
so that connection credentials are not visible on the command line:
DGMGRL> CONNECT /@North_Sales.example.com; DGMGRL> START OBSERVER; Observer started.
You must set up Oracle Wallet or SSL to use CONNECT '/'
. By setting up Oracle Wallet or SSL, you can write a script to securely start and run the observer as a background job without specifying database credentials in the script. When using Oracle Wallet as a secure external password store, be sure to add credentials for both the primary and fast-start failover target standby databases. The database connect string that you specify when adding the credentials for each database must match the ObserverConnectIdentifer
or DGConnectIdentifier
database property.
Starts an Oracle database instance with any of the following options:
FORCE
: shuts down the current Oracle instance in the SHUTDOWN
ABORT
mode before restarting it.
RESTRICT
: allows only Oracle users with the RESTRICTED SESSION
system privilege to connect to the instance.
PFILE
: specifies the PFILE
initialization parameter file to be used when the database instance is started.
MOUNT
: mounts the specified database without opening it.
OPEN
: mounts and opens the specified database.
NOMOUNT
: starts the specified database instance without mounting the database.
Format
STARTUP [FORCE] [RESTRICT] [PFILE=filename] [MOUNT | OPEN [open_options] | NOMOUNT];
Command Parameters
The name of the initialization parameter file to be used when starting the database instance. If you do not specify the PFILE
parameter option, then the default server parameter file (specific to your operating system) is used.
The mode of access in which you want the specified database to start. The possible modes are:
READ ONLY
READ WRITE
Usage Notes
Using the STARTUP
command with no arguments is equivalent to using the STARTUP OPEN
command.
If you do not use the FORCE
clause when you use the STARTUP
command and the current database instance is running, an error results. The FORCE
clause is useful when you are debugging or when error conditions are occurring. Otherwise, it should not be used.
Use the RESTRICT
clause to allow only Oracle users with the RESTRICTED SESSION
system privilege to connect to the instance. Later, you can use the ALTER SYSTEM
command through SQL*Plus to disable the restricted session feature.
If you do not use the PFILE
clause to specify the initialization parameter file, the STARTUP
command uses the default server parameter file, if it exists. Otherwise, the STARTUP
command uses the default initialization parameter file. The default files are platform specific.
See your operating system-specific documentation for more information about the default parameter files.
Use the OPEN
clause to mount and open the specified database.
The NOMOUNT
clause starts the database instance without mounting the database. You cannot use the NOMOUNT
clause with the MOUNT
or OPEN
options.
Command Examples
Example 1: Two Methods for Starting a Database Instance
The following examples show two different methods for starting a database instance. Each command starts a database instance using the standard parameter file, mounts the default database in exclusive mode, and opens the database.
DGMGRL> STARTUP; DGMGRL> STARTUP OPEN;
Example 2: Shutting Down the Current Instance and Restarting Without Mounting or Opening It
The following command shuts down the current instance, immediately restarts it without mounting or opening the database, and allows only users with restricted session privileges to connect to it.
DGMGRL> STARTUP FORCE RESTRICT NOMOUNT;
Example 3: Starting (But Not Mounting) an Instance Using a Parameter File
The following command starts an instance using the parameter file testparm
without mounting the database.
DGMGRL> STARTUP PFILE=testparm NOMOUNT;
Example 4: Starting and Mounting an Instance Without Opening It
The following example starts and mounts a database instance, but does not open it.
DGMGRL> STARTUP MOUNT;
Stops the fast-start failover observer.
Format
STOP OBSERVER;
Command Parameters
None.
Usage Notes
You can issue this command while connected to any database in the broker configuration.
This command does not disable fast-start failover, but a fast-start failover cannot be initiated in the absence of an observer.
Fast-start failover does not need to be enabled when you issue this command.
If fast-start failover is enabled when you issue the STOP OBSERVER
command, then the primary and standby databases must be connected and communicating with each other. Otherwise the following error is returned:
ORA-16636 fast-start failover target standby in error state, cannot stop observer
If connectivity does not exist between the primary and standby databases, you can issue the DISABLE FAST_START FAILOVER FORCE
command on the primary database and then issue the STOP OBSERVER
command. Note that disabling fast-start failover with the FORCE
option on a primary database that is disconnected from the observer and the target standby database does not prevent the observer from initiating a fast-start failover to the target standby database.
If fast-start failover is not enabled when you issue the STOP OBSERVER
command, then only the primary database must be running when you stop the observer.
The observer does not stop immediately when the STOP OBSERVER
command is issued. The observer does not discover it has been stopped until the next time the observer contacts the broker.
As soon as you have issued the STOP OBSERVER
command, you may enter the START OBSERVER
command again on any computer. You can start a new observer right away, even if the old observer has not yet discovered it was stopped. Any attempt to restart the old observer will fail, because a new observer has been started for the broker configuration.
Command Example
The following example stops the observer.
DGMGRL> STOP OBSERVER;
A switchover operation is a planned transition in which the primary database exchanges roles with one of the standby databases. When you issue the SWITCHOVER
command, the current primary database becomes a standby database, and the specified standby database becomes the primary database.
Format
SWITCHOVER TO database-name;
Command Parameter
Usage Notes
If fast-start failover is enabled, you may switch over only to the fast-start failover target standby database.
The broker verifies that the primary and standby databases are in the following states before starting the switchover:
The primary database must be enabled and in the TRANSPORT-ON
state so redo transport services are started.
The standby database must be enabled and in the APPLY-ON
state, with log apply services started.
The broker allows the switchover to proceed as long as there are no redo transport services errors for the standby database that you selected to participate in the switchover. However, errors occurring for any other bystander standby database will not prevent the switchover from proceeding.
Switchover to a logical standby database is not allowed when the configuration is operating in maximum protection mode.
If the broker configuration is operating in either maximum protection mode or maximum availability mode, the switchover maintains the protection mode even after the operation (described in Before You Perform a Switchover Operation). The switchover will not be allowed if the mode cannot be maintained because the target standby database of the switchover was the only standby that satisfied the protection mode requirement.
If the standby database that is assuming the primary role is a physical standby database, then the old primary database will be restarted after the switchover completes. If the standby database is a logical standby database, then neither the primary database nor the logical standby database is restarted.
If the standby database that is assuming the primary role is a physical standby database, then the original primary becomes a physical standby database.
If the standby database that is assuming the primary role is a logical standby database, then the original primary becomes a logical standby database.
If an Oracle RAC primary database is becoming a physical standby database, all but one instance of the primary database will be shut down before performing the switchover. See Switchover for details.
You cannot switchover to a snapshot standby database.
If the standby database that is assuming the primary role is a logical standby database and there are physical standby databases in the configuration, after the switchover, the physical standby databases will be disabled.
Caution:
For this reason, Oracle generally recommends that you specify your physical standby database for switchover instead of your logical standby database. If you must switch over to your logical standby database, see Reenabling Disabled Databases After a Role Change to re-create your physical standby database.
If you intend to switch back to the original primary database relatively soon, you may allow the physical and snapshot standbys to remain disabled. Once you have completed the switchover back to the original primary, you may then reenable the physical and snapshot standby databases since they are still viable standbys for the original primary database.
Command Examples
Example 1: Successful Switchover From Physical to Primary
The following example shows a successful switchover in which the physical standby database, South_Sales
, transitions into the primary role.
DGMGRL> switchover to 'South_Sales'; Performing switchover NOW, please wait... New primary database "South_Sales" is opening... Operation requires shutdown of instance "north_sales1" on database "North_Sales" Shutting down instance "north_sales1"... ORA-01109: database not open Database dismounted. ORACLE instance shut down. Operation requires startup of instance "north_sales1" on database "North_Sales" Starting instance "north_sales1"... ORACLE instance started. Database mounted. Switchover succeeded, new primary is "South_Sales"
Example 2: Unsuccessful Switchover Due to Use of O/S Authentication
If you connect to the database using operating system authentication, you can use any username and password to connect. However, DGMGRL may not be able to shut down and start up the primary and standby database automatically because it cannot remotely authenticate itself.
The following example shows a switchover that succeeded but returns an error because DGMGRL cannot shut down and start up the primary and standby databases.
DGMGRL> SWITCHOVER TO 'South_Sales'; Performing switchover NOW, please wait... New primary database "South_Sales" is opening... Operation requires shutdown of instance "north_sales1" on database "North_Sales" Shutting down instance "north_sales1"... ORA-01031: insufficient privileges Warning: You are no longer connected to ORACLE. Please complete the following steps to finish switchover: shut down instance "north_sales1" of database "North_Sales" start up and mount instance "north_sales1" of database "North_Sales"
Note:
For DGMGRL to restart instances automatically, you must connect to the database using the same credentials given in the last CONNECT
command, even if the last CONNECT
command was used to connect to another database.
You must manually issue the SHUTDOWN and STARTUP commands to restart the new primary and any standby instances that may have been shut down.
Performs a comprehensive set of database checks prior to a role change. The checks use information available in various Oracle Data Guard views as well as the Automatic Diagnostic Repository.
Format
VALIDATE DATABASE [VERBOSE] database-name;
Command Parameters
Usage Notes
The VALIDATE
DATABASE
command shows a brief summary of the database, and reports any errors or warnings that were detected. VALIDATE
DATABASE
VERBOSE
shows everything in the brief summary plus all items that were validated.
Command Examples
The examples in this section show what the VALIDATE
DATABASE
command output might look like in both the brief and verbose forms for primary and standby databases.
Example 1: VALIDATE DATABASE Output in Brief Format for a Primary
The following example shows brief output for a primary database:
DGMGRL> VALIDATE DATABASE 'South_Sales'; Database Role: Primary database Ready for Switchover: Yes
Example 2: VALIDATE DATABASE Output in Brief Format for a Logical Standby
The following example shows brief output for a logical standby database:
DGMGRL> VALIDATE DATABASE 'West_Sales'; Database Role: Logical standby database Primary Database: South_Sales Ready for Switchover: Yes Ready for Failover: Yes (Primary Running) Warning: Physical and snapshot standby databases will be disabled if a role change is performed to this database
Example 3: VALIDATE DATABASE Output in Brief Format for a Physical Standby
The following example shows brief output for a physical standby database:
DGMGRL> VALIDATE DATABASE 'North_Sales'; Database Role: Physical standby database Primary Database: South_Sales Ready for Switchover: Yes Ready for Failover: Yes (Primary Running)
Example 4: VALIDATE DATABASE Output in Verbose Format for a Primary
The following example shows verbose output for a primary database:
DGMGRL> VALIDATE DATABASE VERBOSE 'South_Sales'; Database Role: Primary database Ready for Switchover: Yes Capacity Information: Database Instances Threads South_Sales 2 2 Temporary Tablespace File Information: South_Sales TEMP Files: 2 Flashback Database Status: South_Sales: On Data file Online Move in Progress: South_Sales: No Transport-Related Information: Transport On: Yes Log Files Cleared: South_Sales Standby Redo Log Files: Cleared Automatic Diagnostic Repository Errors: Error South_Sales No logging operation NO Control file corruptions NO System data file missing NO System data file corrupted NO System data file offline NO User data file missing NO User data file corrupted NO User data file offline NO Block Corruptions found NO
Example 5: VALIDATE DATABASE Output in Verbose Format for a Logical Standby
The following command shows verbose output for a logical standby database:
DGMGRL> VALIDATE DATABASE VERBOSE 'West_Sales'; Database Role: Logical standby database Primary Database: South_Sales Ready for Switchover: Yes Ready for Failover: Yes (Primary Running) Warning: Logical and snapshot standby databases will be disabled if a role change is performed to this database Capacity Information: Database Instances Threads South_Sales 2 2 West_Sales 2 2 Temporary Tablespace File Information: South_Sales TEMP Files: 2 West_Sales TEMP Files: 2 Flashback Database Status: South_Sales: On West_Sales: On Data file Online Move in Progress: South_Sales: No West_Sales: No Standby Apply-Related Information: Apply State: Running Apply Lag: 0 seconds Apply Delay: 0 minutes Transport-Related Information: Transport On: Yes Gap Status: No Gap Transport Lag: 0 seconds Transport Status: Success Log Files Cleared: South_Sales Standby Redo Log Files: Cleared West_Sales Online Redo Log Files: Not applicable for this database West_Sales Standby Redo Log Files: Available Current Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups Status (South_Sales) (West_Sales) 1 4 5 Sufficient SRLs 2 4 5 Sufficient SRLs Future Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups Status (West_Sales) (South_Sales) 1 4 5 Sufficient SRLs 2 4 5 Sufficient SRLs Current Configuration Log File Sizes: Thread # Smallest Online Redo Smallest Standby Redo Log File Size Log File Size (South_Sales) (West_Sales) 1 25 MBytes 25 MBytes 2 25 MBytes 25 MBytes Future Configuration Log File Sizes: Thread # Smallest Online Redo Smallest Standby Redo Log File Size Log File Size (West_Sales) (South_Sales) 1 25 MBytes 25 MBytes 2 25 MBytes 25 MBytes Apply-Related Property Settings: Property South_Sales Value West_Sales Value DelayMins 0 0 LsbyMaxEventsRecorded 0 0 LsbyPreserveCommitOrder <empty> <empty> LsbyRecordSkipErrors <empty> <empty> LsbyRecordSkipDdl <empty> <empty> LsbyRecordAppliedDdl <empty> <empty> Transport-Related Property Settings: Property South_Sales Value West_Sales Value LogXptMode SYNC SYNC Dependency <empty> <empty> DelayMins 0 0 Binding optional optional MaxFailure 0 0 MaxConnections 1 1 ReopenSecs 30 30 NetTimeout 300 300 RedoCompression DISABLE DISABLE LogShipping ON ON Automatic Diagnostic Repository Errors: Error South_Sales West_Sales No logging operation NO NO Control file corruptions NO NO SRL Group Unavailable NO NO System data file missing NO NO System data file corrupted NO NO System data file offline NO NO User data file missing NO NO User data file corrupted NO NO User data file offline NO NO Block Corruptions found NO NO
Example 6: VALIDATE DATABASE Output in Verbose Format for a Physical Standby
The following command shows verbose output for a physical standby database:
DGMGRL> VALIDATE DATABASE VERBOSE North_Sales'; Database Role: Physical standby database Primary Database: South_Sales Ready for Switchover: Yes Ready for Failover: Yes (Primary Running) Capacity Information: Database Instances Threads South_Sales 2 2 North_Sales 2 2 Temporary Tablespace File Information: South_Sales TEMP Files: 2 North_Sales TEMP Files: 2 Flashback Database Status: South_Sales: On North_Sales: On Data file Online Move in Progress: South_Sales: No North_Sales: No Standby Apply-Related Information: Apply State: Running Apply Lag: 0 seconds Apply Delay: 0 minutes Transport-Related Information: Transport On: Yes Gap Status: No Gap Transport Lag: 0 seconds Transport Status: Success Log Files Cleared: South_Sales Standby Redo Log Files: Cleared North_Sales Online Redo Log Files: Cleared North_Sales Standby Redo Log Files: Available Current Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups Status (South_Sales) (North_Sales) 1 4 5 Sufficient SRLs 2 4 5 Sufficient SRLs Future Log File Groups Configuration: Thread # Online Redo Log Groups Standby Redo Log Groups (North_Sales) (South_Sales) 1 4 5 Sufficient SRLs 2 4 5 Sufficient SRLs Current Configuration Log File Sizes: Thread # Smallest Online Redo Smallest Standby Redo Log File Size Log File Size (South_Sales) (North_Sales) 1 25 MBytes 25 MBytes 2 25 MBytes 25 MBytes Future Configuration Log File Sizes: Thread # Smallest Online Redo Smallest Standby Redo Log File Size Log File Size (North_Sales) (South_Sales) 1 25 MBytes 25 MBytes 2 25 MBytes 25 MBytes Apply-Related Property Settings: Property South_Sales Value North_Sales Value DelayMins 0 0 ApplyParallel AUTO AUTO Transport-Related Property Settings: Property South_Sales Value North_Sales Value LogXptMode SYNC SYNC Dependency <empty> <empty> DelayMins 0 0 Binding optional optional MaxFailure 0 0 MaxConnections 1 1 ReopenSecs 30 30 NetTimeout 300 300 RedoCompression DISABLE DISABLE LogShipping ON ON Automatic Diagnostic Repository Errors: Error South_Sales North_Sales No logging operation NO NO Control file corruptions NO NO SRL Group Unavailable NO NO System data file missing NO NO System data file corrupted NO NO System data file offline NO NO User data file missing NO NO User data file corrupted NO NO User data file offline NO NO Block Corruptions found NO NO
Performs a comprehensive set of checks for a far sync instance. The checks use information available in various Oracle Data Guard views.
Format
VALIDATE FAR_SYNC [VERBOSE] far_sync_instance_name [WHEN PRIMARY IS database-name];
Command Parameters
The name of the far sync instance for which you want to display information. The VERBOSE
keyword, if used, must come before the far_sync_instance_name
or an error is returned.
The validation of the far sync instance is performed based on the specified database being the primary database.
Usage Notes
The VALIDATE
FAR_SYNC
command shows a brief summary of the far sync instance and reports any errors or warnings that were detected. The VALIDATE
FAR_SYNC
VERBOSE
command shows everything in the brief summary plus redo transport-related information.
Command Examples
The examples in this section show what the VALIDATE
FAR_SYNC
command output might look like in various scenarios.
Example 1: Brief VALIDATE FAR_SYNC Output
The following example shows brief output for a far sync instance:
DGMGRL> VALIDATE FAR_SYNC FS; Member Role: Far Sync Instance When Primary Is: North_Sales Active Redo Source: North_Sales Redo Destinations: South_Sales Thread # Online Redo Log Groups Standby Redo Log Groups Status North_Sales FS 1 4 5 Sufficient SRLs
Example 2: Verbose VALIDATE FAR_SYNC Output
The following example shows verbose output for a far sync instance:
DGMGRL> VALIDATE FAR_SYNC VERBOSE FS; Member Role: Far Sync Instance When Primary Is: North_Sales Active Redo Source: North_Sales Redo Destinations: South_Sales Thread # Online Redo Log Groups Standby Redo Log Groups Status North_Sales FS 1 4 5 Sufficient SRLs Transport-Related Information: Transport On: Yes Gap Status: No Gap Transport Lag: 0 seconds (computed 0 seconds ago) Transport Status: Success
Example 3: VALIDATE FAR_SYNC Output When South_Sales Is the Primary
The following example shows the output when the South_Sales
database is specified as the primary database:
DGMGRL> VALIDATE FAR_SYNC FS WHEN PRIMARY IS 'South_Sales'; Member Role: Far Sync Instance When Primary Is: South_Sales Redo Destinations: North_Sales Thread # Online Redo Log Groups Standby Redo Log Groups Status South_Sales FS 1 4 5 Sufficient SRLs