Anda di halaman 1dari 43

Oracle 12c Data Guard –

Far Sync and what’s new


Author & Presenter: Nassyam Basha
Date: 18-DEC-2014
Nassyam Basha
• Post Graduation in computers from University of Madras
• Oracle Database Consultant @ Pythian
• Frequent OTN contributor (CKPT) /MOSC certified GURU
• Co-Author of Oracle 11gR2 Data Guard administration beginners Guide
• Blogger
• Author of OTN Articles
• 11g Oracle Certified Master
• Co-Founder of

@nassyambasha

/nassyambasha

2 © 2014 Pythian
Oracle Data Guard Evolution
7.x 12c

Managed standby Database Now lets See

8i 11g
Read-only Physical standby database ADG, Heterogeneous Platform support
Managed Recovery of standby Snapshot Standby , Rolling Upgrade,
Remote archiving of redo log files Tuning Reports

Logical standby database


9i 10g
Integrated zero data loss Real-Time Apply, Simplified
Broker, Switchover & Failover Configuration, SRL Support with
Automatic GAP resolution Logical standby database, FSFO,
Cascade redo log destinations Flashback database over Data Guard

3 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
4 © 2014 Pythian
Quick look at Protection modes – 12c
• Maximum Performance:
– Works as independent database
– (ASYNC/NOAFFIRM)
– Oracle no longer recommends ARCH transport

• Maximum Protection:
– Highest level of data protection, No data loss
– Must recommended to have more than one standby database.
– (SYNC/AFFIRM)

• Maximum Availability(11g/12c):
– Flexibility to run in Maximum Protection and Maximum Performance
– (SYNC/AFFIRM) - Maximum protection in maximum Availability
– (SYNC/NOAFFIRM) – Maximum performance with maximum Availability
MAX_PERFORMANCE MAX_PROTECTION MAX_AVAILABILITY
ASYNC SYNC SYNC
NOAFFIRM AFFIRM AFFIRM/NOAFFIRM

5 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
6 © 2014 Pythian
Protection with Maximum Availability – 11.x
• SYNC/AFFIRM – Maximum Availability
SYNC 3 Standby
Primary 2
LGWR NSS RFS
11.x
5
11.x
4

6
Commit

LOG1 LOG2
MRP
SLOG1 SLOG2

1
-bash-3.2$ ps -ef|grep nss
oracle 12908 1 0 22:06 ? 00:00:02 ora_nss2_mcdb
oracle 17079 15150 0 23:31 pts/2 00:00:00 grep nss
-bash-3.2$ ps -ef|grep lns
oracle 17081 15150 0 23:31 pts/2 00:00:00 grep lns
-bash-3.2$

7 © 2014 Pythian
Performance with Maximum Availability – 12c FastSync
• SYNC/NOAFFIRM – Maximum Availability
SYNC 3 Standby
Primary 2
LGWR NSS RFS

Ack Receipt 12c


4
12c 2 NOAFFIRM

5
Commit

LOG1 LOG2
MRP
SLOG1 SLOG2

8 © 2014 Pythian
Performance with Maximum Availability – Fast Sync
• Prior to 12c it Maximum availability supports only SYNC/AFFIRM,

SQL> alter system set log_archive_dest_2='service=india sync noaffirm


valid_for=(online_logfiles,primary_role) db_unique_name=india' scope=both;

System altered.

SQL> select protection_mode from v$database;


PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

SQL> alter database set standby database to maximize availability;


Database altered.
SQL>

9 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
10 © 2014 Pythian
Far Sync – Road Map (Topology 1:n)
• Multiple standby databases support(dest_n)
• Standby database can be Physical or Logical or Snapshot
• What is throughput and network traffic from one to many topology?
• Is your all of standby sites will have same network speed across global?

11 © 2014 Pythian
Far Sync – Evolution
• Cascade standby
– Disadvantages?

12 © 2014 Pythian
Far Sync - Introduction
• Light weight Oracle database instance
• SPFILE, Password file, Standby Control file , SRL’s and ARL’s
• No Datafiles
• No Database Open
• No storage cost and It consumes very less server resources (CPU, Memory…)
• Far Sync supports both Physical standby and also Logical standby.
• Far Sync doesn’t require a license but other nodes must required Oracle Active Data Guard
License
• Far Sync supports either Maximum Availability or Maximum Performance… Why?
• Far Sync supports Data Guard Broker.
• Compression of redo can be enabled with advanced compression license.

