Virtualization, Oracle RAC 11g and more.. Vijay Ragunathan Guidewire Software Inc [email protected] Agenda     Introduction Set up VM and RAC Take a look at a few 11g RAC/ASM.

Download Report

Transcript Virtualization, Oracle RAC 11g and more.. Vijay Ragunathan Guidewire Software Inc [email protected] Agenda     Introduction Set up VM and RAC Take a look at a few 11g RAC/ASM.

Virtualization, Oracle RAC 11g and
more..
Vijay Ragunathan
Guidewire Software Inc
[email protected]
Agenda




Introduction
Set up VM and RAC
Take a look at a few 11g RAC/ASM features
Introduce Cache fusion and trace Cache
Fusion
Guidewire Software Inc
Virtualization



Abstraction layer between applications and
hardware
Methodology to divide the resources of a
computer hardware into multiple operating
environments
Partition at various levels like Storage,
Network, Server, Application
Guidewire Software Inc
Why Virtualize






Consolidate IT infrastructure
Improve QoS
Reduce cost
Provide more reliable working environment
for development and testing
Ease replication of environments
Partition applications to get security, reliability
and flexibility
Guidewire Software Inc
Where can we Virtualize





Development and Test
Virtual Desktops
PoC deployments
Disaster Recovery and Business continuity
Technology refresh
Guidewire Software Inc
Evolution




Virtualization in place for three decades
Mainframes
RISC based systems
And now commodity hardware
Guidewire Software Inc
Commodity Virtualization Software

VmWare
Xen
Oracle VM (Xen)
Microsoft Virtual PC

And probably many more…



Guidewire Software Inc
Oracle Real Application Cluster





Cluster is two or more nodes sharing some common
resources
They communicate with each other to check health
and guarantee data integrity
For Oracle, it is two or more Oracle instances
sharing a physical database
Each instance use their own SGA and background
processes
Database components like Datafiles, control files
and redo log files are shared
Guidewire Software Inc
Real World Oracle RAC
Implementations



RISC or CISC based processers on two or
more servers
A SAN or NAS for storing database
Interconnect mechanisms like Infiniband,
Gigabit Ethernet, Memory channel
Guidewire Software Inc
Real Application Clusters
Node1
Node2
Storage
Guidewire Software Inc
VM and Oracle RAC




Hardware for clustering too costly
Difficult to always build dev and test
environments with clustering
Typically Applications built on single instance
and tested and deployed on RAC
VM is Beneficial for small, medium and large
companies and cost effective
Guidewire Software Inc
Real Application Clusters
Virtual
Node1
Virtual
Node2
Same
Disks in
Host
Physical
Machine
Guidewire Software Inc
Setup Xen
Xen Architecture



Xen hypervisor has management and virtual
hardware API
Dom0 hosts the management code and has
control interfaces to manage other domains
All guest Virtual machines are referred as
domU
Guidewire Software Inc
Packages




xen-3.0.3-41.el5
kernel-xen-2.6.18-53.el5
xen-libs-3.0.3-41.el5
kernel-xen-devel-2.6.18-53.el5
Guidewire Software Inc
Dom0 Host



Default Centos 5.1 install
Virtual Machine Manager GUI
Command line tool virt-install
Guidewire Software Inc
Virtual Machine Manager

The GUI VMM displays all the domains and their resource usage
Guidewire Software Inc
Create a VM

File -> New Machine
Guidewire Software Inc
Name the VM

We name the first VM as dtrac41
Guidewire Software Inc
Virtualization Method
Guidewire Software Inc
ParaVirtualization






ParaVirtualization uses a modified kernel
Not very portable
Not all hardware is simulated
Best performing for Network and IO
Unique address map for each VM
Easy to implement
Guidewire Software Inc
Fully Virtualized





Complete Hardware simulation
Any supported guest OS can be used
Not supported by all hardware architecture
VT support may need to be enabled in BIOS
for some hardware
Use techniques to trap and emulate
instructions
Guidewire Software Inc
Install using PXE



PXE server enables storing images in central location and install large
number of machines
Using centos 5.1 for guestVM
Kickstart Template file instructs what to install
Guidewire Software Inc
OS and Swap for GuestVM


Using simple files
Default path /var/lib/xen/images
Guidewire Software Inc
Network for the GuestVM
Guidewire Software Inc
Memory and CPU
Do not over allocate as we need resources for the dom0
Host and other GuestVMs
Guidewire Software Inc
Summary of the Options and Resources
Guidewire Software Inc
Vm Installation operations




