1. Presentation #36693
Oracle High Availability
Solutions in a Nutshell
Daniel T. Liu
Senior Technical Consultant
First American Real Estate Solutions
Date: Tuesday, September 10, 2003 @ 8:30 AM - 9:30 AM
Place: Moscone Room 104
2. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
2
Agenda
• Introduction
• High Availability
Concepts
• High Availability
Challenges
• High Availability
Solutions
3. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
3
Agenda
• Oracle Advanced
Replication
• Oracle Real
Application Cluster
(RAC)
• Oracle Data Guard
4. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
4
Agenda
• Oracle Streams
• Choose the Right
High-availability
Solutions
• Summary
• Q & A
5. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
5
Introduction
• Why do we need to provide system and
database High Availability?
• Planned Downtime
– Database backup/upgrade/patching
– Operating system upgrade/patching
– Hardware and Network maintenance
• Unplanned Downtime
– Corruptions
• Logical corruptions
• Physical corruptions
6. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
6
Introduction
• Unplanned Downtime
– Human Errors
• Accidentally drops, truncates a table
• Accidentally delete, update rows in a table
• Accidentally delete a data file or drop a
tablespace
– Disasters
• War, terrorism
• Earthquake, flood, fire or hurricane
• No power for a long period
• Server crash, malfunction of hardware
7. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
7
High Availability Concepts
• What is High Availability?
– In the old days
• Local time
• Monday thru Friday
• 8 am to 6 pm
– Current environment
• Global
• 365 x 24 x 7
• Minimal downtime (planned or unplanned)
8. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
8
High Availability Concepts
• Understanding High Availability
– Computing environments configured to provide
nearly full-time availability are known as high
availability systems.
– When failures occur, the failover process moves
processing performed by the failed component
to the backup component.
– The more transparent that failover is to users,
the higher the availability of the system.
9. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
9
High Availability Concepts
• Measuring Availability
– The mean time to recover (MTTR)
– The mean time between failures (MTBF)
– Total uptime in a year (%)
Minutes of
Downtime
5 60 1440 2880
Minutes of
Uptime
525595 525540 524160 522720
Minutes in a Year 525600 525600 525600 525600
Total Uptime in a
Year (%)
99.9990% 99.9886% 99.7260% 99.4521%
10. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
10
High Availability Challenges
• Challenges for Database High Availability
– Database size is getting bigger and bigger
– Database Backup Time
• A DLT tape writes 6 MB/Second, or 21 GB/hour
• A 2 TB database with one tape driver will take 97
hours to backup
– Database Recovery Time
– Is the backup good?
– Trouble shooting time
11. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
11
High Availability Solutions
• Traditional High Availability Solutions
– Backup and restore
• High Availability Solutions
– Oracle Advanced Replication
– Oracle Real Application Clusters (RAC)
– Oracle Data Guard (Standby Database)
– Oracle Streams
12. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
12
High Availability Solutions
• High Availability Solution means :
– No Single Points-of –failure
– Hardware Redundancy
– Software Redundancy
– Data Redundancy
– Application Redundancy
– More .. $ ?
– Save Money
13. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
13
Oracle Advanced Replication
• Advanced Replication Overview
• Replication Components
• Types of Replication Environments
• Administration Tools for Replication
14. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
14
Advanced Replication Overview
• Replication is the process of copying and
maintaining database objects, such as
tables, in multiple database .
• Changes applied at one site are captured
and stored locally before being forward
and applied at each of the remote
locations.
15. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
15
Replication Components
• Replication Objects
– Table, Indexes, View
– Procedures, Packages, Functions, Triggers
– User-Defined Types
• Replication Groups
– A collection of replication objects that are logically
related.
– Master group
– Materialized view group
16. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
16
Replication Components
• Replication Sites
– Master Sites
– Materialized View Sites
17. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
17
Types of Replication
• Multimaster Replication
– Each master site operates as an equal peer.
– Provides complete replicas of each replicated
table at each of the master sites.
– Replicate changes for each transaction.
– Two types of multimaster replication
• Asynchronous
• Synchronous
18. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
18
Asynchronous Data Replication
Destination Database
Destination Database
Source Database
Source Database
Replicated
Table
Replicated
Table
Replicated
Table
Replicated
Table
Deferred
Transaction
Queue
Change
Change
Trigger
Trigger
Remote Procedure
Call
Remote Procedure
Call
Procedure
Procedure
Synchronous Data Replication
19. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
19
Types of Replication
• Materialized View Replication
– Replicate subset of master table data
– Batch-oriented operation (refresh)
– 3 types of materialized views
• Read-Only
• Updateable
• Writeable
21. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
21
Replication Administration Tools
• Oracle Enterprise Manager
– Replication Manager
• Oracle-Supplied PL/SQL packages
– DBMS_REPCAT
• Replication Catalog
– On every master sites
– Materialized view sites
22. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
22
Oracle Real Application Clusters
(RAC)
• Real Application Clusters Overview
• Real Application Clusters Architecture
• Real Application Clusters Components
• Cache Fusion
• Transparent Application Failover (TAF)
23. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
23
Real Application Clusters
Overview
• Multiple instances against the same
database.
• Involves a cluster of nodes with access to
a set of shared disks through Cluster
Management Software (CMS).
• Oracle’s solution for system failures.
• Transparent Application Failover (TAF)
• Connection Load Balancing
24. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
24
Option 2 (RAC)
Option 1
Instance A
DB1
Instance B
Instance A
Instance B
DB1
DB3
interconnect
Real Application Clusters Architecture
25. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
25
Real Application Clusters Architecture
Node A
Instance A
Data Files
Control Files
Online Redo Files
Oracle Software
Archived Logs
Oracle Software
Archived Logs
LMS
LMON LMD
SGA
Global
Resource
Directory
Cluster Group
Services
Vendor
CMS
Node B
Instance B
LMS
LMON LMD
SGA
Global
Resource
Directory
Cluster Group
Services
Vendor
CMS
Cluster
Interconnect
Local Disks Local Disks
Shared Disks
26. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
26
Real Application Clusters
Components
• Shared Disk
• Vendor CMS
• Cluster Group Services
• Global Resource Directory
• RAC Background Process
– LMON (Global Cache Service Process)
– LMD (Global Enqueue Service Daemon)
– LMS (Global Enqueue Service Monitor)
27. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
27
Cache Fusion
• Oracle’s Global Cache Management
Technology.
• It provides cache to cache transfers of
data blocks between instances in a
cluster.
• It eliminates forced disk writes.
• Dynamic resource re-mastering
28. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
28
Transparent Application Failover
(TAF)
• Little or no user downtime.
• Applications and users are automatically
and transparently reconnected to another
system.
• DML transactions are rolled back
29. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
29
Oracle Data Guard
• Data Guard History
• Data Guard Components
• Data Guard Roles
• Data Guard Interfaces
• Data Guard Process Architecture
• Data Guard Protection Mode
30. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
30
Data Guard History
• History of Standby Database
– Oracle7.3: First Release of Standby
Database
– Oracle8i: Automatic shipping and
application of redo logs
– Oracle9i Release 1: Protection mode
– Oracle9i Release 2: Logical standby
database
31. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
31
Data Guard Components
• Primary Database
• Standby Database
– Physical Standby Database
– Logical Standby Database (9iR2 only)
• Log Transport Services
• Network Configuration
• Log Apply Services
• Data Guard Broker
32. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
32
Primary
Database
Log
Transport
Services
Log
Apply
Services
Oracle
Net
Data
Guard
Broker
Data
Guard
Broker
CLI GUI
Standby
Database
Online
Redo
Logs
Local
Archived
Logs
Remote
Archived
Logs
33. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
33
Data Guard Roles
A database can operate in one of the two
mutually exclusive roles:
• Failover
– One of the standby databases takes the
primary database role
• Switchover
– In Oracle9i, primary and standby
database can continue to alternate roles
34. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
34
Data Guard Interface
• SQL*Plus and SQL Statements
SQL> alter database commit to switchover
to physical standby;
• Data Guard Broker GUI
– Data Guard Manager
• Data Guard Broker Command-Line Interface
$ dgmgrl
DGMGRL for Solaris: Version 9.2.0.1.0 -
Production.
(c) Copyright 2002 Oracle Corporation. All
rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL>
35. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
35
Process Architecture
• Physical/Logical Standby Processes
– LGWR (Log Writer) process
– ARCH (Archiver) process
– LNS (LGWR Network Server) process
– RFS (Remote File Server) process
– MRP (Managed Recovery) process
36. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
36
Process Architecture
• Physical/Logical Standby Processes
– FAL (Fetch Archive Log) Client process
– FAL (Fetch Archive Log) Server process
– LSP (Logical Standby) process
– PX (Parallel Execution) process
– DMON (Data Guard Broker Monitor) process
37. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
37
Physical Standby Processes Architecture
Primary
Database
Oracle
Net
LGWR LNS
FAL
Server
ARCH
FAL
Client/
MRP
ARCH
DMON DMON
RFS
SYNC
ASYNC
Physical
standby
Database
Online
Redo
Logs
Local
Archived
Logs
Remote
Archived
Logs
Standby
Redo
Logs
38. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
38
Logical Standby Processes Architecture
Primary
Database
Oracle
Net
LGWR LNS
ARCH
LSP0
DMON DMON
RFS
SYNC
ASYNC
Logical
Standby
Database
PX
PX
PX
PX
Mining
Group
Applying
Group
Online
Redo
Logs
Local
Archived
Logs
Remote
Archived
Logs
39. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
39
Data Protection Mode
• Oracle9i Release 2 has three data protection modes
Mode Log Writing
Process
Network
Trans Mode
Disk Write
Option
Redo Log
Reception
Option
Supported on
Maximum
Protection
LGWR SYNC AFFIRM Standby redo
logs are
required
Physical
standby
databases
Maximum
Availability
LGWR SYNC AFFIRM Standby redo
logs
Physical and
logical standby
databases
Maximum
Performance
LGWR or
ARCH
SYNC or
ASYNC
NOAFFIRM Standby redo
logs
Physical and
logical standby
databases
40. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
40
Oracle Streams
• Oracle Streams Overview
• Oracle Streams Process Architecture
• Oracle Streams Rules
• Administration Tools for Oracle Streams
41. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
41
Oracle Streams Overview
• Oracle9i’s new replication product.
• Similar to logical standby database
• Changes are captured at source
Database.
• Propagate information within a database
or from one database to another.
• Using Message Queuing.
• Heterogeneous information sharing.
42. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
42
Oracle Streams Process
Architecture
• Capture changes at a database.
• Enqueue events into a queue.
• Propagate events from one queue to
another.
• Dequeue events.
• Apply events at a database.
43. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
43
Source
Database
Redo
Log
Capture Apply
Dequeue
Propagate
Target
Database
Source Queue
LCR
LCR
User
Message
User
Message
LCR
LCR
..
..
..
Target Queue
LCR
LCR
User
Message
User
Message
LCR
LCR
..
..
..
Enqueue
Oracle Streams Processes Architecture
44. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
44
Oracle Streams Rules
• Rules are used to control which information to
share and where to share it.
• Rules can be used during capture, propagate,
and apply processes.
• Rules can define in three level:
– Table
– Schema
– Global
45. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
45
Oracle Streams Administration
Tools
• Oracle-Supplied PL/SQL packages
– DBMS_STREAMS_ADM
– DBMS_CAPTURE_ADM
– DBMS_PROPAGATION_ADM
– DBMS_APPLY_ADM
• Streams Data Dictionary views
– DBA_APPLY
– V$STREAMS_CAPTURE
• Oracle Enterprise Manager
46. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
46
Choose High-Availability
Solution
• Product Licensing
• Unsupported Datatype
• Feature Comparison
47. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
47
Product Licensing
High Availability Product Enterprise Edition
Advanced Replication Included
Real Application Clusters Additional License Fee
Data Guard Included
Streams Included
48. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
48
Unsupported Datatype for
Logical Standby and Streams
Supported Datatypes Unsupported Datatypes
CHAR, NCHAR
VARCHAR2, NVARCHAR2
NUMBER
DATE
CLOB,BLOB
RAW
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAAMP WITH LOCAL TIME ZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
NCLOB
LONG
LONG RAW
BFILE
ROWID
UROWID
User-defined types
Object types
- REFS
- Varrays
- Nested tables
49. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
49
Feature Comparison
Advanced
Replication
RAC Physical
Standby
Logical
Standby
Streams
Entire
Database
Replication
YES N/A YES YES YES
Schema
Replication YES N/A NO NO YES
Table
Replication YES N/A NO NO YES
51. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
51
Feature Comparison
Advanced
Replication
RAC Physical
Standby
Logical
Standby
Streams
Cluster
Management
Software
NO YES NO NO NO
Failover
Mechanism
Manual
Failover
TAF Failover
Switchover
Failover
Switchover
Manual
Failover
Load
Balancing YES YES
YES
Partial
YES YES
52. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
52
Feature Comparison
Advanced
Replication
RAC Physical
Standby
Logical
Standby
Streams
Change
Captured Local Local Remote Remote Local
Heterogeneous
Database
Support
YES NO NO NO YES
Datatype
Support ALL ALL SOME SOME SOME
53. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
53
Feature Comparison
Advanced
Replication
RAC Physical
Standby
Logical
Standby
Streams
OS Platform
between
source and
Target
Can be
Different
Must
be
Same
Must
be
Same
Must
be
Same
Can be
Different
Oracle
Version
Between
Source and
Target
Can
be
Different
Must
be
Same
Must
be
Same
Must
be
Same
Can
be
Different
54. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
54
Summary
• High Availability Concept
• High Availability Options
– Advanced Replication
– Real Application Clusters
– Data Guard
– Oracle Streams
• High Availability Product Comparison
55. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
55
References
Oracle9i, Data Guard Concepts and Administration. Release 1 (9.0.1);
Oracle9i, Data Guard Concepts and Administration. Release 2 (9.2);
Oracle9i, Data Guard Broker. Release 2 (9.2);
Oracle9i, Real Application Clusters, Concepts. Release 1 (9.0.1);
Oracle9i, Advanced Replication. Release 2 (9,2);
Oracle9i, Streams. Release 2 (9.2);
Oracle Metalink Support;
Top DBA Shell Scripts for Monitoring Database, Daniel T. Liu; DBAZine;
I would also like to acknowledge the assistance of Larry Barry, Ann
Collins, Archana Sharma and Husam Tomeh of FARES, and Larry
Carpenter, Joseph Meeks, Roger Peterson of Oracle Corporation.
56. OracleWorld 2003, Paper #36693,
Daniel T. Liu, FARES
56
Thanks For Coming !!
Daniel Liu Contact Information
Phone: (714) 701-3346
Email: dliu@firstam.com
Email: daniel_t_liu@yahoo.com
Company Web Site:
http://www.firstam.com