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.
- python >= 2.6
- Python SDK for Oracle Cloud Infrastructure https://oracle-cloud-infrastructure-python-sdk.readthedocs.io
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
api_user |
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 |
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 |
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 |
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 |
|
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 |
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 |
Default: DEFAULT
|
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 |
|
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
bool |
|
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 |
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 |
|
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 |
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 |
|
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 |
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 |
|
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
bool |
|
Whether to wait for create or delete operation to complete.
|
wait_timeout |
Default: 1200
|
Time, in seconds, to wait when wait=yes.
|
wait_until |
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.
|
Notes¶
Note
- For OCI python sdk configuration, please refer to https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/configuration.html
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'}
|
|
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_role
string
|
always |
The role of the peer database in this Data Guard association.
Sample:
STANDBY
|
|
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
|
|
id
string
|
always |
Identifier of the Data Guard Association.
Sample:
ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx
|
|
database_id
string
|
always |
Identifier of the reporting Database.
Sample:
ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx
|
|
role
string
|
always |
The role of the reporting database in this Data Guard Association.
Sample:
PRIMARY
|
|
peer_database_id
string
|
always |
Identifier of the associated peer database.
Sample:
ocid1.database.oc1.iad.xxxxxEXAMPLExxxxx
|
|
transport_type
string
|
always |
The redo transport type used by this Data Guard Association.
Sample:
ASYNC
|
|
lifecycle_details
string
|
always |
Additional information about the current lifecycle_state, if available.
Sample:
Details of lifecycle state
|
|
apply_rate
string
|
always |
The rate at which redo logs are synced between the associated databases.
Sample:
17.00 KByte/s
|
|
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
|
|
peer_db_system_id
string
|
always |
Identifier of the DB System containing the associated peer database.
Sample:
ocid1.dgassociation.oc1.iad.xxxxxEXAMPLExxxxx
|
|
protection_mode
string
|
always |
The protection mode of this Data Guard association.
Sample:
MAXIMUM_PERFORMANCE
|
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Author¶
- Debayan Gupta(@debayan_gupta)
Hint
If you notice any issues in this documentation you can edit this document to improve it.