VMM will start allotting the disk storage
Create virtual network
Map memory to the Dom0 Virtual memory
map
Will start installing the Guest OS
Guidewire Software Inc
PXE install looks at dhcp server
Guidewire Software Inc
Xen Utilities


xm utility
- can be used to create domains
- useful for cloning
virsh
- can be used to change CPU, memory
- define config, dump config in xml form for
cloning
- start, shutdown and reboot domains
Guidewire Software Inc
Xen Utilities

xentop
- similar to top but customized to list all virtual
resources and domains
xentop - 21:55:32
Xen 3.1.0-53.el5
3 domains: 2 running, 1 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown
Mem: 15723456k total, 15721284k used, 2172k free
CPUs: 8 @ 2992MHz
NAME STATE
CPU(sec) CPU(%)
MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS
NETS NETTX(k) NETRX(k) VBDS VBD_OO
VBD_RD
VBD_WR SSID
Domain-0 -----r
9576
2.9
13498460
85.8
no limit
n/a
8
4
398061
38880
0
0
0
0
0
dtrac41 -----r
2755
2.1
1048152
6.7
1048576
6.7
1
2
883749
857104
0
0
0
0
0
dtrac42 --b--1302
8.1
1048080
6.7
1048576
6.7
1
2
850349
813954
0
0
0
0
0
Guidewire Software Inc
XenStore



Configuration database for all domain
Multiple commands to manage this database
xenstore-ls
- can be used to list details of all hardware
components in each domain
Guidewire Software Inc
Add Virtual Hardware

Add more storage for Oracle clusterware
Guidewire Software Inc
Add Virtual Storage


Specify Simple file or disk partition (if available)
Min size of 256Mb for Clusterware
Guidewire Software Inc
Add virtual network interface

For Interconnect use
Guidewire Software Inc
Add virtual network interface

Choose virtual network as this interconnect does not
need to talk to the external world
Guidewire Software Inc
Virtual hardware of one guestVM
Guidewire Software Inc
Oracle Install Preparation





Update sysctl.conf with the new kernel parameters
rmem_default and wmem_default should be 4MB
min
Update limits.conf
Install any additional RPMs needed as listed in
Oracle Install documentation
Edit /etc/hosts and add localhost and 6 other
addresses to indicate public, private and virtual
networks for both guestVMs
Guidewire Software Inc
Create users and groups





groupadd –g 10000 oinstall
groupadd –g 10001 dba
groupadd –g 10002 asmdba
useradd –g oinstall –Goinstall,dba,asmdba –d
/home/oracle –u 10000 oracle
passwd oracle
Guidewire Software Inc
Mapping raw devices

Create something like /etc/rc3.d/S90raw and/or
/etc/rc5.d/S90raw based on boot run level with
contents like:
raw /dev/raw/raw1 /dev/xvdb
raw /dev/raw/raw2 /dev/xvdc
raw /dev/raw/raw3 /dev/xvdd
raw /dev/raw/raw4 /dev/xvde
chown root:dba /dev/raw/raw2
chmod 660 /dev/raw/raw2
chown oracle:dba /dev/raw/raw1
chmod 660 /dev/raw/raw1
chown oracle /dev/raw/raw3
chown oracle /dev/raw/raw4
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
Guidewire Software Inc
Cloning GuestVM






In dom0, /etc/xen/dtrac41 has list of devices created
for this guest VM
Copy /etc/xen/dtrac41 to /etc/xen/dtrac42
Change the mac address of the two virtual network
interfaces in dtrac42 and edit the primary disk
Modify the name and uuid for the new VM
Ensure the order of the network is right in the config
files
Copy the virtual disk of dtrac41(dtrac41.img) to
/var/lib/xen/images/dtrac42.img
Guidewire Software Inc
Config file for guestVM
name = "dtrac41"
uuid = "3656ca7c24e378bd2c63d380206a5f8d"
maxmem = 1024
memory = 1024
vcpus = 1
bootloader = "/usr/bin/pygrub"
kernel = "/var/lib/xen/boot_kernel.qFE_y1"
ramdisk = "/var/lib/xen/boot_ramdisk.HlhabB"
extra = "ro root=/dev/vgSys/lvRoot rhgb quiet console=tty0 console=ttyS1,57600n8"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncdisplay=0,keymap=en-us" ]
disk = [ "tap:aio:/var/lib/xen/images/dtrac41.img,xvda,w",
"tap:aio:/var/lib/xen/images/dtrac4x-ocr11g-shared.img,xvdb,w",
"tap:aio:/var/lib/xen/images/dtrac4x-vote-shared.img,xvdc,w",
"tap:aio:/var/lib/xen/images/dtrac4x-asm1-shared.img,xvdd,w",
"tap:aio:/var/lib/xen/images/dtrac4x-asm2-shared.img,xvde,w" ]
vif = [ "mac=00:16:3e:0c:81:f5,bridge=xenbr0,script=vif-bridge",
"mac=00:16:3e:75:41:84,bridge=virbr0,script=vif-bridge" ]
Guidewire Software Inc
Cloning GuestVM



