Beruflich Dokumente
Kultur Dokumente
http://www.slideshare.net/MarkusMichalewicz
Safe Harbor Statement
http://www.slideshare.net/MarkusMichalewicz/the-oracle-real-application-clusters-rac-family-of-solutions
r
n
atio r License Costs
gu
onfi uste
Re-c able cl
n
to e
High Availability
ine
Onl de
ra
upg
plic ation
SU Ap
h a nd P
c
ling) Pat
ne (rol
Onli
Flexibility
OS OL 6.4 OS OL 6.4
Setting up shared storage for all servers
dasher dancer
! Shared storage required
! Suggestion:
OS OL 6.4 OS OL 6.4
comet vixen Use cloning to deploy OS images faster
! Recommendation:
An all-HUB-node Flex Cluster behaves the
same as a Standard Cluster using Flex ASM.
Either can be used, but if in doubt, you can
choose standard cluster and convert later.
More Information in Appendix A
! Typical Installation
Does not provide an option to use Flex ASM
Does not provide an option to create the Mgmt
DB / Grid Infrastructure Management Repository
! Enhancement Requests for later
releases have been filed already
! Advanced Option
Recommended for all configurations
! Recommendations:
Use Redundant Interconnect Usage feature
! Bonding can be used underneath if required
1. Standard ASM
! ASM configuration as known
from previous releases
2. Oracle Flex ASM
One to One
Mapping of ASM DBA
ASM Instance
DBA DBB DBB DBB DBC
Instances to ASM Instance
Servers
Node1 ASM Node2 ASM Node3 ASM Node4
ASM Node5 ASM
Databases share
ASM instances DBA
ASM Instance
DBA DBB DBB DBB DBC
ASM Instance
! Recommendations:
Use Oracle Flex ASM for storage
! For better HA of database instances
! Reserve per-node spare memory
[RAC]> df -h
Filesystem Size Used Avail Use% Mounted on
...
tmpfs 1.7G 1.3G 475M 73% /dev/shm
...
Not the
default
ACFS based
shared home
! Policy-managed
! Oracle RAC-based
! Non-CDB Database
Create an empty
multitenant CDB.
raccdb1_2
[RAC]> srvctl status database -d raccdb1
Instance raccdb1_1 is running on node comet
Oracle RAC Oracle RAC
Instance raccdb1_2 is running on node dancer
Oracle GI for a cluster Oracle GI for a cluster
[RAC]>srvctl status srvpool -serverpool backoffice -detail
OS OL 6.4 OS OL 6.4 Server pool name: backoffice
Active servers count: 2
dasher srvpool: frontoffice dancer srvpool: backoffice Active server names: comet,dancer
NAME=comet STATE=ONLINE
NAME=dancer STATE=ONLINE
raccdb1
raccdb1_2
raccdb1_1
raccdb1
raccdb1
More Information in Appendix C
IB Interconnect
Low Overhead IPC Prot.
Preconfigured
Oracle Database
Appliance Full Rack
Half Rack
Quarter Rack
Oracle Exadata
Database Machine
ERP
CRM
DW
ine
Onl de
ra
upg
ur a tion
g r
e - c onfi cluste
R le
o e nab
t
Flexibility
LOGGERD
sysmond
! CHM/OS
LOGs LOGs oclumon dumpnodeview -n pecdb08 pecdb09 -s
"2011-09-30 15:00:00" -e "2011-09-30 15:30:00" -v
Oracle RAC Oracle RAC oclumom manage report <ret. time in secs>
Oracle GI Oracle GI
comet vixen ! CSS logs from all nodes
Node and instance evictions
Interconnect issues (e.g. gc blocks lots )
! Goals
LOGs
Improved comprehensive first
Oracle RAC
failure diagnostics collection
Oracle GI Efficient collection, packaging
dasher
and transfer of data for customers
Reduce round trips between
TFA customers and Oracle
LOGs
Supports 10.2, 11.1, 11.2 and above
Oracle RAC Included in the 11.2.0.4
Oracle GI patch set and future versions
comet
! Solution
ASH reports
V$SESSION
V$SESSION_WAIT
V$ACTIVE_SESSION_HISTORY DBA_HIST_ACTIVE_SESS_HISTORY
Write 1
Session
state out of 10
objects samples
Circular buffer
Every
in SGA
1 hour
MMON Lite (2MB per CPU) AWR
or
(MMNL) out-of-space
! MOS note 811280.1 - RAC and Oracle Clusterware Best Practices and Starter Kit (Solaris)
Note: Engineered Systems with the same OS will have additional recommendations
! MOS note 811271.1 - RAC and Oracle Clusterware Best Practices and Starter Kit (Windows)
! MOS note 811303.1 - RAC and Oracle Clusterware Best Practices and Starter Kit (HP-UX)
! MOS note 811293.1 - RAC and Oracle Clusterware Best Practices and Starter Kit (AIX)
[GRID]> more /etc/hosts |grep gns ! Flex Cluster implementations require GNS
10.1.1.99 mygns mygns.localdomain
! Converting a Flex Cluster requires a cluster restart
#Change to root
[GRID]> su Use crsctl stop crs followed by crsctl start crs as root
Password:
[GRID]> srvctl add gns -vip mygns
Hence the difference between status and config
[GRID]> srvctl start gns Nodes can be restarted in a rolling fashion:
[GRID]> crsctl set cluster mode flex [GRID]> date ; hostname ; [GRID]> date ; hostname ;
Cluster mode set to "flex crsctl get cluster mode status crsctl get cluster mode status
Sat Sep 14 14:43:45 PDT 2013 Sat Sep 14 14:43:37 PDT 2013
dasher dancer
[GRID]> crsctl get cluster mode status
Cluster is running in "flex" mode Cluster is running in "standard" mode
Cluster is running in "standard" mode
[GRID]> olsnodes -a -s -t
dasher Active Hub Unpinned
raccdb1_1 raccdb1_3 vixen Active Hub Unpinned
dancer Active Hub Unpinned
Oracle RAC Oracle RAC comet Active Hub Unpinned
#Change to root
[GRID]> su [GRID]> crsctl get node role config
Password: Node 'vixen' configured role is 'leaf'
[GRID]> crsctl set node role leaf [GRID]> srvctl config vip -node vixen
CRS-4408: Node 'vixen' configured role successfully changed; restart VIP exists: network number 1, hosting node vixen
Oracle High Availability Services for new role to take effect. VIP Name: vixen-vip
VIP IPv4 Address: 10.1.1.33
[GRID]> crsctl stop crs VIP IPv6 Address:
[GRID]> crsctl start crs
Oracle GI | HUB Oracle GI | LEAF [RAC]> srvctl status server -servers vixen -detail
comet srvpool: backoffice vixen srvpool: FREE Server active pools: Free
Server name: vixen
Server state: ONLINE
Server state details:
raccdb1
raccdb1_4 raccdb1_2
#As root
Oracle RAC Oracle RAC [GRID]> crsctl set node role hub
CRS-4408: Node 'vixen' configured role successfully changed;
Oracle GI | HUB Oracle GI | HUB restart Oracle High Availability Services for new role to take
effect.
dasher srvpool: frontoffice dancer srvpool: backoffice
[GRID]> crsctl stop crs
[GRID]> crsctl start crs
raccdb1
...
ONLINE ONLINE vixen STABLE The listener directs the connection to the least loaded
ora.DATA.dg ASM instance based on the load metric it maintains.
ONLINE ONLINE comet STABLE
ONLINE
ONLINE
ONLINE
ONLINE
dancer
dasher
STABLE
STABLE
The connection details are fetched from CSS global data
OFFLINE OFFLINE vixen STABLE
... The ASM instance to which the database instance
ora.INFRA.dg
ONLINE ONLINE comet STABLE
connects to is listed in the database alert log:
ONLINE ONLINE dancer STABLE
ONLINE ONLINE dasher STABLE ! NOTE: ASMB connected to ASM instance
OFFLINE OFFLINE vixen STABLE
...
+ASM1 (Flex mode; client id 0x10004)
ora.proxy_advm The userid and password supplied are also managed
ONLINE ONLINE comet STABLE
ONLINE
ONLINE
ONLINE
ONLINE
dancer
dasher
STABLE
STABLE
automatically. They are supplied while establishing the
ONLINE ONLINE vixen STABLE session, not while connecting.
raccdb1
raccdb1
raccdb1
raccdb1
raccdb1
OR
CPU_COUNT Server Categories
CPU_CLOCK_RATE! NAME
CPU_HYPERTHREADING! ACL
CPU_EQUIVALENCY EXPRESSION
Oracle Clusterware - CRSCTL !
[GRID]> srvctl add serverpool ! Set up policy set with 3 server pools & 3 policies as follows:
serverpool backup min 0 max 2 importance 20
DayTime:
[GRID] srvctl status serverpool
Server pool name: frontoffice ! frontoffice uses three servers (MIN_SIZE=3)
Active Servers count: 3
Server pool name: backoffice
! backoffice uses one server (MIN_SIZE=1)
Active Servers count: 1 ! backup does not run during daytime (MIN_SIZE=0)
Server pool name: backup
Active Servers count: 0 NightTime:
[GRID]> crsctl modify policyset ! frontoffice uses one server (MIN_SIZE=1)
-file /u01/app//policyset.txt ! backoffice uses two servers (MIN_SIZE=2)
! backup uses only one server (MIN_SIZE=1)
Weekend:
! frontoffice uses one server (MIN_SIZE=1)
! backoffice uses one server (MIN_SIZE=1)
! backup uses two servers (MIN_SIZE=2)
raccdb1_4 raccdb1_2
raccdb1
[GRID]> su
! Assume you have 2 servers that have better IO
Password:
Use these servers for backups whenever possible
[GRID]> crsctl set server label IOplus
... ! Here comet and dancer have better IO by definition
#On dancer
[GRID]> crsctl set server label Ioplus
[GRID]> crsctl status category moreIO Add the use of the server category to the server pool
NAME=moreIO
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r-- ! Define the server pools that utilize the category
ACTIVE_CSS_ROLE=hub and during which policy activation it shall be used
EXPRESSION=(SERVER_LABEL co IOplus)
[GRID]> crsctl status policy DayTime [GRID]> crsctl status policy DayTime
POLICY POLICY
NAME=DayTime NAME=DayTime
DESCRIPTION= DESCRIPTION=
SERVERPOOL SERVERPOOL
NAME=Free NAME=Free
... ...
SERVERPOOL SERVERPOOL
NAME=ora.backoffice NAME=ora.backoffice
IMPORTANCE=0 IMPORTANCE=0
MAX_SIZE=1 MAX_SIZE=1
MIN_SIZE=1 MIN_SIZE=1
SERVER_CATEGORY= SERVER_CATEGORY=
SERVER_NAMES= SERVER_NAMES=
SERVERPOOL SERVERPOOL
NAME=ora.backup NAME=ora.backup
IMPORTANCE=0 IMPORTANCE=0
MAX_SIZE=0 MAX_SIZE=0
MIN_SIZE=0 MIN_SIZE=0
SERVER_CATEGORY= SERVER_CATEGORY=moreIO
SERVER_NAMES= SERVER_NAMES=
SERVERPOOL SERVERPOOL
NAME=ora.frontoffice NAME=ora.frontoffice
IMPORTANCE=0 IMPORTANCE=0
MAX_SIZE=3 MAX_SIZE=3
MIN_SIZE=3 MIN_SIZE=3
SERVER_CATEGORY= SERVER_CATEGORY=
SERVER_NAMES= SERVER_NAMES=
raccdb1 raccdb1
raccdb1_4 raccdb1_2
comet srvpool:
srvpool:frontoffice
backup vixen srvpool: frontoffice [RAC]> srvctl status service -d raccdb1
Service backup is not running.
Service crmsvc is running on nodes: dasher,vixen,comet
Service hrsvc is running on nodes: dancer
raccdb1
raccdb1 raccdb1
raccdb1
[RAC]> srvctl status service -d raccdb1 [RAC]> srvctl status service -d raccdb1
Service backup is not running. Service backup is not running.
Service crmsvc is running on nodes: dancer,vixen,dasher Service crmsvc is running on nodes: dancer,vixen,dasher
Service hrsvc is running on nodes: comet Service hrsvc is running on nodes: comet
[GRID]> crsctl eval activate policy Weekend -admin -l 'resources' [GRID]> crsctl eval activate policy Weekend -admin -l 'serverpools'
--------------------------------------------------------------------------------
Name Target State Server Effect NAME = Free
-------------------------------------------------------------------------------- ACTIVE_SERVERS =
Cluster Resources
-------------------------------------------------------------------------------- NAME = Generic
ora.mgmtdb ACTIVE_SERVERS =
1 ONLINE ONLINE dasher
ora.raccdb1.backup.svc NAME = ora.backoffice
1 ONLINE ONLINE comet Started ACTIVE_SERVERS = vixen
2 ONLINE ONLINE dancer Started
ora.raccdb1.crmsvc.svc
NAME = ora.backup
1 ONLINE OFFLINE Stopped
2 ONLINE OFFLINE Stopped ACTIVE_SERVERS = comet dancer
3 ONLINE ONLINE dasher
ora.raccdb1.db NAME = ora.frontoffice
1 ONLINE ONLINE comet ACTIVE_SERVERS = dasher
2 ONLINE ONLINE dancer
3 ONLINE ONLINE vixen
4 ONLINE ONLINE dasher
ora.raccdb1.hrsvc.svc
1 ONLINE ONLINE vixen
2 ONLINE OFFLINE
--------------------------------------------------------------------------------
Before After
[GRID]> crsctl modify policyset -attr [GRID]> crsctl modify policyset -attr
"LAST_ACTIVATED_POLICY=NightTime "LAST_ACTIVATED_POLICY=DayTime"
CRS-2673: Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'dancer' CRS-2673: Attempting to stop 'ora.raccdb1.backup.svc' on 'dancer'
CRS-2673: Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'comet' CRS-2673: Attempting to stop 'ora.raccdb1.backup.svc' on 'comet'
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded CRS-2677: Stop of 'ora.raccdb1.backup.svc' on 'dancer' succeeded
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded CRS-2677: Stop of 'ora.raccdb1.backup.svc' on 'comet' succeeded
CRS-2672: Attempting to start 'ora.raccdb1.backup.svc' on 'dancer' CRS-2672: Attempting to start 'ora.raccdb1.crmsvc.svc' on 'dancer'
CRS-2672: Attempting to start 'ora.raccdb1.backup.svc' on 'comet' CRS-2672: Attempting to start 'ora.raccdb1.crmsvc.svc' on 'comet'
CRS-2676: Start of 'ora.raccdb1.backup.svc' on 'dancer' succeeded CRS-2676: Start of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded
CRS-2676: Start of 'ora.raccdb1.backup.svc' on 'comet' succeeded CRS-2676: Start of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded