oracle data guard: maximum data protection at minimum cost

68

Upload: jaafar

Post on 21-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

Session Id: 40056. Oracle Data Guard: Maximum Data Protection at Minimum Cost. Ashish Ray Senior Product Manager Oracle Corporation. Darl Kuhn Senior DBA, Staff Engineer Sun Microsystems. Agenda. Oracle Data Guard – a Quick Introduction Data Guard Features in Oracle Database 10g - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 2: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Oracle Data Guard: Maximum Data Protection at Minimum Cost

Ashish RaySenior Product Manager

Oracle Corporation

Session Id: 40056

Darl KuhnSenior DBA, Staff Engineer

Sun Microsystems

Page 3: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Agenda

Oracle Data Guard – a Quick Introduction Data Guard Features in Oracle Database 10g Customer Success Story – Sun Microsystems Summary & Q/A

Page 4: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

What is Oracle Data Guard?

Oracle’s disaster recovery solution for Oracle data

Feature of Oracle Database Enterprise Edition

Automates the creation and maintenance of one or more transactionally consistent copies (standby) of the production (or primary) database

If the primary database becomes unavailable (disasters, maintenance), a standby database can be activated and assume the primary role

Page 5: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Oracle Data Guard Focus

Data Failures & Site Disasters:

• Also addresses human errors & planned maintenances

– Data Protection– Data Availability– Data Recovery

Data is the core asset of the enterprise!All 3 are important!

Page 6: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Oracle Data Guard Architecture

NetworkBroker

ProductionDatabase

Logical StandbyDatabase Open for

Reports

SQLApply

Transform Redo to SQL

AdditionalIndexes & MVs

Physical StandbyDatabase

DIGITAL DATA STORAGE

DIGITAL DATA STORAGE

Backup

Redo Apply

Sync or Async Redo Shipping

Page 7: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Data Guard Redo Apply

Physical Standby Database is a block-for-block copy of the primary database Uses the database recovery functionality to apply changes Can be opened in read-only mode for reporting/queries Can also be used for backups, offloading production database

PrimaryDatabase

Physical StandbyDatabase

Redo Shipment

Network

Redo Apply

DIGITAL DATA STORAGE

Backup

Standby Redo Logs

Data Guard Broker

Page 8: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Data Guard SQL Apply

Logical Standby Database is an open, independent, active database Contains the same logical information (rows) as the production database Physical organization and structure can be very different Can host multiple schemas

Can be queried for reports while logs are being applied via SQL Can create additional indexes and materialized views for better query performance

AdditionalIndexes &

Materialized Views

Redo Shipment

NetworkContinuously

Open for Reports

Transform Redo to SQL and Apply

Data Guard Broker

PrimaryDatabase

Logical StandbyDatabase

Standby Redo Logs

Page 9: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Agenda

Oracle Data Guard – a Quick Introduction Data Guard Features in Oracle Database 10g Customer Success Story – Sun Microsystems Summary & Q/A

Page 10: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Oracle Data Guard 10g Objectives

Establish Data Guard as an extremely– easy-to-use– low-cost– comprehensive– reliable

Disaster Recovery solution for enterprise data

Page 11: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Overview of Objectives

Ease of use – simplified SQL, easy to create, manage and administer standby databases, simplified GUI focused on best practices

Low cost – businesses can leverage existing resources to implement Data Guard, zero integration costs

Comprehensive – feature-rich and flexible

Reliable – a rock-solid solution for protection of mission critical business data

Page 12: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Data Guard 10g New Features

General new features– Real Time Apply– Flashback Database Integration

SQL Apply new features – Zero Downtime Instantiation– Rolling Upgrades– Additional Datatypes

Data Guard Broker & Enterprise Manager new features – RAC integration– Simplified browser-based interface focused on best practices

Page 13: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Real Time Apply Redo data is applied to the standby database as soon as it is

received from the primary database

– In Oracle9i Data Guard this apply has to wait till an archivelog is created on the standby database

For Redo Apply:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE

For SQL Apply:ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE

When real time apply is enabled, RECOVERY_MODE column in V$ARCHIVE_DEST_STATUS displays “MANAGED REAL TIME APPLY”

Page 14: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

An up-to-date Physical/Logical

StandbyDatabase

MRP/ LSPRFS

StandbyRedo Logs

ARCH

Real Time Apply Architecture

Archived Redo Logs

Archived Redo Logs

PrimaryDatabase

Transactions

LGWR

Online Redo Logs

ARCH

Oracle Net

Real Time Apply

Page 15: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Real Time Apply – Benefits