Use xm to create the domain
xm create dtrac42
Start the new domain
xm start dtrac42
You should see both the GuestVMs in the
Virtual Machine Manager
Guidewire Software Inc
Setup GuestVMs




Reboot both the virtual machines
Ensure fdisk –l is showing all the disks
Edit the network configuration files to setup
the IP addresses and hostname and start the
network
Ping the IP addresses of the other node and
confirm that the network works fine
Guidewire Software Inc
User equivalence Setup



Use ssh-keygen and generate keys
Concatenate the public keys for both
machines and store as
~/.ssh/authorized_keys
Check you can login to all combinations
without prompts. For e.g.,
ssh
ssh
ssh
ssh

dtrac41 date
dtrac42 date
dtrac41p date
dtrac42p date
Run cluster verify tool and do pre CRS inst check
Guidewire Software Inc
Vmware



Install Vmware server
Create two virtual machines using Vmware
Server Console
For the shared disks, edit the config files
(suffixed vmx) and add:
disk.locking =
scsi0:1.shared
scsi0:2.shared
scsi0:3.shared
scsi0:4.shared
"false“
= "true"
= "true"
= "true"
= "true"
Guidewire Software Inc
Oracle install media


Download the clusterware and database
software
Unzip the files
unzip linux_11gR1_clusterware.zip
unzip linux_11gR1_database.zip


If using cdrom/dvd, mount the clusterware
media first
Start the Installer
cd clusterware
./runInstaller
Guidewire Software Inc
Clusterware Software Home
Guidewire Software Inc
Cluster Configuration



Cluster name is dtrac4_cluster
Edit details of dtrac41
Add details of dtrac42
Guidewire Software Inc
Network Interface Usage


Select the right Interface for use as Public and Private network
Here eth0 is chosen as Public and eth1 as private
Guidewire Software Inc
OCR and Voting disk


Both OCR in the previous installer screen and voting disk here should have min of
256MB space
Specify mirror copies – here we use single voting disk location
Guidewire Software Inc
Clusterware Install Summary

Ensure all cluster nodes are seen
Guidewire Software Inc
Root Scripts

Run orainstRoot.sh and root.sh on all nodes (one at a time)
Guidewire Software Inc
Root.sh on node1

Configures OCR and Voting Disk and starts CRS stack on node1
Guidewire Software Inc
Root.sh on node2

Starts CRS stack on node2 and creates cluster resources
Guidewire Software Inc
Config Assistants for Clusterware
Guidewire Software Inc
Clusterware Install Completion





That completes the clusterware install
OCR and Voting disk are configured
Resources like ONS and VIP should be created by
now and can be seen using crs_stat
Processes like evmd, crsd, ocssd and oprocd should
be running now
Ready to Install RAC software
cd database
./runInstaller
Guidewire Software Inc
Installation Type
Guidewire Software Inc
Node Selection

Choose all nodes in the cluster – both VMs
Guidewire Software Inc
OS Authentication
Guidewire Software Inc
RAC Install Summary

Check for selection of all Cluster nodes
Guidewire Software Inc
Create RAC database
Guidewire Software Inc
Create ASM Disk Group

Change disk discovery path and check permissions if disks are
not seen
Guidewire Software Inc
Starts Cluster database

