oci_data_guard_association – Create a Data Guard Association and, perform various Database role transitions of Databases associated with a Data Guard Association in OCI Database Cloud Service

New in version 2.5.

Synopsis

  • Create an OCI Data Guard Association
  • Perform a switchover between Databases associated in a Data Guard Association
  • Perform a failover on standby Database associated in a Data Guard Association
  • Perform a reinstate on a disabled standby Database associated in a Data Guard Association
  • Since all operations of this module takes a long time, it is recommended to set the wait to False. Use oci_data_guard_association_facts to check the status of the operation as a separate task.

Requirements

The below requirements are needed on the host that executes this module.

Parameters

Parameter Choices/Defaults Comments
api_user
string
The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_OCID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See config_file_location). To get the user's OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_fingerprint
string
Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See config_file_location). To get the key pair's fingerprint value please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_key_file
string
Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See config_file_location). If the key is encrypted with a pass-phrase, the api_user_key_pass_phrase option must also be provided.
api_user_key_pass_phrase
string
Passphrase used by the key referenced in api_user_key_file, if it is encrypted. If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the key passphrase is not specified through a configuration file (See config_file_location).
auth_type
string
    Choices:
  • api_key ←
  • instance_principal
The type of authentication to use for making API requests. By default auth_type="api_key" based authentication is performed and the API key (see api_user_key_file) in your config file will be used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use auth_type="instance_principal" to use instance principal based authentication when running ansible playbooks within an OCI compute instance.
config_file_location
string
Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config.
config_profile_name
string
The profile to load from the config file referenced by config_file_location. If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the "DEFAULT" profile in config_file_location.
creation_type
-
    Choices:
  • ExistingDbSystem ←
Specifies where to create the associated database ExistingDbSystem is the only supported value.
data_guard_association_id
-
The identifier of the Data Guard Association. Mandatory for role transition of the Databases associated with a specified Data Guard Association.

aliases: id
database_admin_password
-
A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine characters and contain at least two uppercase,two lowercase, two numbers, and two special characters.
database_id
- / required
Identifier of the Database to which the Data Guard should be Associated.
force_create
boolean
    Choices:
  • no ←
  • yes
Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn't create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with key_by.
key_by
list
The list of comma-separated attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource except freeform_tags are used to uniquely identify a resource.
peer_db_system_id
-
The OCID of the DB System to create the standby database on.
protection_mode
-
    Choices:
  • MAXIMUM_AVAILABILITY
  • MAXIMUM_PERFORMANCE
  • MAXIMUM_PROTECTION
The protection mode to set up between the primary and standby databases. The only protection mode currently supported by the Database Service is MAXIMUM_PERFORMANCE. Allowed values are MAXIMUM_AVAILABILITY, MAXIMUM_PERFORMANCE, MAXIMUM_PROTECTION
region
string
The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See config_file_location). Please refer to https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm for more information on OCI regions.
state
-
    Choices:
  • present ←
  • switchover
  • failover
  • reinstate
Create a new dataguard association or perform role transitions within associated databases of a dataguard association. For state=present, it gets created. For state=switchover, state=failover, state=reinstate, switchover, failover and reinstate on databases gets performed respectively.
tenancy
string
OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is used. This option is required if the tenancy OCID is not specified through a configuration file (See config_file_location). To get the tenancy OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm
transport_type
-
    Choices:
  • SYNC
  • ASYNC
  • FASTSYNC
The redo transport type to use for this Data Guard association. The only transport type currently supported by the Database Service is ASYNC. Allowed values are SYNC, ASYNC, FASTSYNC.
wait
boolean
    Choices:
  • no
  • yes ←
Whether to wait for create or delete operation to complete.
wait_timeout
integer
Default:
1200
Time, in seconds, to wait when wait=yes.
wait_until
string
The lifecycle state to wait for the resource to transition into when wait=yes. By default, when wait=yes, we wait for the resource to get into ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/ RUNNING applicable lifecycle state during create operation & to get into DELETED/DETACHED/ TERMINATED lifecycle state during delete operation.

