Sie sind auf Seite 1von 6

Oracle Database 12c Release 2 New Feature –

Create Data Guard Standby Database Using


DBCA
 12.2.0.1, 12c new feature, 12c Release 2, data guard, dbca, High Availability, standby
database

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.
Connect to the Standby Database and verify the role of the database

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 2017

connect /
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))(CO
NNECT_DATA=(SERVICE_NAME=salesdb_DGMGRL)(INSTANCE_NAME=salesdb)(SERVER=DEDICA
TED)))';
Edit database ‘salesdb_sb’ set property
StaticConnectIdentifier=StaticConnectIdentifier=
'(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host02.localdomain)(PORT=1521))(CO
NNECT_DATA=(SERVICE_NAME=salesdb_sb_DGMGRL)(INSTANCE_NAME=salesdb)(SERVER=DED
ICATED)))';

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)
)
)

Das könnte Ihnen auch gefallen