One of the real nice new features in Oracle 12c Release 2 (12.2.0.1) is the ability to create an Oracle Data Guard Standby Database using DBCA (Database Configuration Assistant). This really does simplify the process of creating a standby database as well and automates a number of steps in the creation process which were earlier manually performed.
In this example we will see how a 12.2.0.1 Data Guard environment is created via DBCA and then Data Guard Broker (DGMGRL).
The source database is called salesdb and the standby database DB_UNIQUE_NAME will be salesdb_sb.
Primary database host name is host01 and the Standby database host name is host02.
The syntax is:
dbca -createDuplicateDB -gdbName global_database_name -primaryDBConnectionString easy_connect_string_to_primary -sid database_system_identifier [-createAsStandby [-dbUniqueName db_unique_name_for_standby]]
We will run the command from the standby host host02 as shown below.
[oracle@host02 ~]$ dbca -silent -createDuplicateDB -gdbName salesdb -primaryDBConnectionString host01:1521/salesdb -sid salesdb -createAsStandby -dbUniqueName salesdb_sb Enter SYS user password: Listener config step 33% complete Auxiliary instance creation 66% complete RMAN duplicate 100% complete Look at the log file "/u02/app/oracle/cfgtoollogs/dbca/salesdb_sb/salesdb.log" for further details.
Note that the SPFILE and Password File for the Standby Database has been automatically created
[oracle@host02 dbs]$ ls -l sp* -rw-r-----. 1 oracle dba 5632 Mar 22 09:40 spfilesalesdb.ora [oracle@host02 dbs]$ ls -l ora* -rw-r-----. 1 oracle dba 3584 Mar 17 14:38 orapwsalesdb
Add the required entries to the tnsnames.ora file
Continue with the Data Guard Standby Database creation using the Data Guard Broker
SQL> alter system set dg_broker_start=true scope=both; System altered. SQL> quit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production [oracle@host01 archivelog]$ dgmgrl DGMGRL for Linux: Release 12.2.0.1.0 - Production on Fri Mar 17 14:47:27 2017connect / Connected to "salesdb" Connected as SYSDG. DGMGRL> create configuration 'salesdb_dg' > as primary database is 'salesdb' > connect identifier is 'salesdb'; Configuration "salesdb_dg" created with primary database "salesdb"
DGMGRL> add database 'salesdb_sb' as connect identifier is 'salesdb_sb'; Database "salesdb_sb" added DGMGRL> enable configuration; Enabled.
Create the Standby Redo Log Files on the primary database
SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u03/app/oradata/salesdb/redo03.log /u03/app/oradata/salesdb/redo02.log /u03/app/oradata/salesdb/redo01.log SQL> select bytes/1048576 from v$log; BYTES/1048576 ------------- 200 200 200 SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo1.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo2.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo3.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo4.log' size 200m; Database altered.
Create the Standby Redo Log Files on the standby database
DGMGRL> connect / Connected to "salesdb" Connected as SYSDG. DGMGRL> edit database 'salesdb_sb' set state='APPLY-OFF'; Succeeded. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 1174405120 bytes Fixed Size 8619984 bytes Variable Size 436209712 bytes Database Buffers 721420288 bytes Redo Buffers 8155136 bytes Database mounted. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo1.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo2.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo3.log' size 200m; Database altered. SQL> alter database add standby logfile '/u03/app/oradata/salesdb/standy_redo4.log' size 200m; Database altered. SQL> alter database open; Database altered. SQL>
Verify the Data Guard Configuration
DGMGRL> edit database 'salesdb_sb' set state='APPLY-ON'; Succeeded. DGMGRL> show configuration; Configuration - salesdb_dg Protection Mode: MaxPerformance salesdb - Primary database salesdb_sb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 8 seconds ago)
Set the property StaticConnectIdentifier to prevent errors during switchover operations
Edit database ‘salesdb’ set property StaticConnectIdentifier= '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host01.localdomain)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=salesdb_DGMGRL)(INSTANCE_NAME=salesdb)(SERVER=DEDICATED)))'; Edit database ‘salesdb_sb’ set property StaticConnectIdentifier=StaticConnectIdentifier= '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host02.localdomain)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=salesdb_sb_DGMGRL)(INSTANCE_NAME=salesdb)(SERVER=DEDICATED)))';
Edit listener.ora on primary database host and add the lines shown below. Reload the listener.
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = salesdb_DGMGRL) (SID_NAME = salesdb) ) )
Edit listener.ora on standby database host and add the lines shown below. Reload the listener.
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = salesdb_sb_DGMGRL) (SID_NAME = salesdb) ) )
No comments:
Post a Comment