13 © 2014 Pythian
Far Sync – Best Location to create
• Considerations before creating FAR SYNC
– Redo write size
– Available network bandwidth
– Round Trip Network latency
– Standby I/O performance

14 © 2014 Pythian
Far Sync – Zero Data Loss Protection- How?
• As soon as Far Sync receives synchronous redo from primary, it also completes sending
committed transactions to the standby destination(s) of Data Guard configuration.
- My data is safe in standby database(s)
• Now it lefts to you whether you wish to configure FSFO for failover operations or you prefer to do
using manual method.

15 © 2014 Pythian
Far Sync – Implementation: Prerequisites
 Change to SPFILE in case of PFILE.
 Create Password file on Primary
- Copy password file to Far Sync instance and standby servers
 Primary database should be in Archive log mode
 Enable FORCE LOGGING on Primary database
 Listener configuration on all locations (Primary, Far Sync and Standby)
 Network connection
- Primary to Far Sync and vice versa
- Far Sync to remote standby database(s) and vice versa
- Primary to remote database(s), useful in case of switchover and any checks
 Create SRL(Standby redo logs) and recommended to have same or more size than
ORL(online redo logs) and create same or more number of standby redo log groups(SRL)
than online redo log group(ORL)
- Creation of SRL’s on overall Data Guard configuration including primary will helps us in
case of role transition
- Avoid multiplexing of SRL(standby redo logs)

16 © 2014 Pythian
Far Sync – Implementation: Know your environment
• In this scenario, We have Primary database and one standby, Now we introducing Far Sync
instance to transmit redo information through it.
DATABASE_ROLE DB_UNIQUE_NAME Oracle Net

Primary CANADA CANADA


Far Sync CANFAR CANFAR
Standby INDIA INDIA

• Now create control file for Far Sync instance from primary database

• Create SPFILE and copy it to Far Sync server and modify required parameters
• Copy Password file to remote servers and rename it as per instance name
• Copy control file backup(above location) to the Far Sync server, Either you can restore using
RMAN even directly copy to the required location and perform mount.

17 © 2014 Pythian
Far Sync – Implementation
• The new values of parameters from all destinations are

18 © 2014 Pythian
Far Sync – Implementation(critical)
• Create standby redo logs on primary
– Because of LOG_FILE_NAME_CONVERT parameter the standby redo logs will be created
automatically on Far Sync if they are created.
• Increase protection mode to avail Maximum availability with zero data loss

• Black Box
Primary database is in MAXIMUM AVAILABILITY mode
Changing standby controlfile to MAXIMUM AVAILABILITY mode
Changing standby controlfile to RESYNCHRONIZATION level
Standby controlfile consistent with primary
• Recovery (MRP)
– When recovery comes into picture, probably recovery can started from Far Sync? Then you will run
into “ORA-01665: control file is not a standby control file”
– Moreover there are no data files to update any committed transaction, its any instance which works
as broker between primary and standby database, Recovery(MRP) should start only on standby
database(s).

19 © 2014 Pythian
Far Sync - Validation
• After the successful configuration of introducing Far Sync, Overall status of the configuration

• SRL’s are being used?

• Parent and child relationship of Data Guard configuration.

20 © 2014 Pythian
Far Sync: Flexible
• Alternate destination
- alter system set log_archive_dest_2='service=canfar SYNC AFFIRM MAX_FAILURE=1
ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=canfar
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)';
- alter system set log_archive_dest_3='service=india ASYNC ALTERNATE=LOG_ARCHIVE_DEST_2
DB_UNIQUE_NAME=india VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)';
• By thus configurations, redo will be sent asynchronously to alternate destinations and when far
sync is available Data Guard automatically resynchronizes far sync(canfar) instance and redo will
be transmitted towards far sync.

21 © 2014 Pythian
Far Sync: High Availability
• After role transition(Switch over), will be the commit response time remains same
between new primary and the Far Sync-1(canfar)?
• To avail maximum availability for zero data loss establish a new far sync instance
near to the primary.

SYNC
Distance ?

Switch ASYNC Switch


over over

ASYNC
SYNC

22 © 2014 Pythian
Far Sync – Add second far instance
• Adding Far Sync instance near to remote destination is easy.
– Create SPFILE from new/modified PFILE
– Copy Password file
– Network connection between all the locations.
– Create new Far Sync control file from Primary database and mount.
– Ensure SRL’s are available for maximum availability in case of role transition

