By Mouhamadou Diaw
In this previous  blog, I have configured 2 DB systems with Oracle 21c in an ODA 19.14. Now let’s continue and show how we can configure a Data Guard between these 2 servers.
One option is to manually create the Data Guard as we do in a non-ODA environment. The second option that I am showing is to use the odacli command to configure the Data Guard.
All steps are described in Oracle documentation
The first step is to create the backup configuration. The /u01/backup can be a NFS share or not. In my case it’s just a local directory that I create in each server
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
[root@mdidbi42 u01]# odacli create-backupconfig -n nfsbkup -w 10 -d NFS -c /u01/backup/{  "jobId" : "b051745b-702a-48ff-92c2-3c80a16e73f2",  "status" : "Created",  "message" : "backup config creation",  "reports" : [ ],  "createTimestamp" : "April 29, 2022 09:28:37 AM CEST",  "resourceList" : [ {    "resourceId" : "8da9a983-6afa-45b9-bd66-a66d1420e048",    "resourceType" : null,    "resourceNewType" : "BackupConfig",    "jobId" : "b051745b-702a-48ff-92c2-3c80a16e73f2",    "updatedTime" : null  } ],  "description" : "create backup config:nfsbkup",  "updatedTime" : "April 29, 2022 09:28:37 AM CEST"}[root@mdidbi42 u01]# | 
Check the job status
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
[root@mdidbi42 u01]# odacli describe-job -i "b051745b-702a-48ff-92c2-3c80a16e73f2"Job details----------------------------------------------------------------                     ID:  b051745b-702a-48ff-92c2-3c80a16e73f2            Description:  create backup config:nfsbkup                 Status:  Success                Created:  April 29, 2022 9:28:37 AM CEST                Message:  backup config creationTask Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Backup config metadata persist           April 29, 2022 9:28:37 AM CEST      April 29, 2022 9:28:37 AM CEST      Success[root@mdidbi42 u01]# | 
After we have to associate the backup configuration with the database
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
[root@mdidbi42 orabackups]# odacli modify-database -in MDIDB1 -bin nfsbkup{  "jobId" : "1220f80f-098e-4a3f-98db-e83f00a260a4",  "status" : "Created",  "message" : "Modify database",  "reports" : [ ],  "createTimestamp" : "April 29, 2022 09:30:03 AM CEST",  "resourceList" : [ {    "resourceId" : "f964b35e-7209-4d2d-9fca-5387c61c2148",    "resourceType" : "DB",    "resourceNewType" : null,    "jobId" : "1220f80f-098e-4a3f-98db-e83f00a260a4",    "updatedTime" : "April 29, 2022 09:30:03 AM CEST"  } ],  "description" : "Modify database : MDIDB1",  "updatedTime" : "April 29, 2022 09:30:03 AM CEST"}[root@mdidbi42 orabackups]# | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
[root@mdidbi42 orabackups]# odacli describe-job -i "1220f80f-098e-4a3f-98db-e83f00a260a4"Job details----------------------------------------------------------------                     ID:  1220f80f-098e-4a3f-98db-e83f00a260a4            Description:  Modify database : MDIDB1                 Status:  Success                Created:  April 29, 2022 9:30:03 AM CEST                Message:  Modify databaseTask Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Validate OMF parameter values            April 29, 2022 9:30:09 AM CEST      April 29, 2022 9:30:11 AM CEST      Successupdate db with backupconfig attributes   April 29, 2022 9:30:28 AM CEST      April 29, 2022 9:30:31 AM CEST      SuccessEnable Database Autobackup               April 29, 2022 9:30:31 AM CEST      April 29, 2022 9:30:31 AM CEST      SuccessEnable Archivelog Autobackup             April 29, 2022 9:30:31 AM CEST      April 29, 2022 9:30:31 AM CEST      SuccessConfigure Control file Auto Backup Format April 29, 2022 9:30:31 AM CEST      April 29, 2022 9:30:35 AM CEST      SuccessBackup Current Control file              April 29, 2022 9:30:35 AM CEST      April 29, 2022 9:30:49 AM CEST      SuccessUpdate metadata for database:MDIDB1      April 29, 2022 9:30:50 AM CEST      April 29, 2022 9:30:50 AM CEST      Success[root@mdidbi42 orabackups]# | 
Now it’s time to take a backup of your primary database
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
[root@mdidbi42 orabackups]# odacli create-backup --backupType Regular-L0 -in MDIDB1{  "jobId" : "be3e4d32-12f7-4b6e-8fc2-0d1d3f7d982e",  "status" : "Created",  "message" : null,  "reports" : [ ],  "createTimestamp" : "April 29, 2022 09:31:51 AM CEST",  "resourceList" : [ ],  "description" : "Create Regular-L0 Backup[TAG:auto][Db:MDIDB1][NFS:/u01/backup/orabackups/dbs0fab9fed3/database/3671723533/MDIDB1_42]",  "updatedTime" : "April 29, 2022 09:31:51 AM CEST"}[root@mdidbi42 orabackups]# | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
 | 