Database Creation is complete
Guidewire Software Inc
CRS status
crs_stat -t
Name
Type
Target
State
Host
-----------------------------------------------------------ora....SM1.asm application
ONLINE
ONLINE
dtrac41
ora....41.lsnr application
ONLINE
ONLINE
dtrac41
ora....c41.gsd application
ONLINE
ONLINE
dtrac41
ora....c41.ons application
ONLINE
ONLINE
dtrac41
ora....c41.vip application
ONLINE
ONLINE
dtrac41
ora....SM2.asm application
ONLINE
ONLINE
dtrac42
ora....42.lsnr application
ONLINE
ONLINE
dtrac42
ora....c42.gsd application
ONLINE
ONLINE
dtrac42
ora....c42.ons application
ONLINE
ONLINE
dtrac42
ora....c42.vip application
ONLINE
ONLINE
dtrac42
ora.xenrac.db application
ONLINE
ONLINE
dtrac42
ora....c1.inst application
ONLINE
ONLINE
dtrac41
ora....c2.inst application
ONLINE
ONLINE
dtrac42
Guidewire Software Inc
RAC and ASM
11g New Features
11g New Features






Automatic Diagnostic Repository should be placed in
shared disk if using shared oracle home
Kill sessions from anywhere in the cluster
ADDM for RAC – dbms_addm.analyze_db
procedure and dbms_addm.get_report function
Inter-node parallelism can use services to determine
the instances that it can use
Grid provisioning and EM changes
Clone ASM and RAC homes – clone.pl
Guidewire Software Inc
11g ASM New Features






asm_preferred_read_failure_groups parameter
ASM rolling migration
– alter system start rolling migration to <pnumber>;
Convert single instance ASM to cluster using
rconfig/EM
ASM compatibility attributes
Variable size extents
Higher AU values for Coarse striping 1M – 64M
Guidewire Software Inc
11g ASM New features

Ability to drop ASM instances using dbca
dbca –silent –deleteasm –nodelist
dtrac41,dtrac42




ASM fast mirror resync
SYSASM and OSASM
ASMcmd command additions – cp,
md_backup, lsdsk, remap
Mount/drop diskgroup with Force option
Guidewire Software Inc
Cache Fusion
Cache Fusion






Shared cache architecture
Cache coherency – preserve integrity of data
across different caches for the same data
Employs high-speed Interconnects
Created in Oracle OPS 8i to reduce pings
8i handled read/write contention
9i RAC handles other contentions like writewrite
Guidewire Software Inc
Cache Fusion





Locks – mode, role, past image
E.g lock : SG1
Modes: Null, Shared, Exclusive
Role: Local, Global
Past Image component: 0 or 1
Maximum 3-way protocol (master, holder and
requestor)
Guidewire Software Inc
Events



Event 10432 – for diagnosing unexpected
GCS events and lock requests
Event 10708 – shows block request and
grants (level 7 or 103 is common)
Event 10046 – common sql trace and
combines well with event 10708
Guidewire Software Inc
Trace commands
SQL> alter system set events '10432 trace name context
forever, level 15:10708 trace name context forever,
level 103';
System altered.
SQL> conn scott/tiger
Connected.
SQL> alter session set events '10046 trace name context
forever, level 8';
Session altered.
Guidewire Software Inc
First Read session

Select on node 1
*** 2008-05-15 02:40:36.228
kclscrs: req=0 block=5/36
*** 2008-05-15 02:40:36.228
kclscrs: req=0 typ=immediate mode=S
WAIT #3: nam='db file sequential read' ela= 786 file#=5 block#=36 blocks=1 obj#=16215
tim=1210844436231630
*** 2008-05-15 02:40:36.231
KCL: P02: cr prewarm
*** 2008-05-15 02:40:36.231
kclscrs: req=0 block=5/28
*** 2008-05-15 02:40:36.231
kclscrs: req=0 typ=immediate mode=S
*** 2008-05-15 02:40:36.231
kclscrs: req=1 block=5/29
*** 2008-05-15 02:40:36.231
kclscrs: req=1 typ=immediate mode=S
…
*** 2008-05-15 02:40:36.232
kclscrs: req=7 block=5/25
*** 2008-05-15 02:40:36.232
kclscrs: req=7 typ=immediate mode=S
Guidewire
Software
WAIT #3: nam='db file scattered read' ela= 7342 file#=5 block#=25 blocks=8
obj#=16214
tim=1210844436239474
Inc
Second read from same node
PARSE
#9:c=0,e=1478,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=12108
47692139409
EXEC
#9:c=0,e=37,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1210847
692139492
WAIT #9: nam='SQL*Net message to client' ela= 1 driver
id=1650815232 #bytes=1 p3=0 obj#=523 tim=1210847692139514
FETCH
#9:c=0,e=29,p=0,cr=2,cu=0,mis=0,r=1,dep=0,og=1,tim=1210847
692139568