23 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
24 © 2014 Pythian
Real-Time Cascaded Standby Databases
• Cascaded destinations now receives redo in Real-Time
• Must have Active Data Guard License
• Cascading Standby can be in any Protection Mode
• Data Guard Broker now supports cascade standby
• First standby should be either Physical or Far Sync Standby but no Logical Standby

25 © 2014 Pythian
Real-Time Cascaded Standby Databases - Setup

• Real-Time Cascade, Then transport mode should be ASYNC and it can be any destinations.
• For Non Real-Time Cascade, Transport mode should be SYNC and use the destinations from 1 to 10.
• Standby Redo Logs(SRLs) must have created already on cascaded standby database.
Primary to Cascading:
SQL> alter system set log_archive_dest_2='SERVICE=INDIA SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=INDIA' scope=both;
Cascading to Cascade:
SQL> alter system set log_archive_dest_2='SERVICE=UK ASYNC VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE)
DB_UNIQUE_NAME=UK' scope=both;

26 © 2014 Pythian
Real-Time Cascade with Broker
• From 12c Cascade standby now with Broker support
• Configure RedoRoutes
DGMGRL> edit database CANADA set property redoroutes='(LOCAL:INDIA) (INDIA:UK)';
Property "redoroutes" updated
DGMGRL> edit database INDIA set property redoroutes='(CANADA:UK ASYNC)';
Property "redoroutes" updated
DGMGRL>

27 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
28 © 2014 Pythian
Simpler Role Transitions

• Simple Switchover with “SQL> alter database switchover to india;”


• Simple Failover with “SQL> alter database failover to india;”

29 © 2014 Pythian
Simpler Role Transitions

30 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
31 © 2014 Pythian
11g Rolling Upgrade
• Disable Broker
• Create Guaranteed restore point on primary & Standby
• Convert standby to Transient Logical standby
• Create 2nd Guaranteed restore point
• Upgrade Transient Logical standby
• Switchover to Primary
• Flashback Original Primary
• Mount Primary from new home and convert to physical standby
• Start Switchover on primary
• Complete switchover on standby
• Restart Old primary as standby
• Drop Restore points

32 © 2014 Pythian
DBMS_ROLLING
• Legacy Rolling Upgrade Vs DBMS_ROLLING
• PL/SQL package of ADG Feature
• Very useful in case of any maintenance, Patching.

33 © 2014 Pythian
DBMS_ROLLING
• High Level Steps

• DBMS_ROLLING.DESTROY_PLAN ();
• DBMS_ROLLING.ROLLBACK_PLAN;

34 © 2014 Pythian
DBMS_ROLLING

35 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
36 © 2014 Pythian
Online standby data file movement
• Online standby data file is feature of 12c and this is applicable either primary or standby but now it
is more flexible… How?
– No need to terminate the recovery (MRP)
– No need to set STANDBY_FILE_MANAGMENT to MANUAL
– If using ADG no need to bounce database to mount either.

37 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
38 © 2014 Pythian
Recover standby database using primary service
From 12c to fill huge archive lags, incremental backups on fly procedure can be performed for faster and simple form
of recovery by using service name from standby and no need to have any backup either in primary or standby to do.
• Should be in mount status or else
– Recovery cannot be performed in open status and data file fall into exclusive enqueue
– No need to have backup from primary

• Restore Datafile
RMAN> restore datafile 6 from service “canada" ;

39 © 2014 Pythian
What’s new in 12c Data Guard?
• Fast Sync
• Far Sync
• Real-time Cascade standby database
• Switchover Preview
• DBMS_ROLLING
• Online standby data file movement
• Restore datafile & Recover standby database using
primary service
• SYSDG role
40 © 2014 Pythian
SYSDG Role
• SYSDG administrative privilege specific to Data Guard.
• If you want to manage with SYSDG role then ensure you have fresh copy of password file.
– ALTER SYSTEM,
– ALTER SESSION
– ALTER DATABAE,
– FLASHBACK DATABASE
– DROP RESTORE POINT
– SELECT ANY DICTIONARY
– All DGMGRL Commands

41 © 2014 Pythian
Finally……
"There is a law written somewhere in the universe
that says the day your standby's config diverges
from your primary is the day you will need to
failover. Better hope such divergence doesn't hurt
the end user experience now that they are using
the standby."
- Brian Peasland

42 © 2014 Pythian
Thank you and Q&A

basha@pythian.com

@nassyambasha

www.oracle-ckpt.com

43 © 2014 Pythian

Anda mungkin juga menyukai