[root@mdidbi42 orabackups]# odacli describe-job -i "be3e4d32-12f7-4b6e-8fc2-0d1d3f7d982e"Job details----------------------------------------------------------------                     ID:  be3e4d32-12f7-4b6e-8fc2-0d1d3f7d982e            Description:  Create Regular-L0 Backup[TAG:auto][Db:MDIDB1][NFS:/u01/backup/orabackups/dbs0fab9fed3/database/3671723533/MDIDB1_42]                 Status:  Success                Created:  April 29, 2022 9:31:51 AM CEST                Message:Task Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Validate backup config                   April 29, 2022 9:31:55 AM CEST      April 29, 2022 9:31:55 AM CEST      SuccessNFS location existence validation        April 29, 2022 9:31:55 AM CEST      April 29, 2022 9:31:55 AM CEST      SuccessBackup Validations                       April 29, 2022 9:31:55 AM CEST      April 29, 2022 9:32:02 AM CEST      SuccessRecovery Window validation               April 29, 2022 9:32:02 AM CEST      April 29, 2022 9:32:04 AM CEST      SuccessArchivelog deletion policy configuration April 29, 2022 9:32:04 AM CEST      April 29, 2022 9:32:07 AM CEST      SuccessDatabase backup                          April 29, 2022 9:32:07 AM CEST      April 29, 2022 9:33:32 AM CEST      Success[root@mdidbi42 orabackups]# | 
When the backup finished, save the backup report in a json file. First look for the backup id
| 
 1 
2 
3 
 | 
[root@mdidbi42 ~]# odacli list-backupreports | grep Regular-L0ce3b0eb9-3976-45f2-829e-c39cc5d21e43     e5fbd9e1-ccb6-4d3e-88cb-ece45007a549     3671906653    MDIDB1     MDIDB1_42      Regular-L0   auto         April 29, 2022 3:16:36 PM CEST      April 29, 2022 3:16:36 PM CEST      Configured[root@mdidbi42 ~] | 
And save it
| 
 1 
2 
 | 
[root@mdidbi42 ~]# odacli describe-backupreport -i ce3b0eb9-3976-45f2-829e-c39cc5d21e43 > backup_report_mdidb1.json [root@mdidbi42 ~]# | 
Below the contents of the json file
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
 | 