No communication to the other node
Guidewire Software Inc
Write Operation Tracing..
update emp set sal=sal+100 where empno = 7654
END OF STMT
PARSE
#3:c=20001,e=44395,p=1,cr=55,cu=0,mis=1,r=0,dep=0,og=1,tim
=1210848457075954
WAIT #3: nam='enq: TM - contention' ela= 226
name|mode=1414332419 object #=16214 table/partition=0
obj#=-1 tim=1210848457076262
*** 2008-05-15 03:47:37.076
kclscrs: req=0 block=5/36
*** 2008-05-15 03:47:37.076
kclscrs: bid=1:3:2:0:2:c:0:0:2:0:0..
Guidewire Software Inc
Tracing Contd..
Lms trace of remote node
*** 2008-05-15 03:47:37.077
kcl_snd_cur: block=5/36 time=54
Back to update session trace
*** 2008-05-15 03:47:37.077
kclwcrs: got 1 blocks from ksxprcvimd
WAIT #3: nam='gc current block 2-way' ela= 413
p1=5 p2=36 p3=1 obj#=16215 tim=1210848457077694
*** 2008-05-15 03:47:37.077
kclwcrs: req=0 typ=cur wtyp=2hop tm=489
Guidewire Software Inc
Tracing Contd..
*** 2008-05-15 03:47:37.140
kcllkopb: req=7 block=5/25
*** 2008-05-15 03:47:37.140
kcllkopb: bid=1:3:2:0:2:14:0..
WAIT #3: nam='gc current multi block request' ela=
27265 file#=5 block#=25 id#=33554446 obj#=16214
tim=1210848457226586
•
Nothing in the LMS trace
Back to sessions trace
•
*** 2008-05-15 03:47:37.254
kcllkopb: req=0 typ=cur wtyp=2hop tm=174615
WAIT #3: nam='db file scattered read' ela= 83230
file#=5 block#=25 blocks=3 obj#=16214
tim=1210848457337661
Guidewire Software Inc
Causing Write-Write Contention
update emp set sal=sal+100 where empno != 7654
PARSE
#5:c=4000,e=49748,p=1,cr=9,cu=0,mis=1,r=0,dep=0,og=1
,tim=1210848625816852
*** 2008-05-15 03:50:25.817
kclscrs: req=0 block=5/28
*** 2008-05-15 03:50:25.817
kclscrs: bid=1:3:1:0:2:5:0:0:4:0:..
Guidewire Software Inc
Write-Write Contention Tracing..

Remote LMS
*** 2008-05-15 03:50:25.816
kclgcr: req=231 block=5/28
*** 2008-05-15 03:50:25.816
kclgcr: bid=1:3:1:0:2:5:0:0..
*** 2008-05-15 03:50:25.825
kclqsnd: req=231 status=2 fscn=0:b49c2 time=8523
*** 2008-05-15 03:50:25.826
kclpdc: le=1c/50000 rls=49
Guidewire Software Inc
Write-Write Contention Tracing..

Back to local session
*** 2008-05-15 03:50:25.825
kclwcrs: got 1 blocks from ksxprcvimd
WAIT #5: nam='gc cr block busy' ela= 8846 p1=5 p2=28
p3=1 obj#=16214 tim=1210848625825992
*** 2008-05-15 03:50:25.825
kclwcrs: got 1 blocks from ksxprcvimd
WAIT #5: nam='gc cr block busy' ela= 8846 p1=5 p2=28
p3=1 obj#=16214 tim=1210848625825992
*** 2008-05-15 03:50:25.826
kclwcrs: req=0 typ=cr wtyp=busy tm=9178
Guidewire Software Inc
Write - Write contention tracing
*** 2008-05-15 03:50:25.826
kcllkopb: req=0 block=5/28
*** 2008-05-15 03:50:25.826
kcllkopb: bid=1:3:1:0:2:6:0:0:
LMS trace
*** 2008-05-15 03:50:25.826
kcl_snd_cur: block=5/28 time=64
Local Session Trace
*** 2008-05-15 03:50:25.827
kcllkopb: got 1 blocks from ksxprcvimd
WAIT #5: nam='gc current block 2-way' ela= 270 p1=5 p2=28 p3=33554433 obj#=16214
tim=1210848625827163
*** 2008-05-15 03:50:25.827
kcllkopb: req=0 typ=cur wtyp=2hop tm=417
Guidewire Software Inc
Q& A