Standby databases now more closely synchronized with the primary

– More up-to-date, real-time reporting– Faster switchover and failover times

Reduces planned and unplanned downtime Better Recovery Time Objective (RTO) for DR

Page 16: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Existing Site Recovery Tradeoffs

Log apply may be delayed to protect from user errors but:– Switchover/Failover gets delayed– Reports run on old data

After failing over to standby, production DB must be rebuilt

Primary Database Standby DatabaseRedo

Shipment

DelayedApply

Reporting on delayed data

Page 17: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Flashback Database

A new strategy for point in time recovery Eliminate the need to restore a whole

database backup Integrated seamlessly with RMAN

– Think of it as a continuous backup– Restores just changed blocks

It’s fast - recover in minutes, not hours It’s easy - single command restore

RMAN> FLASHBACK DATABASE TIMESTAMP to_timestamp ('2003-08-15 16:00:00', 'YYYY-MM-DD HH24:MI:SS');

Page 18: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Enhanced DR with Flashback Database

Flashback DB removes the need to delay application of logs Flashback DB removes the need to reinstantiate primary after failover Real-time apply enables real-time reporting on standby

Real Time Apply

No Delay!

Real TimeReporting

Flashback Log

Flashback Log

Primary: No reinstantiation after failover!

RedoShipment

Primary Database Standby Database

Page 19: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

SQL Apply: Zero Downtime Instantiation

Logical standby database can now be created from an online backup of the primary database, without shutting down or quiescing the primary database

– No shutdown implies no downtime of production system

– No quiesce implies no wait on quiesce and no dependence on Resource Manager

Page 20: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Rolling Upgrades

Major ReleaseUpgrades

Patch SetUpgrades

Cluster Software & Hardware Upgrades

Initial SQL Apply Config

ClientsRedo

Version X Version X

1

BA

Switchover to B, upgrade A

Redo

4

Upgrade

X+1X+1

BA

Run in mixed mode to test

Redo

3

X+1X

A B

Upgrade node B to X+1

Upgrade

LogsQueue

X

2

X+1

A B

Page 21: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

SQL Apply: Additional Data Types

SQL Apply now supports the following additional data types:– Multi-byte CLOB– NCLOB– LONG– LONG RAW– BINARY_FLOAT– BINARY_DOUBLE– IOT-s (without overflows and without LOB columns)

Allows logical standby databases to recover and protect a wider variety of data, thus increasing the overall database protection and recovery options for Data Guard

Page 22: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Enterprise Manager New Features

Streamlined browser-based interface that enables complete standby database lifecycle management

Focus on:– Ease of use– Management based on best practices– Pre-built integration with other HA features

Page 23: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

RAC Support – Broker

Now possible to use the Broker to create and manage configurations that contain RAC primary and RAC standby databases

Data Guard Broker interfaces with Oracle Clusterware such that it has control over critical operations during specific Data Guard state transitions

– Switchovers, failovers, protection mode changes, state changes

Page 24: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

RAC Primary

Two standby dbs

Page 25: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Instance specific

Page 26: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Example – Ease of Use

Switchover using Enterprise Manager is now literally two mouse clicks

Page 27: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 28: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 29: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 30: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 31: Oracle Data Guard:  Maximum Data Protection at Minimum Cost
Page 32: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Switched!

Page 33: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Agenda

Oracle Data Guard – a Quick Introduction Data Guard & Features in Oracle Database 10g Customer Success Story – Sun Microsystems Summary & Q/A

Page 34: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Case Study

Oracle Data Guard at Sun MicrosystemsDarl Kuhn

Senior DBA, Staff Engineer

Business decision considerations Architecture Implementation Features we use

Page 35: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Project Requirements

Patch and Knowledge databases for Sun Support Services

7x24 High Availability– Minimize scheduled downtime– Minimize unscheduled downtime

Disaster Recovery (DR) protection

Do more with less resources

Minimize costs

Minimize complexity

Page 36: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Solutions We Investigated

Backup the database, restore from tape Operating System failover Remote Mirroring Quest’s SharePlex Oracle Advanced Replication (OAR) Oracle Real Application Clusters (RAC) Oracle Data Guard (Standby)

Page 37: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

We Chose Data Guard

7x24 DR protection Simple to implement Requires DBA with B&R skills Didn’t need special System Administration

skills or consultants Low maintenance (do more w/less DBAs) No extra licensing (built into Oracle9i)

Page 38: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Implementation Decisions

Which data protection mode?– Maximum Protection– Maximum Availability– Maximum Performance

