,, Let someone k n o w
Plamen Zyumbyulev
Presentation Goals
Describe the major steps in RAC implementation
Show and explain the main problems and obstacles
Show and explain solution and workarounds
Give some practical ideas and variations
Try to look at the problems from different angles
Non-Goals
Explain RAC concepts and fundamentals
Show ALL aspects of RAC
Agenda
Introduction
RAC Installation
High Availability Configuring
Testing and Tuning RAC
Implementing RAC in production
Introduction
RAC Installation
Problems
Solutions
Problems
Need to evaluate and purchase cluster hardware
Need of knowledgeable OS, High Availability,
Network and Storage professionals
All this takes time
Solutions
RAC on Single Node
RAC on Single VMware Node
RAC on Multiple VMware Nodes
RAC and Network Block Device
Other Solutions
All of the solutions presented here are for testing
purposes ONLY. These configurations are not
certified or supported by Oracle Support Services
Key Points
Disadvantages
Client side
load balancing
Listener
A
Listener
B
Server side
load balancing
Server A
Instance A
Server B
Instance B
Database
http://www.oracle.com/technology/tech/linux/vmware/cookbook/index.html
Disadvantages
With this thing compiled into the kernel, Linux can use a
remote server as one of its block devices. Every time the
client computer wants to read /dev/nd0, it will send a request
to the server via TCP, which will reply with the data
requested.
The remote resource doesn't need to be a whole disk or even
a partition. It can be a file.
Typical configuration
Installation
Both client and server machines are with RHEL3
bunzip2 nbd-2.7.3.tar.bz2
tar -xvf nbd-2.7.3.tar
cd nbd-2.7.3
./configure
make
make install
NBD client
NBD client must be run as root (because of kernel parts of
NBD). Before starting NBD client you would have to install
Linux kernel NBD module
Other Solutions
http://www.oracle.com/technology/pub/articles/hunter_rac10g.html
through cache
HA Configuration
NET
Database
HA System
Maximum Availability
Architecture
Application Server
Application Server
Dedicated Network
Data Guard
Primary Site
Secondary Site
Application Server
RAC
Dedicated Network
Secondary Site
Application partitioning
gc_files_to_locks
ACTIVE_INSTANCE_COUNT
*.active_instance_count = 1
*.cluster_database_instances = 2
Introduction
Testing isnt trivial !!!
Classical testing/tuning methods.
Scalability tests
nearly static
linear
exponential
constrained
Good scalability
2 node RAC
Single node
# of concurrent users
Problem!!!
2 node RAC
Single node
# of concurrent users
Problem!!!
Single node
2 node RAC
# of concurrent users
Throughput
Latency
SMP
BUS
Memory
Channel
Infiniband
Latency
(s)
0.5
7 to 9
10
100
20
< 10
CPU
overhead
low
low
low
N/A
high
low
low
Bandwidth
MB/sec
~250
~ 70
100
400
1000
GOOD PERFORMANCE
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~
% Total
Event
Waits
Time (s) Ela Time
--------------------------------------- ------------ ----------- -------latch free
10,969
666
51.28
buffer busy waits
15,379
159
12.23
CPU time
149
11.47
PL/SQL lock timer
51
105
8.05
db file sequential read
25,163
96
7.36
BAD
GOOD
11.8
51.7
0.7
0.2
0.0
0.9
1.6
0.2
0.0
0.1
0.3
33.4
9.5
0.0
6.7
1.8
1.2
4.3
0.0
2.2
11.2
0.0
0.2
0.2
0.4
0.4
0.2
0.0
0.1
0.3
7.5
3.9
0.0
2.5
0.7
1.3
4.4
0.0
BAD
GOOD
0.2
0.0
1.2
0.0
0.0
1.1
16.5
29.4
1.9
0.1
0.1
49.7
50.3
0.0
1.7
2.5
0.3
0.1
0.0
63.4
36.6
0.0
Change ORACLE_HOME
CLUSTER_DATABASE = TRUE/FALSE
2. cd $ORACLE_HOME/rdbms/lib
3. make -f ins_rdbms.mk rac_on (rac_off)
If this step did not fail with fatal errors then proceed to step
4.
4. make -f ins_rdbms.mk ioracle
Reference
Metalink Note:211177.1 RAC Survival Kit: Rac On / Rac Off - Relinking the
RAC Option
http://www.fi.muni.cz/~kripac/orac-nbd/
Build Your Own Oracle RAC 10g Cluster on Linux and FireWire
http://www.oracle.com/technology/pub/articles/hunter_rac10g.html
Note:135714.1 Script to Collect RAC Diagnostic Information (racdiag.sql)
Thank You
zyumbyulev@mobiltel.bg