Oracle 12c Data Guard – Far Sync and what’s new

Slides:



Advertisements
Similar presentations
INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Backup and Recovery Copyright System Managers LLC 2008 all rights reserved.
Advertisements

INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Oracle High Availability Solutions RAC and Standby Database Copyright System Managers LLC 2008.
Acknowledgments Byron Bush, Scott S. Hilpert and Lee, JeongKyu
Oracle Architecture. Instances and Databases (1/2)
ITEC474 Control File Maintenance
Oracle9i Data Guard Darl Kuhn Sun Microsystems
Oracle Data Guard Ensuring Disaster Recovery for Enterprise Data
© 2015 Dbvisit Software Limited | dbvisit.com An Introduction to Dbvisit Standby.
FlareCo Ltd ALTER DATABASE AdventureWorks SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS Slide 1.
1 Chapter 15 Duplicating Databases and Transporting Data.
Introduction to Data Guard NY SIG Meeting October 7th, 2003.
1 - Oracle Server Architecture Overview
Harvard University Oracle Database Administration Session 2 System Level.
EIM April 19, Robin Weaver 13 Years with IBM Prior to Assignment at UNC Charlotte Range of Database Development/Data Management Projects and Products.
RMAN Restore and Recovery
Backup and Recovery (2) Oracle 10g CAP364 1 Hebah ElGibreen.
Backup and Recovery Part 1.
Chapter 5 Configuring the RMAN Environment. Objectives Show command to see existing settings Configure command to change settings Backing up the controlfile.
CHAPTER 17 Configuring RMAN. Introduction to RMAN RMAN was introduced in Oracle 8.0. RMAN is Oracle’s tool for backup and recovery. RMAN is much more.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
Oracle9i Database Administrator: Implementation and Administration
Backup Concepts. Introduction Backup and recovery procedures protect your database against data loss and reconstruct the data, should loss occur. The.
Introduction to Oracle Backup and Recovery
Oracle Database Administration
1 Data Guard Basics Julian Dyke Independent Consultant Web Version - February 2008 juliandyke.com © 2008 Julian Dyke.
Oracle Recovery Manager (RMAN) 10g : Reloaded
ORACLE 10g DATA GUARD BROKER Ritesh Chhajer Sr. Oracle DBA.
Chapter 7 Making Backups with RMAN. Objectives Explain backup sets and image copies RMAN Backup modes’ Types of files backed up Backup destinations Specifying.
ORACLE 10g DATAGUARD Ritesh Chhajer Sr. Oracle DBA.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
11g(R1/R2) Data guard Enhancements Suresh Gandhi
DATABASE MIRRORING  Mirroring is mainly implemented for increasing the database availability.  Is configured on a Database level.  Mainly involves two.
Database Systems Slide 1 Database Systems Lecture 5 Overview of Oracle Database Architecture - Concept Manual : Chapters 1,8 Lecturer : Dr Bela Stantic.
1 Data Guard. 2 Data Guard Reasons for Deployment  Site Failures  Power failure  Air conditioning failure  Flooding  Fire  Storm damage  Hurricane.
A Guide to Oracle9i1 Database Instance startup and shutdown.
Week 3 Lecture 1 The Redo Log Files and Diagnostic Files.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
Chapter 1Oracle9i DBA II: Backup/Recovery and Network Administration 1 Chapter 1 Backup and Recovery Overview MSCD642 Backup and Recovery.
Implementing Oracle9i Data Guard Michael New Senior Technical Consultant ThinkSpark Session id:
Overview of Oracle Backup and Recovery Darl Kuhn, Regis University.
12 Copyright © Oracle Corporation, All rights reserved. User-Managed Complete Recovery.
18 Copyright © 2004, Oracle. All rights reserved. Backup and Recovery Concepts.
2 Copyright © 2007, Oracle. All rights reserved. Configuring for Recoverability.
CERN IT Department CH-1211 Genève 23 Switzerland 1 Active Data Guard Svetozár Kapusta Distributed Database Operations Workshop November.
8 Copyright © 2007, Oracle. All rights reserved. Using RMAN to Duplicate a Database.
18 Copyright © 2004, Oracle. All rights reserved. Recovery Concepts.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
Agenda Data Guard Architecture & Features
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
© Puget Sound Oracle Users Group Education Is Our Passion PSOUG Education Education Is Our Passion Hands-on Workshop Series Oracle DataGuard 10gR2.
14 Copyright © 2007, Oracle. All rights reserved. Backup and Recovery Concepts.
Oracle Standby Implementation Tantra Invedy. Standby Database Introduction Fail over Solution Disaster Recovery Solution if remote Ease of implementation.
1 Implementing Oracle Data Guard for the RLS database Kasia Pokorska CERN, IT-DB 30 th March 2004.
 Database Administration Oracle Database Instance Management Starting Up and Shutting Down أ. ندى الغامدي, أ. ندى الطوالة.
Agenda Data Guard Architecture & Features
Oracle 11g -Snapshot Standby and Active Data Guard
Is 221: Database Administration
Maximum Availability Architecture Enterprise Technology Centre.
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Always on HA SQL Server Always ON feature is the new comprehensive high availability and disaster recovery solution which increases application availability.
Oracle9i Database Administrator: Implementation and Administration
Understanding the Oracle Data Guard Architecture
Performing Database Recovery
Distributed Availability Groups
Chapter 5 The Redo Log Files.
Introduction.
Oracle Data Guard Broker Session-3
Oracle Data Guard Session-4
Presentation transcript:

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 © 2014 Pythian