We chose Maximum Performance Two identical servers Directory structures the same Database name the same Introduce a delay in application of redo

Page 39: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Maximum Performance

.

PrimaryDatabase

Primary DatabaseProduction Site

LocalArchiveRedo

ARCn

Standby DatabaseServer

Users

StandbyDatabase

CopiedArchiveRedo

ManagedRecovery

Process (MRP)

LGWR

On-lineRedoOnlineRedo

Remote FileServer (RFS)

Fetch ArchiveLog (FAL)

OracleNet

CopiedArchiveRedo

LocalArchiveRedo

Page 40: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Database Architecture

50M archive redo logs 1 Gig of redo per day Primary in Colorado Standbys in North Carolina, Holland and

Singapore Database size currently 60 Gig Hardware Sun 6500, 280R, 4500 Storage T3 partner pair fiber channel

Page 41: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Implementation of Physical Standby

1. Ensure primary database is in archive log mode

Note: In Data Guard 10g, you also need to implement a password file for both Primary and Standby

2. Take backup of primary database datafiles – options:• RMAN• Hot• Cold• Do not backup controlfiles or online redo logs

Page 42: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Using RMAN to Build Standby

On Primary:

a) RMAN> backup database;b) Copy backup pieces to Standbyc) Create a Standby controlfile and copy to

Standby

Then on Standby:

a) SQL> startup nomount;b) SQL> alter database mount standby database;c) RMAN> restore database;d) SQL> alter database recover managed standby

database disconnect;

Page 43: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Implementation of Physical Standby

3. Copy backup datafiles to standby server

4. Create a standby controlfile

5. Copy the standby controlfile to standby server

6. Configure primary init.ora or spfile

7. Copy primary database init.ora file to standby server and make modifications for standby database

8. Configure Oracle Net

Page 44: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

9. Startup and mount standby databaseSQL> startup nomount;SQL> alter database mount standby database;

Startup syntax is simplified in Oracle Data Guard 10g

SQL> startup mount;

In Data Guard 10g, the “startup” will put the Standby into read-only mode

SQL> startup;

Implementation of Physical Standby

Page 45: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

10. Enable managed recovery mode on Standby

SQL> alter database recover managed standby database disconnect;

Troubleshooting$ tail –f alert_BRDSTN.log

Almost all problems encountered were:– TNS set up incorrectly– Initialization parameters set wrong

Implementation of Physical Standby

Page 46: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Preventing User Errors

Logs copied but not applied for 60 minutes

Used to have to manually script thisSQL> alter database recover managed standby

database delay 60 disconnect;

To disable delay:SQL> alter database recover managed standby

database nodelay;

Page 47: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Use of Read-Only Standby

7x24 business requirement for knowledge reporting

Primary database batch loaded once a day

How do we ensure that there will always be a database available?

– Create two (or more) Standby databases– Shut down one at a time, apply redo

Page 48: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Use of Read-Only Standby

.

PrimaryDatabase

Primary DatabaseProduction Site

ARCn

Two Separate Read-OnlyStandby Database Servers

DailyBatchLoad

Standby 2brdstn

OracleNet

Standby 1brdstn

Reports

l3srv1

l3srv2

Page 49: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Use of Read-Only Standby

Let Oracle Net connection figure out which read-only physical Standby database available

brdstn=

(DESCRIPTION =

(LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=tcp)(HOST=l3srv1)(PORT=1521))

(ADDRESS=(PROTOCOL=tcp)(HOST=l3srv2)(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=brdstn))

)

Page 50: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Disaster Happens…

Haven’t had a “complete disaster”… yet We have had bad hardware cause failovers We were able to easily failover to Standby

SQL> alter database activate standby database;

In Data Guard 9i, we keep 9i Primary init.ora on Standby

In Data Guard 10g, VALID_FOR eliminates this need

Page 51: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Archive Gap Management

This is one of our favorite Data Guard 9i features

Addresses critical issues such as:– What if network or server is down?– After failure resolution, how is the standby caught up?

In Oracle8i Standby Database, we would manually fix

In Oracle9i:– Data Guard has automatic methods for gap resolution– Fetch Archive Log (FAL) processes– In our experience, very reliable

Page 52: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Propagation of Datafile Operations

Another task automated in Data Guard 9i

In Oracle8i Standby Database, add/drop tablespace/datafile commands not automatically propagated

– DBA had to intervene

In Oracle9i Data Guard– Fully automated– In Standby initialization file:

standby_file_management = auto

Page 53: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Propagation of Datafile Operations

Example:

SQL> drop tablespace HRM_SALA including contents and datafiles;

On standby the tablespace HRM_SALA will be automatically dropped and all datafiles will be deleted from disk

Note: If you rename a datafile, DBA must intervene

Page 54: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Oracle Data Guard 10g Beta Feedback

Logical Standby easier to setup Simplified SQL syntax More helpful, feature-rich initialization

parameters

Page 55: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Agenda

Oracle Data Guard – a Quick Introduction Data Guard & Features in Oracle Database 10g Customer Success Story – Sun Microsystems Summary & Q/A

Page 56: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Maximum Availability Architecture

Best Practices on: General Data Guard configuration Redo data transport mechanisms Protection modes Switchover/Failover Media recovery SQL Apply configuration Network configuration Integration with other HA technologies

White papers1: MAA – detailed Media Recovery Site/Network configuration Fast-Start Checkpointing SQL Apply Best Practices Role Management

1. Ref. http://otn.oracle.com/deploy/availability/htdocs/maa.htm for latest updates

Page 57: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Data Guard Customers

Health Care

Financial/Insurance

e-Commerce

Other Industries

Manufacturing

Government

Utilities

Telecom

Transportation

Page 58: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Customer Testimonials

“Data Guard automates disaster-recovery procedures and reduces Fidelity's exposure to data loss by an order of magnitude compared to previous approaches.”

Jonathan Schapiro Vice President Data Architecture & Services Global Equity Trading & Technology

Page 59: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Customer Testimonials

“We needed to consider the safe-keeping of our data, but we also needed to look at cost. Oracle Data Guard provides everything for a high availability solution at a lower cost than other alternatives”

Ann Collins Technical Director

Page 60: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Customer Testimonials

“We don't have to baby-sit it – it just works!”

Darl Kuhn Senior DBA & Staff Engineer Database ServicesSun Services Global Engineering

Page 61: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Why Oracle Data Guard?1. Disaster Recovery & High Availability

– Easy failover/switchover between primary and standby databases

2. Complete data protection– Enables zero data loss, safeguard against data corruptions

3. Efficient utilization of system resources– Standby databases can be used for reporting, backups, queries

4. Balance data availability against performance– Flexible data protection/synchronization modes

6. Centralized and simple management– Push-button graphical interface for management and monitoring

5. Automatic resynchronization after restoration of network connectivity– Automatic archive gap detection and resolution with no manual intervention

Page 62: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Of Course …

Complete, out-of-the-box

integration with Oracle

database, at no extra

cost!

Page 63: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Resources

Maximum Availability Architecture white papers: http://otn.oracle.com/deploy/availability/htdocs/maa.htm

HA Portal on OTN: http://otn.oracle.com/deploy/availability

Data Guard home page on OTN: http://otn.oracle.com/deploy/availability/htdocs/odg_overview.html

Oracle Consulting Services: http://otn.oracle.com/consulting

Page 64: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Next StepsHigh Availability Sessions from Oracle

11:00 AM

How Oracle Database 10g Revolutionizes Availability and

Enables the Grid

3:30 PM

Oracle Recovery Manager (RMAN) 10g: Reloaded

5:00 PM

Proven Techniques for Maximizing Availability

8:30 AM

Oracle Database 10g - RMAN and ATA Storage in Action

 

11:00 AM

Oracle Data Guard: Maximum Data Protection at Minimum Cost

 

1:00 PM

Oracle Database 10g Time Navigation: Human-Error Correction

 

4:30 PM

Data Guard SQL Apply: Back to the Future

Wednesday in Moscone Room 304Tuesday in Moscone Room 304

For More Info On Oracle HA Go To http://otn.oracle.com/deploy/availability/

Page 65: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Next StepsHigh Availability Sessions from Oracle

8:30 AM in Moscone Room 304

Oracle Database 10g Data Warehouse Backup and Recovery:

Automatic, Simple, Reliable

8:30 AM in Moscone Room 104

Building RAC Clusters over InfiniBand

Thursday

For More Info On Oracle HA Go To http://otn.oracle.com/deploy/availability/

Real Application Clusters

Data Guard

Database Backup & Recovery

Flashback Recovery

LogMiner, Online Redefinition, and Cross Platform Transportable

Tablespaces

Database HA Demos All Four DaysIn The Oracle Demo Campground

Page 66: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

Reminder – please complete the OracleWorld online session survey

Thank you.

Page 67: Oracle Data Guard:  Maximum Data Protection at Minimum Cost

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S

Page 68: Oracle Data Guard:  Maximum Data Protection at Minimum Cost