[root@mdidbi42 ~]# cat backup_report_mdidb1.json{  "id" : "ce3b0eb9-3976-45f2-829e-c39cc5d21e43",  "dbResId" : "e5fbd9e1-ccb6-4d3e-88cb-ece45007a549",  "tag" : "auto",  "dbId" : "3671906653",  "dbName" : "MDIDB1",  "dbUniqueName" : "MDIDB1_42",  "backupType" : "Regular-L0",  "keepDays" : null,  "backupLocation" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/db",  "cfBackupHandle" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/db/c-3671906653-20220429-05",  "spfBackupHandle" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/db/c-3671906653-20220429-05",  "pitrTimeStamp" : "April 29, 2022 15:17:33 PM CEST",  "pitrSCN" : "1842740",  "resetLogsTimeStamp" : "April 29, 2022 14:05:17 PM CEST",  "resetLogsSCN" : "1712336",  "oraHomeVersion" : "21.5.0.0.220118",  "sqlPatches" : null,  "backupLogLoc" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/rmanlog/2022-04-29/rman_backup_auto_2022-04-29_15-16-40.0579.log",  "tdeWalletLoc" : null,  "dbConfigLoc" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/dbconfig/2022-04-29/DBCONFIG_auto_2022-04-29_15-17-50.0845.tar.gz",  "name" : "Backup_Report_MDIDB1",  "createTime" : "April 29, 2022 15:16:36 PM CEST",  "state" : {    "status" : "CONFIGURED"  },  "updatedTime" : "April 29, 2022 15:16:36 PM CEST",  "backupReportLogDetail" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/rmandetaillogreport/2022-04-29/rman_list_backup_detail_auto_2022-04-29_15-17-44.0692.log",  "dbInfo" : {    "dbClass" : "OLTP",    "dbType" : "SI",    "dbShape" : "odb2",    "dbEdition" : "EE",    "dbStorage" : "ASM",    "dbRedundancy" : null,    "pdbName" : "PDB1",    "isCdb" : true  },  "dbDataSize" : "4202M",  "dbRedoSize" : "12306M",  "rmanBackupPieces" : "/u01/backup/orabackups/dbs0fab9fed3/database/3671906653/MDIDB1_42/backuppieces/2022-04-29/backupPieces_auto_e5fbd9e1-ccb6-4d3e-88cb-ece45007a549_20220429151749.json",  "compressionAlgo" : "BASIC",  "cpuPool" : null,  "numberOfCores" : null}[root@mdidbi42 ~]# | 
Now Copy backups on the same location in the standby DB system
Also copy the backup report to the standby system and restore the backup to a standby database. Don’t forget to give access to backup files to user oracle
| 
 1 
2 
3 
4 
5 
 | 
[root@mdidbi42 backup]# pwd/u01/backup[root@mdidbi42 backup]# scp -r orabackups/ mdidbi43:$PWDFIPS mode initializedroot@mdidbi43's password: | 
| 
 1 
 | 
scp -r backup_report_mdidb1.json  mdidbi43:$PWD | 
Now it’s time to restore the backups on the standby server. Personally, I have deleted the existing database which comes with the DB system creation on the standby server
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
[root@mdidbi43 ~]#  odacli irestore-database -r backup_report_mdidb1.json -u MDIDB2_43 -ro STANDBY -dh b3da570b-acd1-41fa-8c8c-1c16fd66                                                                                                      abb3Enter SYS user password:Retype SYS user password:{  "jobId" : "aa280ddf-f215-452a-833c-4912d68aa2e5",  "status" : "Created",  "message" : null,  "reports" : [ ],  "createTimestamp" : "April 29, 2022 15:26:56",  "resourceList" : [ ],  "description" : "Database service recovery with db name: MDIDB1",  "updatedTime" : "April 29, 2022 15:26:56"} | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
 | 
