Hub Nodes
Leaf Nodes
! Oracle Flex Cluster:
– The new standard for flexible
resource management in the cluster
! Use it as demand requires it
! Inherits all Flex ASM HA capabilities
! Will support more use cases in future
– Efficient High Availability and
resource management across tiers
! Lightweight cluster stack on leaf nodes
– Benefit from virtualization and
physical deployments in one cluster
1. Standard ASM
! ASM configuration as known
from previous releases
2. Oracle Flex ASM
! Recommended option available
with Oracle Grid Infrastructure 12c
– Flex Cluster requires Flex ASM
3. Shared File System
! Alternative
One to One
Mapping of ASM
Instances to
Servers
ASM Instance
Database Instance
ASM Disk
RAC Cluster
Node4 Node3 Node2 Node1 Node5 ASM ASM ASM ASM ASM
ASM Instance
Database Instance
DB
A
DB
A
DB
C
DB
B
DB
B
DB
B
Databases share
ASM instances
ASM Instance
Database Instance
ASM Disk
RAC Cluster
Node5 Node4 Node3 Node2 Node1
Node5
runs as
ASM Client
to Node4
Node1
runs as
ASM Client
to Node2
Node1
runs as
ASM Client
to Node4
Node2
runs as
ASM Client
to Node3
ASM ASM ASM
ASM Instance DB
A
DB
A
DB
C
DB
B
DB
B
DB
B
[RAC]>srvctl status srvpool -serverpool backoffice -detail
Server pool name: backoffice
Active servers count: 2
Active server names: comet,dancer
NAME=comet STATE=ONLINE
NAME=dancer STATE=ONLINE
[RAC]> srvctl status srvpool
Server pool name: Free
Active servers count: 0
Server pool name: Generic
Active servers count: 0
Server pool name: backoffice
Active servers count: 2
Server pool name: frontoffice
Active servers count: 2
! Dynamic Database Services
– For easier management of multitenant CDBs
– For better workload management in the cluster
! Start services after creation and as required
[GRID]> srvctl status cvu
CVU is enabled and running on node comet
! CVU is run regularly as part of the GI stack
! Use RACcheck - RAC Configuration Audit Tool
– For details see MOS note 1268927.1
– New features in 2.2.2 included (latest version 2.2.3):
! Execution as the root user for sysadmin
profile e.g. ./raccheck -profile sysadmin
! RACcheck daemon feature to automate
execution of RACcheck non-interactively
at predefined interval
! Support for Solaris Sparc 11
! Upgrade best practices for 11.2.0.3,
11.2.0.4 and Oracle Database 12c
! Standard health check is now
included in post upgrade
! More Information:
– http://docs.oracle.com/cd/E16655_01/rac.121/e17886/
bigcluster.htm#CWADD92560
[GRID]> crsctl get cluster mode config
Cluster is configured as "standard"
[GRID]> crsctl get cluster mode status
Cluster is running in "standard" mode
[GRID]> olsnodes -s -a -t
dasher Active Hub Unpinned
vixen Active Hub Unpinned
dancer Active Hub Unpinned
comet Active Hub Unpinned
[GRID]> srvctl config gns
PRKF-1110 : Neither GNS server nor GNS client is configured on
this cluster
[GRID]> more /etc/hosts |grep gns
10.1.1.99 mygns mygns.localdomain
#Change to root
[GRID]> su
Password:
[GRID]> srvctl add gns -vip mygns
[GRID]> srvctl start gns
[GRID]> crsctl set cluster mode flex
Cluster mode set to " flex »
[GRID]> crsctl get cluster mode status
Cluster is running in "standard" mode
[GRID]> crsctl get cluster mode config
Cluster is configured as "flex"
[GRID]> date ; hostname ;
crsctl get cluster mode status
Sat Sep 14 14:43:45 PDT 2013
dasher
Cluster is running in "flex" mode
[GRID]> date ; hostname ;
crsctl get cluster mode status
Sat Sep 14 14:43:37 PDT 2013
dancer
Cluster is running in "standard" mode
[GRID]> crsctl get node role config
Node 'vixen' configured role is 'hub'
#Change to root …
[GRID]> su
Password:
[GRID]> crsctl set node role leaf
CRS-4408: Node 'vixen' configured role successfully changed; restart
Oracle High Availability Services for new role to take effect.
[GRID]> crsctl stop crs
[GRID]> crsctl start crs
[GRID]> crsctl get node role config
Node 'vixen' configured role is 'leaf'
[RAC]> srvctl status database -d raccdb1
Instance raccdb1_1 is running on node comet
Instance raccdb1_2 is running on node dancer
Instance raccdb1_3 is running on node vixen
Instance raccdb1_4 is running on node dasher
! Connections from a database instance to an ASM
instance are based on SQLnet using listeners.
– The listener directs the connection to the least loaded
ASM instance based on the load metric it maintains.
– The connection details are fetched from CSS global data
– The ASM instance to which the database instance
connects to is listed in the database alert log:
! NOTE: ASMB connected to ASM instance
+ASM1 (Flex mode; client id 0x10004)
– The userid and password supplied are also managed
automatically. They are supplied while establishing the
session, not while connecting.
[GRID]> crsctl stat res -t
-------------------------------------------------------------------------------
Name Target State Server State details
-------------------------------------------------------------------------------
Local Resources
-------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM. lsnr
ONLINE ONLINE comet STABLE
ONLINE ONLINE dancer STABLE
ONLINE ONLINE dasher STABLE
ONLINE ONLINE vixen STABLE
...
ora.DATA.dg
ONLINE ONLINE comet STABLE
ONLINE ONLINE dancer STABLE
ONLINE ONLINE dasher STABLE
OFFLINE OFFLINE vixen STABLE
...
ora.INFRA.dg
ONLINE ONLINE comet STABLE
ONLINE ONLINE dancer STABLE
ONLINE ONLINE dasher STABLE
OFFLINE OFFLINE vixen STABLE
...
ora.proxy_advm
ONLINE ONLINE comet STABLE
ONLINE ONLINE dancer STABLE
ONLINE ONLINE dasher STABLE
ONLINE ONLINE vixen STABLE
! A failure of an ASM instance is without effect for
the APX (ADVM proxy) running on the same node
! A failure of the APX will lead to a restart of the database
instance (on the node) that uses an ACFS file system.
! More information:
– http://docs.oracle.com/cd/E16655_01/server.121/e17612/
asminst.htm#OSTMG95329
[GRID]> ps -ef |grep pmon
grid 3840 1 0 09:11 ? 00:00:01 mdb_pmon_-MGMTDB
grid 4093 1 0 11:35 ? 00:00:00 asm_pmon_+ASM1
grid 4548 1 0 11:36 ? 00:00:00 apx_pmon_+APX1
oracle 5092 1 0 11:36 ? 00:00:00 ora_pmon_raccdb1_4
[RAC]> srvctl status service -d raccdb1
Service crmsvc is running on nodes: dasher,vixen
Service hrsvc is running on nodes: comet,dancer
! Database Services
– Ensure that workload is hosted in the respective
server pool with the cardinality defined as part of
the policy definition.
comet srvpool: backoffice
Oracle GI | HUB
Oracle RAC
raccdb1_1
[GRID]> srvctl status serverpool
Server pool name: frontoffice
Active Servers count: 2
Server pool name: backoffice
Active Servers count: 1
dasher srvpool: frontoffice
Oracle GI | HUB
Oracle RAC
raccdb1_4
vixen srvpool: frontoffice
Oracle GI | HUB
Oracle RAC
raccdb1_3
comet srvpool: backoffice
Oracle GI | HUB
Oracle RAC
raccdb1_1
! Servers “Move” to Replace Failed node
– Protects against cascade failures due to load
– Ensures workload isolation between pools
– Less important workloads shutdown transactionally
[RAC]> srvctl config serverpool
Server pool name: frontoffice
Importance: 10, Min: 2, Max 4
Server pool name: backoffice
Importance: 5, Min: 1, Max 1
[RAC]> srvctl status service –db
Service crmsrv is running on nodes dasher,dancer,vixen
Service hrsvc is not running
comet srvpool: backoffice
Oracle GI | HUB
Oracle RAC
raccdb1_1
! Add Servers Just-In Time to meet demand
– Server Pools sized via Min and Max properties
– Dynamically controlled by QoS Management
– Planned control via Clusterware or QoSM Policies
dancer srvpool: frontoffice
Oracle GI | HUB
Oracle RAC
raccdb1_2
! New in Oracle Grid Infrastructure 12c
– Server Categories
! Server Categories use server attributes to allow
for an active use of differently sized servers
– Policy Sets
! Policy Sets allow for dynamic adjustment
to demand changes in an atomic transaction
Server Categories
• NAME
• ACL
• EXPRESSION
• …
Server Attributes
• NAME
• MEMORY_SIZE!
• CPU_COUNT
• CPU_CLOCK_RATE!
• CPU_HYPERTHREADING!
• CPU_EQUIVALENCY
• …!
[GRID]> crsctl modify policyset –attr
"LAST_ACTIVATED_POLICY= NightTime“
CRS-2673: Attempting to stop
'ora.raccdb1.crmsvc.svc' on 'comet'
CRS-2673: Attempting to stop
'ora.raccdb1.crmsvc.svc' on 'dancer'
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on
'comet' succeeded
CRS-2673: Attempting to start
'ora.raccdb1.backup.svc' on 'comet'
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on
'dancer' succeeded
CRS-2672: Attempting to start
'ora.raccdb1.hrsvc.svc' on 'dancer‘
…
! Set up policy set with 3 server pools & 3 policies as follows:
– DayTime:
! frontoffice uses three servers (MIN_SIZE=3)
! backoffice uses one server (MIN_SIZE=1)
! backup does not run during daytime (MIN_SIZE=0)
– NightTime:
! frontoffice uses one server (MIN_SIZE=1)
! 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)
[GRID]> srvctl add serverpool
–serverpool backup –min 0 –max 2 –importance 20
[GRID] srvctl status serverpool
Server pool name: frontoffice
Active Servers count: 3
Server pool name: backoffice
Active Servers count: 1
Server pool name: backup
Active Servers count: 0
[RAC]> srvctl status service -d raccdb1
Service backup is running on nodes: comet,dancer
Service crmsvc is running on nodes: vixen
Service hrsvc is running on nodes: dasher
! With an activated weekend policy
[GRID] srvctl status serverpool
Server pool name: frontoffice
Active Servers count: 3
Server pool name: backoffice
Active Servers count: 1
Server pool name: backup
Active Servers count: 0
[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
Mon Sep 16 19:26:42 PDT 2013
CRS-2673: Attempting to stop 'ora.raccdb1.backup.svc' on 'dancer'
CRS-2673: Attempting to stop 'ora.raccdb1.backup.svc' on 'comet'
CRS-2677: Stop of 'ora.raccdb1.backup.svc' on 'dancer' succeeded
CRS-2677: Stop of 'ora.raccdb1.backup.svc' on 'comet' succeeded
CRS-2672: Attempting to start 'ora.raccdb1.crmsvc.svc' on 'dancer'
CRS-2672: Attempting to start 'ora.raccdb1.crmsvc.svc' on 'comet'
CRS-2676: Start of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded
CRS-2676: Start of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded
Mon Sep 16 19:26:43 PDT 2013
[GRID]> crsctl eval activate policy Weekend
Stage Group 1:
-------------------------------------------------------------------------------
Stage Number Required Action
-------------------------------------------------------------------------------
1 Y Server 'comet' will be moved from pools
[ ora.frontoffice] to pools [ora.backup]
Y Server 'dancer' will be moved from pools
[ ora.frontoffice] to pools [ora.backup]
Y Resource 'ora.raccdb1.crmsvc.svc' (1/1) will be
in state [OFFLINE]
Y Resource 'ora.raccdb1.crmsvc.svc' (2/1) will be
in state [OFFLINE]
NAME = ora.frontoffice
ACTIVE_SERVERS = dasher
[RAC]> srvctl status service -d raccdb1
Service backup is not running.
Service crmsvc is running on nodes: dancer,vixen,dasher
Service hrsvc is running on nodes: comet
CRS-2673: Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'dancer'
CRS-2673: Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'comet'
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded
CRS-2677: Stop of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded
CRS-2672: Attempting to start 'ora.raccdb1.backup.svc' on 'dancer'
CRS-2672: Attempting to start 'ora.raccdb1.backup.svc' on 'comet'
CRS-2676: Start of 'ora.raccdb1.backup.svc' on 'dancer' succeeded
CRS-2676: Start of 'ora.raccdb1.backup.svc' on 'comet' succeeded
[GRID]> crsctl modify policyset -attr
"LAST_ACTIVATED_POLICY= DayTime"