Oracle Data Guard Evolution 7.x Now lets See Managed standby Database 8i 11g Read-only Physical standby database Managed Recovery of standby Remote archiving of redo log files ADG, Heterogeneous Platform support Snapshot Standby , Rolling Upgrade, Tuning Reports 9i 10g Logical standby database Integrated zero data loss Broker, Switchover & Failover Automatic GAP resolution Cascade redo log destinations Real-Time Apply, Simplified Configuration, SRL Support with Logical standby database, FSFO, Flashback database over Data Guard © 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 © 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 NOAFFIRM AFFIRM AFFIRM/NOAFFIRM Maximum Performance : This mode is the default protection mode and the log transport service must use the ASYNC mode with the LGWR or ARCH attribute. with 11g, ARCH transport is not recommended because it doesn't offer any advantage in terms of performance, and offers less data protection. (ASYNC) Maximum performance doesn’t bother of standby database whether redo is been sent to standby or even received or even applied.. There are not so many changes with protection mode except Maximum availability in 12c. From 12c Maximum availability supports only AFFIRM earlier, now it supports to NOAFFIRM as well. Just changing of redo transport attributes doesn’t perform protection level, You have to manually convert protection mode. What are new changes in 12c? – Max availability The NET_TIMEOUT parameter allows the LGWR on the primary database to wait for the specified time in the parameter for the RFS on the standby server to send an acknowledgement to the LGWR on the primary database saying that the log has been applied to the standby database and finally commits the ongoing transaction. If the LGWR in primary does not receive the acknowledgement within the NET_TIMEOUT period, then it would go ahead with the commitment and starts behaving in as the Maximum Performance Mode. Once the standby is up, it automatically gets the logs from the online redo logs of the primary database. The Maximum Availability mode is the data protection mode that has the ability to run as a Maximum Protection or Maximum Performance mode depending on the accessibility of standby databases. It guarantees 100-percent data protection during normal operation in the event that the primary database fails(until unless same time failure at the primary site and power is lost at the standby site) . No data loss even if primary database fails, to reach the protection level the redo data needed to recover transaction must be written to both the online redo log and to the standby redo log at least one synchronized standby database before the transaction commits © 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 © 2014 Pythian

Protection with Maximum Availability – 11.x SYNC/AFFIRM – Maximum Availability Standby SYNC 3 Primary LGWR 2 NSS RFS 11.x AFFIRM 11.x 5 4 Commit ACK Commit LOG1 LOG2 MRP 6 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$ © 2014 Pythian

Performance with Maximum Availability – 12c FastSync SYNC/NOAFFIRM – Maximum Availability Standby SYNC 3 Primary LGWR 2 NSS RFS 12c 12c Ack Receipt 4 2 NOAFFIRM Commit ACK Commit 5 LOG1 LOG2 MRP SLOG1 SLOG2 1 © 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> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY; NSS(11.2) - Acts as a slave for LGWR when SYNC transport is configured for a remote standby destination NSS(12.1) - Transfers redo from current online redo logs to remote standby destinations configured for SYNC transport LNS - primary database LGWR process is writing redo to its ORL, a separate Data Guard process called the Log Network Server (LNS) is reading from the redo buffer in SGA and passes redo to Oracle Net Services for transmission to the standby database RFS - Redo records transmitted by the LNS are received at the standby database by another Data Guard process called the Remote File Server (RFS). The RFS receives the redo at the standby database and writes it to a sequential file called a standby redo log file (SRL). © 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 © 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? © 2014 Pythian

Far Sync – Evolution Cascade standby Disadvantages? At least one standby I able to transmit redo and the other standby(cascade) am not much worried because my data is safe in at least one standby Avoided network trip between primary to standby databases But I need huge storage in case of VLDB © 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. Database = control + data files + redo , Instance = Memory + Back Ground processes, Semi Database – far sync Far sync instances are part of the Oracle Active Data Guard Far Sync feature, which requires an Oracle Active Data Guard license. offload the primary database performance obligations/complexity and overcome network latency issues involved while shipping the redo synchronously to its all remote standby databases configured far away, at the same time guarantee zero data loss failover capabilities. - cannot perform any switchover or either failover operations Supports up to 29 remote destinations © 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 If your redo rate 8738133 bytes per second , bandwidth is 100 Mbps © 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. Standby servers doesn’t mean that failover performed to different location, its just logical representation that we performed failover and now the database is new primary © 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) © 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. 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. DATABASE_ROLE DB_UNIQUE_NAME Oracle Net Primary CANADA Far Sync CANFAR Standby INDIA © 2014 Pythian

Far Sync – Implementation The new values of parameters from all destinations are Why VALID_FOR used STANDBY_LOGFILE,STANDBY_ROLE used from far sync to standby? The redo_log_type keyword identifies the destination whether valid or not. © 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). For real-time apply, no need to start recovery using “current logfile”, real-time apply is enabled by default. © 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. © 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. © 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. Far Sync-1 SYNC Distance ? Standby Switchover Switchover ASYNC ASYNC Standby SYNC Primary Far Sync-2 After switchover © 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 © 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 © 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 © 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; © 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)'; DGMGRL> © 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 © 2014 Pythian

Simpler Role Transitions Simple Switchover with “SQL> alter database switchover to india;” Simple Failover with “SQL> alter database failover to india;” Standby can be © 2014 Pythian

Simpler Role Transitions © 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 © 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 © 2014 Pythian

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

DBMS_ROLLING High Level Steps DBMS_ROLLING.DESTROY_PLAN (); DBMS_ROLLING.ROLLBACK_PLAN; © 2014 Pythian

DBMS_ROLLING © 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 © 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. © 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 © 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" ; © 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 © 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 © 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 © 2014 Pythian

Thank you and Q&A basha@pythian.com @nassyambasha www.oracle-ckpt.com