[root@mdidbi43 ~]# odacli describe-job -i "aa280ddf-f215-452a-833c-4912d68aa2e5"Job details----------------------------------------------------------------                     ID:  aa280ddf-f215-452a-833c-4912d68aa2e5            Description:  Database service recovery with db name: MDIDB1                 Status:  Success                Created:  April 29, 2022 3:26:56 PM CEST                Message:Task Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Check if cluster ware is running         April 29, 2022 3:26:58 PM CEST      April 29, 2022 3:26:58 PM CEST      SuccessCreating DbStorage for DbRestore         April 29, 2022 3:26:58 PM CEST      April 29, 2022 3:27:00 PM CEST      SuccessValidating DiskSpace for DATA            April 29, 2022 3:26:58 PM CEST      April 29, 2022 3:26:59 PM CEST      SuccessGenerating SSH key                       April 29, 2022 3:26:59 PM CEST      April 29, 2022 3:27:00 PM CEST      SuccessSSH key                                  April 29, 2022 3:27:00 PM CEST      April 29, 2022 3:27:00 PM CEST      SuccessSSH key scan                             April 29, 2022 3:27:00 PM CEST      April 29, 2022 3:27:00 PM CEST      SuccessAudit directory creation                 April 29, 2022 3:27:00 PM CEST      April 29, 2022 3:27:00 PM CEST      SuccessCreate pfile for Auxiliary Instance      April 29, 2022 3:27:01 PM CEST      April 29, 2022 3:27:01 PM CEST      SuccessDeleting FRA                             April 29, 2022 3:27:01 PM CEST      April 29, 2022 3:27:02 PM CEST      SuccessRman duplicate                           April 29, 2022 3:27:02 PM CEST      April 29, 2022 3:29:10 PM CEST      SuccessCreating pfile from spfile               April 29, 2022 3:29:11 PM CEST      April 29, 2022 3:29:11 PM CEST      SuccessSet PFile Ownership                      April 29, 2022 3:29:11 PM CEST      April 29, 2022 3:29:11 PM CEST      SuccessCustomize Db Parameters                  April 29, 2022 3:29:11 PM CEST      April 29, 2022 3:29:12 PM CEST      SuccessShutdown And Start database              April 29, 2022 3:29:12 PM CEST      April 29, 2022 3:29:33 PM CEST      SuccessCreate spfile for restore db             April 29, 2022 3:29:33 PM CEST      April 29, 2022 3:29:33 PM CEST      SuccessSet PFile Ownership                      April 29, 2022 3:29:33 PM CEST      April 29, 2022 3:29:33 PM CEST      SuccessShutdown And Mount database              April 29, 2022 3:29:33 PM CEST      April 29, 2022 3:29:51 PM CEST      SuccessRegister Database taskflow               April 29, 2022 3:29:55 PM CEST      April 29, 2022 3:31:33 PM CEST      SuccessCreate SPFile in shared loc              April 29, 2022 3:29:55 PM CEST      April 29, 2022 3:30:03 PM CEST      SuccessDelete Local Spfile                      April 29, 2022 3:30:03 PM CEST      April 29, 2022 3:30:03 PM CEST      SuccessRegister DB with clusterware             April 29, 2022 3:30:03 PM CEST      April 29, 2022 3:30:31 PM CEST      SuccessSet SysPassword and Create PwFile        April 29, 2022 3:30:31 PM CEST      April 29, 2022 3:30:33 PM CEST      SuccessEnable block change tracking             April 29, 2022 3:30:33 PM CEST      April 29, 2022 3:30:37 PM CEST      SuccessCreating pfile                           April 29, 2022 3:30:37 PM CEST      April 29, 2022 3:30:38 PM CEST      SuccessUpdating db env                          April 29, 2022 3:30:38 PM CEST      April 29, 2022 3:30:39 PM CEST      SuccessEnable DbSizing Template                 April 29, 2022 3:30:39 PM CEST      April 29, 2022 3:31:06 PM CEST      SuccessCreate tns entry                         April 29, 2022 3:31:06 PM CEST      April 29, 2022 3:31:07 PM CEST      SuccessRunning datapatch                        April 29, 2022 3:31:07 PM CEST      April 29, 2022 3:31:08 PM CEST      SuccessSet CPU pool                             April 29, 2022 3:31:08 PM CEST      April 29, 2022 3:31:08 PM CEST      SuccessReset Associated Networks                April 29, 2022 3:31:34 PM CEST      April 29, 2022 3:31:38 PM CEST      SuccessSet log_archive_dest for Database        April 29, 2022 3:31:38 PM CEST      April 29, 2022 3:31:43 PM CEST      SuccessCopy Pwfile to Shared Storage            April 29, 2022 3:31:43 PM CEST      April 29, 2022 3:31:49 PM CEST      Success[root@mdidbi43 ~]# | 
After the restore we can connect on the standby database and can see that it’s in a MOUNT STATE
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
 | 
[oracle@mdidbi43 ~]$ . oraenvORACLE_SID = [MDIDB1] ?The Oracle base remains unchanged with value /u01/app/oracle[oracle@mdidbi43 ~]$ sqlplus / as sysdbaSQL*Plus: Release 21.0.0.0.0 - Production on Fri Apr 29 10:01:23 2022Version 21.5.0.0.0Copyright (c) 1982, 2021, Oracle.  All rights reserved.Connected to:Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - ProductionVersion 21.5.0.0.0SQL> select db_unique_name ,open_mode from v$database;DB_UNIQUE_NAME                 OPEN_MODE------------------------------ --------------------MDIDB2_43                      MOUNTEDSQL> | 
Ok now we can configure the Data Guard by running the configure-dataguard command from the primary.
You will have some questions to fill
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
 | 