Examples

# Note: These examples do not set authentication details.
# Create Data Guard Association
- name: Create Data Guard Association
  oci_data_guard_association:
      database_id: 'ocid1.database..abuw'
      creation_type: 'ExistingDbSystem'
      database_admin_password: 'pasword#_'
      protection_mode: 'MAXIMUM_PERFORMANCE'
      transport_type: 'ASYNC'
      peer_db_system_id: 'ocid1.dbsystem.xdvf'
      wait: False
      state: 'present'

# Perform switchover action on Data Guard Association
- name: Perform switchover operation to make the primary database to secondary
  oci_data_guard_association:
      database_id: 'ocid1.database.abuw'
      data_guard_association_id: 'ocid1.dgassociation.abuw'
      database_admin_password: 'pasword#_'
      state: 'switchover'

# Perform failover action on Data Guard Association
- name: Perform failover operation to make the standby database to primary
  oci_data_guard_association:
      database_id: 'ocid1.database.abuw'
      data_guard_association_id: 'ocid1.dgassociation.abuw'
      database_admin_password: 'pasword#_'
      state: 'failover'

# Perform reinstate action on Data Guard Association
- name: Perform reinstate operation to make the disable standby database to standby
  oci_data_guard_association:
      database_id: 'ocid1.database.abuw'
      data_guard_association_id: 'ocid1.dgassociation.abuw'
      database_admin_password: 'pasword#_'
      state: 'reinstate'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
data_guard_association
complex
success
Attributes of the Data Guard Association.

Sample:
{'peer_db_home_id': 'ocid1.dbhome.oc1.iad.xxxxxEXAMPLExxxxx', 'lifecycle_state': 'PROVISIONING', 'peer_data_guard_association_id': 'ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx', 'peer_role': 'STANDBY', 'time_created': '2018-03-03T06:55:49.463000+00:00', 'id': 'ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx', 'database_id': 'ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx', 'role': 'PRIMARY', 'peer_database_id': 'ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx', 'transport_type': 'ASYNC', 'lifecycle_details': None, 'apply_rate': '15 KByte/s', 'apply_lag': '7 seconds', 'peer_db_system_id': 'ocid1.dbsystem.oc1.iad.xxxxxEXAMPLExxxxx', 'protection_mode': 'MAXIMUM_PERFORMANCE'}
  apply_lag
string
always
The lag time between updates to the primary database and application of the redo data on the standby database, as computed by the reporting database.

Sample:
9 seconds
  apply_rate
string
always
The rate at which redo logs are synced between the associated databases.

Sample:
17.00 KByte/s
  database_id
string
always
Identifier of the reporting Database.

Sample:
ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx
  id
string
always
Identifier of the Data Guard Association.

Sample:
ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx
  lifecycle_details
string
always
Additional information about the current lifecycle_state, if available.

Sample:
Details of lifecycle state
  lifecycle_state
string
always
The current state of the Data Guard Association.

Sample:
AVAILABLE
  peer_data_guard_association_id
string
always
Identifier of the peer database's Data Guard association.

Sample:
ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx
  peer_database_id
string
always
Identifier of the associated peer database.

Sample:
ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx
  peer_db_system_id
string
always
Identifier of the DB System containing the associated peer database.

Sample:
ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx
  peer_role
string
always
The role of the peer database in this Data Guard association.

Sample:
STANDBY
  protection_mode
string
always
The protection mode of this Data Guard association.

Sample:
MAXIMUM_PERFORMANCE
  role
string
always
The role of the reporting database in this Data Guard Association.

Sample:
PRIMARY
  time_created
datetime
always
Date and time when the Data Guard Association was created, in the format defined by RFC3339

Sample:
2016-08-25 21:10:29.600000
  transport_type
string
always
The redo transport type used by this Data Guard Association.

Sample:
ASYNC


Status

  • This module is not guaranteed to have a backwards compatible interface. [preview]
  • This module is maintained by the Ansible Community. [community]

Authors

  • Debayan Gupta(@debayan_gupta)

Hint

If you notice any issues in this documentation you can edit this document to improve it.