[root@mdidbi42 ~]# odacli configure-dataguardStandby site address: mdidbi43BUI username for Standby site. If Multi-user Access is disabled on Standby site, enter 'oda-admin'; otherwise, enter the name of the use who has irestored the Standby database (default: oda-admin):BUI password for Standby site:root@mdidbi43's password:Database name for Data Guard configuration: MDIDB1Primary database SYS password:*******************************************************************************************Data Guard default settingsPrimary site network for Data Guard configuration: Public-networkStandby site network for Data Guard configuration: Public-networkPrimary database listener port: 1521Standby database listener port: 1521Transport type: ASYNCProtection mode: MAX_PERFORMANCEData Guard configuration name: MDIDB1_42_MDIDB2_43Active Data Guard: disabledDo you want to edit this Data Guard configuration? (Y/N, default:N): Y*******************************************************************************************Primary site network for Data Guard configuration [Public-network] (default: Public-network):Standby site network for Data Guard configuration [Public-network] (default: Public-network):Primary database listener port (default: 1521):Standby database listener port (default: 1521):Transport type [ASYNC, FASTSYNC, SYNC] (default: ASYNC):Protection mode [MAX_PROTECTION, MAX_PERFORMANCE, MAX_AVAILABILITY] (default: MAX_PERFORMANCE):Data Guard configuration name (default: MDIDB1_42_MDIDB2_43):Primary database is missing certain archivelogs for Data Guard configuration. We need to restore those from backup.Enter RMAN backup encryption password:Do you want to provide another RMAN backup encryption password? [y/n] (default 'n'): nEnable Active Data Guard? (Y/N, default:N):Standby database's SYS password will be set to Primary database's after Data Guard configuration. Ignore warning and proceed with Data Gard configuration? (Y/N, default:N): Y*******************************************************************************************Configure Data Guard MDIDB1_42_MDIDB2_43 started*******************************************************************************************Step 1: Validate Data Guard configuration request (Primary site)Description: Validate DG Config Creation for db MDIDB1Job ID: eb1c048d-4a26-44f6-972d-d0923b43a30cStarted April 29, 2022 15:36:13 PM CESTValidate create Data Guard configuration requestFinished April 29, 2022 15:36:17 PM CEST*******************************************************************************************Step 2: Validate Data Guard configuration request (Standby site)Description: Validate DG Config Creation for db MDIDB1Job ID: 81d48002-8478-4c4b-a49c-89f7babe8764Started April 29, 2022 15:36:18 PM CESTValidate create Data Guard configuration requestFinished April 29, 2022 15:36:23 PM CEST*******************************************************************************************Step 3: Restore missing archivelog (Primary site)Description: Create Archivelog Restore for db:MDIDB1Job ID: ca35287b-e306-4372-a1ad-84ed61185b55Started April 29, 2022 15:36:24 PM CESTRestore Archivelog validationRestore ArchivelogFinished April 29, 2022 15:36:43 PM CEST*******************************************************************************************Step 4: Download password file from Primary database (Primary site)Description: Download orapwd file from Primary databaseStarted April 29, 2022 15:36:43 PM CESTPrepare orapwd file for Primary database MDIDB1Finished April 29, 2022 15:36:45 PM CEST*******************************************************************************************Step 5: Upload password file to Standby database (Standby site)Description: Upload orapwd file to Standby databaseStarted April 29, 2022 15:36:45 PM CESTWrite orapwd file to Standby database MDIDB1Finished April 29, 2022 15:36:58 PM CEST*******************************************************************************************Step 6: Configure Primary database (Primary site)Description: DG Config service for db MDIDB1 - ConfigurePrimaryJob ID: 55c4622f-3190-4ac6-9344-9e551075bc21Started April 29, 2022 15:36:59 PM CESTConfigure host DNS on primary envConfigure Data Guard Tns on primary envEnable Data Guard related Db parameters for primary envEnable force logging and archivelog mode in primary envEnable FlashBackConfigure network parameters for local listener on primary envRestart listener on primary envCreate services for primary dbFinished April 29, 2022 15:37:26 PM CEST*******************************************************************************************Step 7: Configure Standby database (Standby site)Description: DG Config service for db MDIDB1 - ConfigureStandbyJob ID: 642866cc-c2e3-49fd-99af-7017bcf23ae2Started April 29, 2022 15:37:27 PM CESTConfigure Data Guard Tns on standby envConfigure host DNS on standby envClear Data Guard related Db parameters for standby envEnable Data Guard related Db parameters for standby envEnable force logging and archivelog mode in standby envPopulate standby database metadataConfigure network parameters for local listener on standby envReset Db sizing and hidden parameters for ODA best practiceRestart Listener on standby envCreate services for standby dbFinished April 29, 2022 15:38:39 PM CEST*******************************************************************************************Step 8: Configure and enable Data Guard (Primary site)Description: DG Config service for db MDIDB1 - ConfigureDgJob ID: e6882484-c946-4b4e-b51e-ddca8886449dStarted April 29, 2022 15:38:40 PM CESTConfig and enable Data GuardPost check Data Guard configurationFinished April 29, 2022 15:40:22 PM CEST*******************************************************************************************Step 9: Enable Flashback (Standby site)Description: DG Config service for db MDIDB1 - EnableFlashbackJob ID: e9e0d091-7bc2-4185-901d-7914168f32bbStarted April 29, 2022 15:40:23 PM CESTEnable FlashBackFinished April 29, 2022 15:40:36 PM CEST*******************************************************************************************Step 10: Re-enable Data Guard (Primary site)Description: DG Config service for db MDIDB1 - ReenableDgJob ID: d83d2779-f7fd-4d90-b5eb-58fda4792f15Started April 29, 2022 15:40:37 PM CESTRe-enable Data Guard if inconsistent properties foundPost check Data Guard configurationFinished April 29, 2022 15:40:39 PM CEST*******************************************************************************************Step 11: Create Data Guard status (Primary site)Description: DG Status operation for db MDIDB1 - NewDgconfigJob ID: cb590d03-3795-4dfe-b374-69212f8aecd8Started April 29, 2022 15:40:40 PM CESTCreate Data Guard statusFinished April 29, 2022 15:40:42 PM CEST*******************************************************************************************Step 12: Create Data Guard status (Standby site)Description: DG Status operation for db MDIDB1 - NewDgconfigJob ID: ba68bda7-f705-4a6e-9e96-d37d042603f0Started April 29, 2022 15:40:43 PM CESTCreate Data Guard statusFinished April 29, 2022 15:40:44 PM CEST*******************************************************************************************Configure Data Guard MDIDB1_42_MDIDB2_43 completed*******************************************************************************************[root@mdidbi42 ~]# | 
The configuration finished successfully, we can list the status of the Data Guard
| 
 1 
2 
3 
4 
5 
6 
 | 
[root@mdidbi42 ~]# odacli list-dataguardstatusUpdated about 4 minute(s) agoID                                       Name                             Database Name        Role       Protection Mode    Apply Lag       Transport Lag   Apply Rate      Status---------------------------------------- -------------------------------- -------------------- ---------- ------------------ --------------- --------------- --------------- ----------b297b32d-987e-407d-9422-6d3748481907     MDIDB1_42_MDIDB2_43              MDIDB1               PRIMARY    MAX_PERFORMANCE    18 seconds      0 seconds       19.00 KByte/s   CONFIGURED[root@mdidbi42 ~]# | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
 | 
[root@mdidbi42 ~]# odacli describe-dataguardstatus -i b297b32d-987e-407d-9422-6d3748481907Updated about 4 minute(s) agoDataguard Status details----------------------------------------------------------------                     ID: b297b32d-987e-407d-9422-6d3748481907                   Name: MDIDB1_42_MDIDB2_43          Database Name: e5fbd9e1-ccb6-4d3e-88cb-ece45007a549                   Role: PRIMARY        Protection Mode: MAX_PERFORMANCE              Apply Lag: 0 seconds          Transport Lag: 0 seconds             Apply Rate: 1.00 KByte/s                 Status: CONFIGURED           Updated Time: April 29, 2022 3:45:05 PM CEST[root@mdidbi42 ~]# | 
We can also connect via dgmgrl and verify
| 
 1 
 | 
<br> | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB1_42 - Primary database    MDIDB2_43 - Physical standby databaseFast-Start Failover:  DisabledConfiguration Status:SUCCESS   (status updated 58 seconds ago)DGMGRL> | 
To do a switchover run following command on the primary server
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
[root@mdidbi42 ~]#  odacli switchover-dataguard -i b297b32d-987e-407d-9422-6d3748481907 -u MDIDB2_43Password for target database:{  "jobId" : "758d015e-c208-4313-b989-5ffb4fd9fa7c",  "status" : "Created",  "message" : null,  "reports" : [ ],  "createTimestamp" : "April 29, 2022 15:59:47 PM CEST",  "resourceList" : [ ],  "description" : "Dataguard operation for MDIDB1_42_MDIDB2_43 - SwitchoverDg",  "updatedTime" : "April 29, 2022 15:59:47 PM CEST"}[root@mdidbi42 ~]# | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
[root@mdidbi42 ~]# odacli describe-job -i "758d015e-c208-4313-b989-5ffb4fd9fa7c"Job details----------------------------------------------------------------                     ID:  758d015e-c208-4313-b989-5ffb4fd9fa7c            Description:  Dataguard operation for MDIDB1_42_MDIDB2_43 - SwitchoverDg                 Status:  Success                Created:  April 29, 2022 3:59:47 PM CEST                Message:Task Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Precheck switchover DataGuard            April 29, 2022 3:59:47 PM CEST      April 29, 2022 3:59:58 PM CEST      SuccessSwitchover DataGuard                     April 29, 2022 3:59:58 PM CEST      April 29, 2022 4:01:07 PM CEST      SuccessPostcheck switchover DataGuard           April 29, 2022 4:01:07 PM CEST      April 29, 2022 4:01:08 PM CEST      SuccessCheck if DataGuard config is updated     April 29, 2022 4:01:09 PM CEST      April 29, 2022 4:01:19 PM CEST      Success[root@mdidbi42 ~]# | 
We can validate the switchover while connected to the broker
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB2_43 - Primary database    MDIDB1_42 - Physical standby databaseFast-Start Failover:  DisabledConfiguration Status:SUCCESS   (status updated 19 seconds ago)DGMGRL> | 
To switchback to MDIDB1_42 just run the switchover command on the actual primary server
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
[root@mdidbi43 ~]#  odacli switchover-dataguard -i b297b32d-987e-407d-9422-6d3748481907 -u MDIDB1_42Password for target database:{  "jobId" : "17eef433-7e8e-4d4d-95e3-defe8724cb99",  "status" : "Created",  "message" : null,  "reports" : [ ],  "createTimestamp" : "April 29, 2022 16:05:49 PM CEST",  "resourceList" : [ ],  "description" : "Dataguard operation for MDIDB1_42_MDIDB2_43 - SwitchoverDg",  "updatedTime" : "April 29, 2022 16:05:49 PM CEST"}[root@mdidbi43 ~]# | 
After the switchback
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB1_42 - Primary database    MDIDB2_43 - Physical standby databaseFast-Start Failover:  DisabledConfiguration Status:SUCCESS   (status updated 70 seconds ago)DGMGRL> | 
We can also perfom a failover by running following command on the standby server
| 
 1 
2 
3 
4 
 | 
[root@mdidbi42 ~]# odacli failover-dataguard -i 96e5c5cf-f710-4a14-a506-9024e4952ba4 -u MDIDB2_43Password for target database:DCS-10001:Internal error encountered: Invalid role for FailoverDg:Primary. Execute this command on the Standby site mdidbi43.dbi-lab.ch.[root@mdidbi42 ~]# | 
Check the job status
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
[root@mdidbi43 ~]# odacli describe-job -i "7c0dd208-1fca-4c03-99e1-7d896f79c1b5"Job details----------------------------------------------------------------                     ID:  7c0dd208-1fca-4c03-99e1-7d896f79c1b5            Description:  Dataguard operation for MDIDB1_42_MDIDB2_43 - FailoverDg                 Status:  Success                Created:  April 29, 2022 4:11:09 PM CEST                Message:Task Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Precheck failover DataGuard              April 29, 2022 4:11:09 PM CEST      April 29, 2022 4:11:12 PM CEST      SuccessFailover DataGuard                       April 29, 2022 4:11:12 PM CEST      April 29, 2022 4:11:33 PM CEST      SuccessPostcheck DataGuard status               April 29, 2022 4:11:33 PM CEST      April 29, 2022 4:11:37 PM CEST      SuccessCheck if DataGuard config is updated     April 29, 2022 4:11:37 PM CEST      April 29, 2022 4:11:47 PM CEST      Success[root@mdidbi43 ~]# | 
Check the Data Guard status
On mdidbi43
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB2_43 - Primary database    MDIDB1_42 - Physical standby database (disabled)      ORA-16661: the standby database needs to be reinstatedFast-Start Failover:  DisabledConfiguration Status:SUCCESS   (status updated 59 seconds ago)DGMGRL> | 
On the former primary mdidbi42
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB1_42 - Primary database    MDIDB2_43 - Physical standby databaseFast-Start Failover:  DisabledConfiguration Status:DISABLEDDGM-17290: Role change detected. This database may no longer be the primary database.DGMGRL> | 
Let’s reinstate the former primary database MDIDB1_42. So connected to mdidbi43 run the following command
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
 | 
[root@mdidbi43 ~]# odacli reinstate-dataguard   -i b297b32d-987e-407d-9422-6d3748481907 -u MDIDB1_42Password for target database:{  "jobId" : "cfe917c4-85f6-4469-b8e0-e6c6e602c54e",  "status" : "Created",  "message" : null,  "reports" : [ ],  "createTimestamp" : "April 29, 2022 16:16:56 PM CEST",  "resourceList" : [ ],  "description" : "Dataguard operation for MDIDB1_42_MDIDB2_43 - ReinstateDg",  "updatedTime" : "April 29, 2022 16:16:56 PM CEST"}[root@mdidbi43 ~]# | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
[root@mdidbi43 ~]# odacli describe-job -i "cfe917c4-85f6-4469-b8e0-e6c6e602c54e"Job details----------------------------------------------------------------                     ID:  cfe917c4-85f6-4469-b8e0-e6c6e602c54e            Description:  Dataguard operation for MDIDB1_42_MDIDB2_43 - ReinstateDg                 Status:  Success                Created:  April 29, 2022 4:16:56 PM CEST                Message:Task Name                                Start Time                          End Time                            Status---------------------------------------- ----------------------------------- ----------------------------------- ----------Precheck reinstate DataGuard             April 29, 2022 4:16:56 PM CEST      April 29, 2022 4:16:59 PM CEST      SuccessReinstate DataGuard                      April 29, 2022 4:16:59 PM CEST      April 29, 2022 4:18:13 PM CEST      SuccessPostcheck DataGuard status               April 29, 2022 4:18:13 PM CEST      April 29, 2022 4:18:17 PM CEST      SuccessCheck if DataGuard config is updated     April 29, 2022 4:18:17 PM CEST      April 29, 2022 4:18:27 PM CEST      Success[root@mdidbi43 ~]# | 
and the new status
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
DGMGRL> show configurationConfiguration - MDIDB1_42_MDIDB2_43  Protection Mode: MaxPerformance  Members:  MDIDB2_43 - Primary database    MDIDB1_42 - Physical standby databaseFast-Start Failover:  DisabledConfiguration Status:SUCCESS   (status updated 19 seconds ago)DGMGRL> | 
Conclusion
Hope this help
							
							
							
							
							
							
							
							
							
julian
10.09.2024Hello!
We are getting issues with this step by step
We take the backup without problems, and when we want to perform the irestore:
RMAN-05565: SPFILE backup created before to_date('2024/09/10 01:24:59', 'YYYY/MM/DD HH24:MI:SS')
but the spfile was created before the backup finishes at 01.26...
I dont know how to fix this