You are on page 1of 31

9/30/13

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12 of the corporate presentation template

Understanding
Oracle RAC 12c Internals
Markus Michalewicz, Mark Scardina
Director of Product Management

9/30/13

Safe Harbor Statement


The following is intended to outline our general product direction. It is
intended for information purposes only, and may not be incorporated
into any contract. It is not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making purchasing
decisions. The development, release, and timing of any features or
functionality described for Oracles products remains at the sole
discretion of Oracle.

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

The New Oracle RAC 12c


Oracle RAC 12c provides**:
1.

Better Business Continuity


and High Availability (HA)

2.

Agility and Scalability

3.

Cost-effective Workload Management

CR

ste
Clu

rs

(R

AC

)
I):
on
(G SM
ati
re t (A
lic
pp
ctu en
tru gem CW)
s
ra ana (O
le
Inf
e
ac
id e M ar
Or
Gr rag terw
le
o
ac c St Clus
r
O ati le
c
tom Ora
Au
a
Re

lA

ac
Or

le

xA
Fle

SM

Using
Standardized and improved

deployment and management


A familiar and matured HA stack

**Understanding Oracle RAC Internals 11g Rel. 2:

http://www.oracle.com/technetwork/products/clustering/overview/understandingrac11grel2internals-2010098.pdf
5

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

The Setup for this Session


What has been installed and configured so far?
4-node cluster
raccdb1_4

raccdb1_2

Oracle RAC

Oracle RAC

Oracle GI for a cluster

Oracle GI for a cluster

OS OL 6.4

OS OL 6.4

dasher srvpool: frontoffice

dancer srvpool: backoffice

OL 6.4 UEK
Oracle Grid Infrastructure 12c

Per node installation

Oracle RAC Database Home 12c

Shared installation on ACFS

One Oracle Multitenant Container Database


raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI for a cluster

Oracle GI for a cluster

OS OL 6.4
comet

srvpool: backoffice

OS OL 6.4
vixen

srvpool: frontoffice

DB name: raccdb1

Deployed as a Policy-Managed Database

[RAC]> srvctl status database -d raccdb1


Instance
Instance
Instance
Instance

raccdb1_1
raccdb1_2
raccdb1_3
raccdb1_4

is
is
is
is

running
running
running
running

on
on
on
on

node
node
node
node

comet
dancer
vixen
dasher

raccdb1

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

New Memory Requirements


Not an Oracle RAC internal just something to mention

[GRID]> srvctl status asm

ASM is running on comet,dasher,dancer

[GRID]> srvctl status mgmtdb

Database is enabled
Instance -MGMTDB is running on node dasher

[GRID]> ps -ef |grep pmon

Physical memory requirements


with Oracle RAC 12c: 4GB

grid
grid
grid
oracle

3227
3868
7364
7917

1
1
1
1

0
0
0
0

13:54
13:55
13:57
13:57

?
?
?
?

00:00:02
00:00:01
00:00:01
00:00:02

asm_pmon_+ASM1
mdb_pmon_-MGMTDB
apx_pmon_+APX1
ora_pmon_raccdb1_4

[RAC]> df -h
Filesystem
...

tmpfs

Size

Used Avail Use% Mounted on

1.7G

1.3G

475M

73% /dev/shm

...

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

Oracle ASM 12c Overview


Oracle ASM 12c Standard Deployment
RAC Cluster
Database Instance

One to One
Mapping of ASM
Instances to
Servers

DBA

DBB

DBB

DBB

DBC

ASM Instance

Node1

Shared Disk
Groups

DBA

ASM Instance

ASM

Node2

ASM

Node3

ASM

Node4

ASM

Node5

ASM

ASM Cluster Pool of Storage


Disk Group A

Disk Group B

ASM Disk

Wide File Striping

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Introducing Oracle Flex ASM


Removal of One to One Mapping and HA
RAC Cluster
Database Instance

Databases share
ASM instances

DBA

DBA

ASM Instance

DBB

DBB

DBB

DBC

ASM Instance

Node1
Node1
runs as
ASM Client
to Node4
Node2

Shared Disk
Groups

Node2

ASM

Node3

ASM

Node4

Node2
runs as
ASM Client
to Node3

ASM

Node5
Node5
runs as
ASM Client
to Node4

ASM Cluster Pool of Storage


Disk Group A

Disk Group B

ASM Disk

Wide File Striping

10

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

Supporting Pre-Oracle 12c Databases


Pre-Oracle 12c Databases require a local ASM instance
RAC Cluster
Database Instance

Databases share
ASM instances

DBA

ASM Instance

Node1

11g
DB
ASM

DBA
Node2

DBB
ASM

DBB
ASM

Node3

DBB
Node4

ASM

11g
DB

DBC
ASM

Node5

ASM Cluster Pool of Storage

Shared Disk
Groups

Disk Group A

Disk Group B

ASM Disk

Wide File Striping

11

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex ASM


Configuration details

Flex ASM introduces new local resources:

[GRID]> crsctl stat res -t

------------------------------------------------------------------------------Name
Target State
Server
State details
------------------------------------------------------------------------------Local Resources
-------------------------------------------------------------------------------

ora.ASMNET1LSNR_ASM.lsnr

...
ora.DATA.dg

ONLINE
ONLINE
ONLINE
ONLINE

ONLINE
ONLINE
ONLINE
ONLINE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

ONLINE
ONLINE
ONLINE
OFFLINE

ONLINE
ONLINE
ONLINE
OFFLINE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

ONLINE
ONLINE
ONLINE
OFFLINE

ONLINE
ONLINE
ONLINE
OFFLINE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

ONLINE
ONLINE
ONLINE
ONLINE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

...
ora.INFRA.dg

At least one ASM listener

One proxy_advm (per node)


Used for ACFS access to Flex ASM instances

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:

...

ora.proxy_advm
ONLINE
ONLINE
ONLINE
ONLINE

12

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.

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

Oracle Flex ASM


Administering Flex ASM
Check ASM mode using asmcmd
Check where ASM instances are running using srvctl

[GRID]> asmcmd

ASMCMD> showclustermode
ASM cluster : Flex mode enabled

Check the configuration of ASM using srvctl

[GRID]> srvctl status asm


ASM is running on comet,dasher,dancer

Modify the ASM configuration using srvctl

[GRID]> srvctl config asm -detail

Test scenarios attached

ASM home: /u01/app/12.1.0/grid


Password file: +INFRA/orapwASM
ASM listener: LISTENER
ASM is enabled.
ASM instance count: 3

Cluster ASM listener:

Cluster ASM listener: ASMNET1LSNR_ASM,ASMNET2LSNR_ASM


[GRID]> srvctl modify asm -count all

Flex ASM can have its own network or overlap with the
private interconnect network used by RAC DB instances

It is recommended to configure a full overlap of the private


interconnect and the ASM network in current use cases:

[GRID]> srvctl status asm


ASM is running on comet,dasher,dancer
[GRID]> srvctl start asm
[GRID]> srvctl status asm
ASM is running on comet,vixen,dasher,dancer

13

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex ASM


Some test scenarios
A failure of an ASM instance is without effect for the

databases using ASM disk groups (here: -MGMTDB)


[GRID]> ps -ef |grep pmon
grid
grid
grid
oracle

3840
4093
4548
5092

1
1
1
1

0
0
0
0

09:11
11:35
11:36
11:36

?
?
?
?

00:00:01
00:00:00
00:00:00
00:00:00

mdb_pmon_-MGMTDB
asm_pmon_+ASM1
apx_pmon_+APX1
ora_pmon_raccdb1_4

[GRID]> kill -9 4093


[GRID]> ps -ef |grep pmon
grid
grid
oracle

3840
4548
5092

1
1
1

0 09:11 ?
0 11:36 ?
0 11:36 ?

00:00:01 mdb_pmon_-MGMTDB
00:00:00 apx_pmon_+APX1
00:00:00 ora_pmon_raccdb1_4

3840
1
4548
1
5092
1
5748
1
5793 19013

0
0
0
0
0

09:11
11:36
11:36
11:39
11:39

If an ASM instance is running on all nodes (count all)


the ASM instance is restarted upon failure

If an ASM instance is running on a subset of nodes


the ASM instance might be restarted on another node

The client using the ASM instance may change

A failure of an ASM instance is without effect for

the APX (ADVM proxy) running on the same node

[GRID]> ps -ef |grep pmon


grid
grid
oracle
grid
grid

?
?
?
?
pts/1

00:00:01
00:00:00
00:00:00
00:00:00
00:00:00

mdb_pmon_-MGMTDB
apx_pmon_+APX1
ora_pmon_raccdb1_4
asm_pmon_+ASM1
grep pmon

A failure of the APX will lead to a restart of the database

instance (on the node) that uses an ACFS file system.

[GRID]> asmcmd lsct data


DB_Name
+APX

Status
CONNECTED

Software_Version
12.1.0.1.0

Compatible_version
12.0.0.0.0

Instance_Name
+APX1

Disk_Group
DATA

[GRID]> ssh vixen /u01/app/12.1.0/grid/bin/asmcmd lsct data


DB_Name
+APX
+APX

14

Status
CONNECTED
CONNECTED

Software_Version
12.1.0.1.0
12.1.0.1.0

Compatible_version
12.0.0.0.0
12.0.0.0.0

Instance_Name
+APX2
+APX3

Disk_Group
DATA
DATA

More information:

http://docs.oracle.com/cd/E16655_01/server.121/e17612/
asminst.htm#OSTMG95329

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

New in Oracle Grid Infrastructure 12c


Oracle Flex Cluster for better resource management
Oracle Flex Cluster:

Leaf Nodes

The new standard for flexible


resource management in the cluster
Use it as demand requires it
Requires Oracle Flex ASM to be enabled
Enables policy-managed clusters.

DB
DB

A
DB

DB
DB

15

Efficient High Availability and


resource management across tiers
Lightweight cluster stack on leaf nodes

Hub Nodes

Benefit from virtualization and


physical deployments in one cluster

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex Cluster


Some configuration details
Oracle Flex Cluster
[GRID]> crsctl get cluster mode config

Will be the basis for more uses cases


in future releases (for resource mgmt)

Can consist of only HUB-nodes

If a Leaf-node has access to shared storage,


it can perform a role change to a HUB-node

A Standard Cluster can be converted to a


Flex Cluster at any time after the installation

Once a cluster is configured as a Flex Cluster


this configuration is irreversible without a reconfiguration of the cluster.

Cluster is configured as "standard"

[GRID]> crsctl get cluster mode status


Cluster is running in "standard" mode

[GRID]> olsnodes -s -a -t
dasher
vixen
dancer
comet

Active
Active
Active
Active

Hub
Hub
Hub
Hub

Unpinned
Unpinned
Unpinned
Unpinned

Not a Flex Cluster yet.


An all-Hub Flex Cluster is
basically a Standard Cluster

More Information:

http://docs.oracle.com/cd/E16655_01/rac.121/e17886/
bigcluster.htm#CWADD92560

Example attached
16

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

Oracle Flex Cluster


Converting to Flex Cluster
More Information:

[GRID]> srvctl config gns

http://docs.oracle.com/cd/E16655_01/rac.121/e17886/
bigcluster.htm#CHDJGBII

PRKF-1110 : Neither GNS server nor GNS client is configured on


this cluster

Flex Cluster implementations require GNS

[GRID]> more /etc/hosts |grep gns


10.1.1.99

mygns mygns.localdomain

Converting a Flex Cluster requires a cluster restart

#Change to root

[GRID]> su
Password:
[GRID]> srvctl add gns -vip mygns
[GRID]> srvctl start gns

Use crsctl stop crs followed by crsctl start crs as root

Hence the difference between status and config

Nodes can be restarted in a rolling fashion:

[GRID]> date ; hostname ;


crsctl get cluster mode status
Sat Sep 14 14:43:45 PDT 2013
dasher
Cluster is running in "flex" mode

[GRID]> crsctl set cluster mode flex


Cluster mode set to "flex

[GRID]> crsctl get cluster mode status


Cluster is running in "standard" 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 cluster mode config


Cluster is configured as "flex"

17

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex Cluster


Standard to Flex Cluster conversion what has changed?
Nothing at first glance

An all-Hub Flex Cluster behaves


like a Standard Cluster

When converting from Standard Cluster


all nodes are converted into HUB-nodes

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice


[GRID]> crsctl get cluster mode status
Cluster is running in "flex" mode

[GRID]> olsnodes -a -s -t
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: backoffice

vixen

raccdb1

18

srvpool: frontoffice

dasher
vixen
dancer
comet

Active
Active
Active
Active

Hub
Hub
Hub
Hub

Unpinned
Unpinned
Unpinned
Unpinned

[RAC]> srvctl status database -d raccdb1


Instance
Instance
Instance
Instance

raccdb1_1
raccdb1_2
raccdb1_3
raccdb1_4

is
is
is
is

running
running
running
running

on
on
on
on

node
node
node
node

comet
dancer
vixen
dasher

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

9/30/13

Oracle Flex Cluster


Flexibility and High Availability as demand requires it
Flex Cluster utilizes two types of cluster nodes:

Leaf Nodes

Hub nodes
Traditional nodes, tightly coupled via network and

storage, used for running IO intensive workload

Leaf nodes
A new type of node that runs a lighter weight stack
Maintain their own failure and heartbeat settings
Do not require direct shared storage connectivity
Used for processing oriented (application) workload

Hub Nodes

19

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex Cluster


Changing node roles server vixen becomes a Leaf node
More Information:
[GRID]> hostname
vixen

http://docs.oracle.com/cd/E16655_01/rac.121/e17886/
bigcluster.htm#BABHCEAE

[GRID]> srvctl config vip -node vixen


VIP exists: network number 1, hosting node vixen
VIP Name: vixen-vip
VIP IPv4 Address: 10.1.1.33
VIP IPv6 Address:
[GRID]> crsctl get node role config
Node 'vixen' configured role is 'hub'
#Change to root
[GRID]> su
Password:

[GRID]> crsctl get node role config

[GRID]> crsctl set node role leaf

[GRID]> srvctl config vip -node vixen

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

20

Node 'vixen' configured role is 'leaf'

VIP
VIP
VIP
VIP

exists: network number 1, hosting node vixen


Name: vixen-vip
IPv4 Address: 10.1.1.33
IPv6 Address:

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

10

9/30/13

Oracle Flex Cluster


Node role change to Leaf what has changed?
Server vixen has converted to a Leaf node
Leaf nodes do not host DB instances in 12.1
raccdb1_2

raccdb1_4

Server vixen moved to Server Pool FREE as

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice

Oracle RAC

Oracle GI | LEAF
vixen

srvpool: FREE

raccdb1

21

Note: all nodes in this example have access


to shared storage, which means only the node
role changes storage access is preserved.

Instance raccdb1_1 is running on node comet


Instance raccdb1_2 is running on node dancer
Instance raccdb1_4 is running on node dasher

Oracle RAC

Oracle GI | HUB
srvpool: backoffice

[RAC]> srvctl status database -d raccdb1

raccdb1_1

comet

Server Pool frontoffice is a database pool

[RAC]> srvctl status server -servers vixen -detail


Server
Server
Server
Server

active pools: Free


name: vixen
state: ONLINE
state details:

Example attached

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Flex Cluster


Revert role change server vixen becomes a HUB again

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice

#As root

[GRID]> crsctl set node role hub


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
[RAC]> srvctl status database -d raccdb1
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: backoffice

vixen

Instance
Instance
Instance
Instance

raccdb1_1
raccdb1_2
raccdb1_3
raccdb1_4

is
is
is
is

running
running
running
running

on
on
on
on

node
node
node
node

comet
dancer
vixen
dasher

srvpool: frontoffice

raccdb1

22

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

11

9/30/13

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

23

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Managed Databases with Oracle RAC 12c


Adding another dimension Database Services
Database Services

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice

raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: backoffice

vixen

srvpool: frontoffice

Ensure that workload is hosted in the respective


server pool with the cardinality defined as part of
the policy definition.

[GRID]> srvctl status serverpool


Server pool name: frontoffice
Active Servers count: 2
Server pool name: backoffice
Active Servers count: 2
[RAC]> srvctl status service -d raccdb1
Service crmsvc is running on nodes: dasher,vixen
Service hrsvc is running on nodes: comet,dancer

raccdb1

24

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

12

9/30/13

Policy-Managed Databases with Oracle RAC 12c


Improved HA Management - Startup
3rd

1st

Defining a Service Startup Order

Ensure services are started in specified groups


and specified order.

Leverages Serverpool Min and Importance properties

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice

2nd

4th

[GRID]> srvctl config serverpool


Server pool name: frontoffice

Importance: 10, Min: 2, Max 2


Server pool name: backoffice
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB
comet

srvpool: backoffice

Importance: 5, Min: 1, Max 1


Server pool name: Free
Importance: 0, Min: 0, Max -1

Oracle GI | HUB
vixen

srvpool: frontoffice

raccdb1

25

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Managed Databases with Oracle RAC 12c


Improved HA Management New Failover Strategy
Servers Move to Replace Failed node
raccdb1_4

raccdb1_2
raccdb1_2

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice


frontoffice

Protects against cascade failures due to load

Ensures workload isolation between pools

Less important workloads shutdown transactionally

[GRID]> srvctl config serverpool


Server pool name: frontoffice

Importance: 10, Min: 2, Max 2


Server pool name: backoffice
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: backoffice

vixen

srvpool: frontoffice

Importance: 5, Min: 1, Max 1


[GRID]> srvctl status serverpool
Server pool name: frontoffice

Active Servers count: 2


Server pool name: backoffice

Active Servers count: 1

raccdb1

26

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

13

9/30/13

Policy-Managed Databases with Oracle RAC 12c


Improved HA Management Manage Last Service Standing
Business Critical Services survive multiple failures
raccdb1_4

raccdb1_2
raccdb1_2

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice


frontoffice

Most important pool always gets the servers

Services preserved across multiple failures

Less important workloads shutdown transactionally

[RAC]> srvctl config serverpool


Server pool name: frontoffice

Importance: 10, Min: 2, Max 2


Server pool name: backoffice
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB
comet

srvpool:frontoffice
backoffice
srvpool:

Oracle GI | HUB
vixen

Importance: 5, Min: 1, Max 1


[RAC]> srvctl status service db
Service crmsrv is running on nodes comet,vixen
Service hrsvc is not running

srvpool: frontoffice

raccdb1

27

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Managed Databases with Oracle RAC 12c


Improved HA Management Dynamic Provisioning
Add Servers Just-In Time to meet demand
raccdb1_4

raccdb1_2
raccdb1_2

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice


frontoffice

Server Pools sized via Min and Max properties

Dynamically controlled by QoS Management

Planned control via Clusterware or QoSM Policies

[GRID]> srvctl modify serverpool


serverpool backoffice max 1
[RAC]> srvctl config serverpool
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: backoffice

vixen

srvpool: frontoffice

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

raccdb1

28

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

14

9/30/13

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

29

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Support for Multiple Policies tracking business objectives
More Information:

http://docs.oracle.com/cd/E16655_01/rac.121/e17886/pbmgmt.htm

New in Oracle Grid Infrastructure 12c

[GRID]> crsctl modify policyset attr


"LAST_ACTIVATED_POLICY=NightTime

QoS Management

OR

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

Oracle Clusterware - CRSCTL

30

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 Attributes

NAME
MEMORY_SIZE
CPU_COUNT
CPU_CLOCK_RATE
CPU_HYPERTHREADING
CPU_EQUIVALENCY

Server Categories

NAME
ACL
EXPRESSION

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

15

9/30/13

Policy-Management with Oracle RAC 12c


Setting up policy sets Provision Server Pools and creating a PolicySet
Add another server pool backup
[GRID]> srvctl add serverpool
serverpool backup min 0 max 2 importance 20
[GRID] srvctl status serverpool

Set up policy set with 3 server pools & 3 policies as follows:

Server pool name: frontoffice

Active Servers count: 3


Server pool name: backoffice

Active Servers count: 1


Server pool name: backup

Active Servers count: 0

[GRID]> crsctl modify policyset


-file /u01/app//policyset.txt

31

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)

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Using Policy Sets part 1: Activate a policy
[GRID]> crsctl modify policyset
-attr "LAST_ACTIVATED_POLICY=Weekend"
[GRID]> srvctl config serverpool
Server pool name: Free
Importance: 0, Min: 0, Max: -1
Category:
Candidate server names:
Server pool name: Generic
Importance: 0, Min: 0, Max: -1
Category:
Candidate server names:
Server pool name: backoffice
Importance: 0, Min: 1, Max: 1
Category:
Candidate server names:
Server pool name: backup
Importance: 1, Min: 2, Max: 2
Category:
Candidate server names:
Server pool name: frontoffice
Importance: 0, Min: 1, Max: 1
Category:
Candidate server names:

32

Activate the policy for the weekend

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

16

9/30/13

Policy-Management with Oracle RAC 12c


Using Policy Sets part 2: check the result
With an activated weekend policy
raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: backoffice

dancer srvpool: backup


[RAC]> srvctl status database -d raccdb1

raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB
comet

Oracle GI | HUB

srvpool: backup

vixen

srvpool: frontoffice

Instance
Instance
Instance
Instance

raccdb1_1
raccdb1_2
raccdb1_3
raccdb1_4

is
is
is
is

running
running
running
running

on
on
on
on

node
node
node
node

comet
dancer
vixen
dasher

[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

raccdb1

33

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Adding Server Categories to the picture part 1
Assume you have 2 servers that have better IO

[GRID]> su
Password:

[GRID]> crsctl set server label IOplus


...

Use these servers for backups whenever possible


Here comet and dancer have better IO by definition

#On dancer

[GRID]> crsctl set server label Ioplus


[GRID]> crsctl get server label

CRS-4972: Current SERVER_LABEL parameter value is Ioplus

[GRID]> crsctl status server comet dancer f


Comet

Dancer

NAME=comet
MEMORY_SIZE=3338
CPU_COUNT=1
CPU_CLOCK_RATE=2132
CPU_HYPERTHREADING=0
CPU_EQUIVALENCY=1000
DEPLOYMENT=other
CONFIGURED_CSS_ROLE=hub
RESOURCE_USE_ENABLED=1

NAME=dancer
MEMORY_SIZE=3338
CPU_COUNT=1
CPU_CLOCK_RATE=2247
CPU_HYPERTHREADING=0
CPU_EQUIVALENCY=1000
DEPLOYMENT=other
CONFIGURED_CSS_ROLE=hub
RESOURCE_USE_ENABLED=1

SERVER_LABEL=IOplus

SERVER_LABEL=IOplus

...

...

34

What you need to do:

Set up a server category that identifies the servers

Add the use of the server category to the server pool


Define the server pools that utilize the category

and during which policy activation it shall be used.

You need to restart the cluster stack on

the servers that you modify in this fashion

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

17

9/30/13

Policy-Management with Oracle RAC 12c


Adding Server Categories to the picture part 2
What you need to do:
[GRID]> crsctl add category moreIO
attr "EXPRESSION='SERVER_LABEL co IOplus'"
[GRID]> crsctl status category moreIO

Set up a server category that identifies the servers done

Add the use of the server category to the server pool

NAME=moreIO
ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r-ACTIVE_CSS_ROLE=hub
EXPRESSION=(SERVER_LABEL co IOplus)

[GRID]> crsctl modify serverpool ora.backup


-attr "SERVER_CATEGORY=moreIO" -all_policies

Define the server pools that utilize the category

and during which policy activation it shall be used

Note: Add the server category usage to the

server pool(s) that require it & specify the


policies that should be altered accordingly

35

In this example the backup server pool is the one


that will benefit the most and the policies will only
start this server pool as required.

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Adding Server Categories to the picture comparison
Before

After

[GRID]> crsctl status policy DayTime

[GRID]> crsctl status policy DayTime

POLICY
NAME=DayTime
DESCRIPTION=
SERVERPOOL
NAME=Free
...
SERVERPOOL
NAME=ora.backoffice
IMPORTANCE=0
MAX_SIZE=1
MIN_SIZE=1
SERVER_CATEGORY=
SERVER_NAMES=
SERVERPOOL
NAME=ora.backup
IMPORTANCE=0
MAX_SIZE=0
MIN_SIZE=0
SERVER_CATEGORY=
SERVER_NAMES=
SERVERPOOL
NAME=ora.frontoffice
IMPORTANCE=0
MAX_SIZE=3
MIN_SIZE=3
SERVER_CATEGORY=
SERVER_NAMES=

36

POLICY
NAME=DayTime
DESCRIPTION=
SERVERPOOL
NAME=Free
...
SERVERPOOL
NAME=ora.backoffice
IMPORTANCE=0
MAX_SIZE=1
MIN_SIZE=1
SERVER_CATEGORY=
SERVER_NAMES=
SERVERPOOL
NAME=ora.backup
IMPORTANCE=0
MAX_SIZE=0
MIN_SIZE=0

SERVER_CATEGORY=moreIO
SERVER_NAMES=
SERVERPOOL
NAME=ora.frontoffice
IMPORTANCE=0
MAX_SIZE=3
MIN_SIZE=3
SERVER_CATEGORY=
SERVER_NAMES=

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

18

9/30/13

Policy-Management with Oracle RAC 12c


Using Policy Sets and the effect of Server Categories

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: frontoffice

dasher srvpool: backoffice

dancer srvpool: backup

raccdb1_1

raccdb1_3

raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle RAC

Oracle RAC

Oracle GI | HUB
comet

srvpool: backup

Oracle GI | HUB
vixen

srvpool: frontoffice

raccdb1

37

raccdb1_2

raccdb1_4

Oracle GI | HUB
comet

srvpool: frontoffice

Oracle GI | HUB
vixen

srvpool: backoffice

raccdb1

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Using Policy Sets means changing policies on a push of a button

raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backup


backoffice
[GRID]> crsctl modify policyset attr
"LAST_ACTIVATED_POLICY=DayTime

raccdb1_1
raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool:
srvpool:frontoffice
backup

vixen

srvpool: frontoffice

[GRID]
Server
Active
Server
Active
Server
Active

srvctl status serverpool


pool name: frontoffice
Servers count: 3
pool name: backoffice
Servers count: 1
pool name: backup
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

raccdb1

38

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

19

9/30/13

Policy-Management with Oracle RAC 12c


Using Policy Sets changing policies on the push of a button is fast

raccdb1_4

Oracle RAC
Oracle GI | HUB
dasher srvpool: backoffice

raccdb1_1

Oracle RAC
Oracle GI | HUB
comet

srvpool: backup

[GRID]> date; crsctl modify policyset -attr


raccdb1_2
"LAST_ACTIVATED_POLICY=DayTime";
date

Oracle RAC

Oracle RAC

Mon Sep 16 19:26:42 PDT 2013


Oracle GIon| HUB
OracleAttempting
GI | HUB to stop 'ora.raccdb1.backup.svc'
CRS-2673:
'dancer'
CRS-2673:
Attempting
onfrontoffice
'comet'
dancer srvpool:
backup to stop 'ora.raccdb1.backup.svc'
dasher srvpool:
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
raccdb1_1
raccdb1_3
Mon Sep 16 19:26:43 PDT 2013

Oracle RAC
Time to execute: 1 second!
Oracle GI | HUB
vixen

Oracle RAC
Oracle GI | HUB
dancer srvpool: frontoffice

raccdb1_3

Oracle RAC

Oracle GI | HUB

srvpool: frontoffice

comet

raccdb1

39

raccdb1_2

raccdb1_4

Oracle RAC
Oracle GI | HUB

srvpool: frontoffice

vixen

srvpool: backoffice

raccdb1

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


What-If evaluation of policy changes
[RAC]> srvctl status service -d raccdb1
raccdb1_2

raccdb1_4

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

dasher srvpool: frontoffice

dancer srvpool: backoffice

Service backup is not running.


Service crmsvc is running on nodes: dancer,vixen,dasher
Service hrsvc is running on nodes: comet

[GRID]> crsctl eval activate policy Weekend


Stage Group 1:
------------------------------------------------------------------------------Stage Number
Required
Action
------------------------------------------------------------------------------1

Y
Y

raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

srvpool: frontoffice

vixen

srvpool: frontoffice

Y
Y

Server 'comet' will be moved from pools


[ora.frontoffice] to pools [ora.backup]
Server 'dancer' will be moved from pools
[ora.frontoffice] to pools [ora.backup]
Resource 'ora.raccdb1.crmsvc.svc' (1/1) will be
in state [OFFLINE]
Resource 'ora.raccdb1.crmsvc.svc' (2/1) will be
in state [OFFLINE]
Resource
in state
Resource
in state
[dancer]

'ora.raccdb1.backup.svc'
[ONLINE|INTERMEDIATE] on
'ora.raccdb1.backup.svc'
[ONLINE|INTERMEDIATE] on

(1/1) will be
server[comet]
(2/1) will be
server

raccdb1

40

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

20

9/30/13

What-If with Oracle RAC 12c


What-If evaluation of policy changes in various levels
[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

[GRID]> crsctl eval activate policy Weekend

-admin -l 'resources'

-------------------------------------------------------------------------------Name
Target State
Server
Effect
-------------------------------------------------------------------------------Cluster Resources
-------------------------------------------------------------------------------ora.mgmtdb
1
ONLINE ONLINE
dasher
ora.raccdb1.backup.svc
1
ONLINE ONLINE
comet
Started
2
ONLINE ONLINE
dancer
Started
ora.raccdb1.crmsvc.svc
1
ONLINE OFFLINE
Stopped
2
ONLINE OFFLINE
Stopped
3
ONLINE ONLINE
dasher
ora.raccdb1.db
1
ONLINE ONLINE
comet
2
ONLINE ONLINE
dancer
3
ONLINE ONLINE
vixen
4
ONLINE ONLINE
dasher
ora.raccdb1.hrsvc.svc
1
ONLINE ONLINE
vixen
2
ONLINE OFFLINE
--------------------------------------------------------------------------------

41

[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

[GRID]> crsctl eval activate policy Weekend


NAME = Free
ACTIVE_SERVERS

NAME = Generic
ACTIVE_SERVERS

-admin -l 'serverpools'

NAME = ora.backoffice
ACTIVE_SERVERS = vixen
NAME = ora.backup
ACTIVE_SERVERS = comet dancer
NAME = ora.frontoffice
ACTIVE_SERVERS = dasher

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Policy-Management with Oracle RAC 12c


Information on each step on the way

42

Before

After

[GRID]> crsctl modify policyset -attr


"LAST_ACTIVATED_POLICY=NightTime

[GRID]> crsctl modify policyset -attr


"LAST_ACTIVATED_POLICY=DayTime"

CRS-2673:
CRS-2673:
CRS-2677:
CRS-2677:
CRS-2672:
CRS-2672:
CRS-2676:
CRS-2676:

CRS-2673:
CRS-2673:
CRS-2677:
CRS-2677:
CRS-2672:
CRS-2672:
CRS-2676:
CRS-2676:

Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'dancer'


Attempting to stop 'ora.raccdb1.crmsvc.svc' on 'comet'
Stop of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded
Stop of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded
Attempting to start 'ora.raccdb1.backup.svc' on 'dancer'
Attempting to start 'ora.raccdb1.backup.svc' on 'comet'
Start of 'ora.raccdb1.backup.svc' on 'dancer' succeeded
Start of 'ora.raccdb1.backup.svc' on 'comet' succeeded

Attempting to stop 'ora.raccdb1.backup.svc' on 'dancer'


Attempting to stop 'ora.raccdb1.backup.svc' on 'comet'
Stop of 'ora.raccdb1.backup.svc' on 'dancer' succeeded
Stop of 'ora.raccdb1.backup.svc' on 'comet' succeeded
Attempting to start 'ora.raccdb1.crmsvc.svc' on 'dancer'
Attempting to start 'ora.raccdb1.crmsvc.svc' on 'comet'
Start of 'ora.raccdb1.crmsvc.svc' on 'dancer' succeeded
Start of 'ora.raccdb1.crmsvc.svc' on 'comet' succeeded

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

21

9/30/13

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

43

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Multiple Subnet Support in Oracle RAC 12c


Preparing for multiple subnet usage part 1
[GRID]> crsctl stat res ora.net1.network -t

-----------------------------------------------------------------------Name
Target State
Server
State details
-----------------------------------------------------------------------Local Resources
-----------------------------------------------------------------------ora.net1.network
ONLINE ONLINE
comet
STABLE
ONLINE ONLINE
dancer
STABLE
ONLINE ONLINE
dasher
STABLE
ONLINE ONLINE
vixen
STABLE
------------------------------------------------------------------------

[GRID]> oifcfg iflist


eth0
eth1
eth1
eth2
eth2

eth3

10.1.1.0
192.168.7.0
169.254.128.0
172.149.2.0
169.254.0.0

10.2.2.0

Multiple subnet support was introduced

with Oracle RAC 11g Rel. 2

Using multiple subnets per cluster can come in


handy for various reasons backups for example.

Example attached

One more physical interface


that can be used for public or
private communication.
ora.net1.network

Private communication already


uses multiple subnets.

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

[GRID]> oifcfg getif


eth0
eth1
eth2

44

10.1.1.0 global public


192.168.7.0 global cluster_interconnect,asm
172.149.2.0 global cluster_interconnect,asm

ora.net1.network

comet

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

22

9/30/13

Multiple Subnet Support in Oracle RAC 12c


Preparing for multiple subnet usage part 2
[GRID]> oifcfg setif -global eth3/10.2.2.0:public
[GRID]> oifcfg getif
eth0
eth1
eth2
eth3

10.1.1.0 global public


192.168.7.0 global cluster_interconnect,asm
172.149.2.0 global cluster_interconnect,asm
10.2.2.0 global public

Multiple subnet support can be

activated in two alternative ways:


1. Defining interface name and subnet identifier
2. Defining only a subnet identifier (interface: *)

Alternative configuration:
Using approach one allows for more consistent
[GRID]> oifcfg setif -global "*"/10.2.2.0:public

management and will be used in this example.

[GRID]> oifcfg getif


eth0 10.1.1.0 global public
eth1 192.168.7.0 global cluster_interconnect,asm
eth2 172.149.2.0 global cluster_interconnect,asm
* 10.2.2.0 global public
PRIF-29: Warning: wildcard in network parameters can
cause mismatch among GPnP profile, OCR, and system

45

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Multiple Subnet Support in Oracle RAC 12c


Adding second network resource to support multiple public subnets
The preparation:
[GRID]> su
Password:

[GRID]> srvctl add network -netnum 2


-subnet 10.2.2.0/255.255.255.0

Prepare the physical connectivity done

Prepare the stack as shown

[GRID]> exit

Adding the network is one command

[GRID]> crsctl stat res ora.net2.network -t

VIPs need to be added separately.

-----------------------------------------------------------------------Name
Target State
Server
State details
-----------------------------------------------------------------------Local Resources
-----------------------------------------------------------------------ora.net2.network
OFFLINE OFFLINE
comet
STABLE
OFFLINE OFFLINE
dancer
STABLE
OFFLINE OFFLINE
dasher
STABLE
OFFLINE OFFLINE
vixen
STABLE
------------------------------------------------------------------------

ora.net2.network:10.2.2.0

ora.net2.network:10.2.2.0

ora.net1.network:10.1.1.0

ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

46

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

23

9/30/13

Multiple Subnet Support in Oracle RAC 12c


Adding VIPs on second network to support multiple public subnets
[GRID]> srvctl config vip -node comet
VIP
VIP
VIP
VIP

exists: network number 1, hosting node comet


Name: comet-vip
IPv4 Address: 10.1.1.32
IPv6 Address:

[GRID]> srvctl config vip -node vixen


VIP
VIP
VIP
VIP

exists: network number 1, hosting node vixen


Name: vixen-vip
IPv4 Address: 10.1.1.33
IPv6 Address:

Adding node VIPs to second subnet:


[GRID]> more /etc/hosts
...
10.2.2.30

dasher-vip2 dasher-vip2.localdomain

10.2.2.31

dancer-vip2 dancer-vip2.localdomain

10.2.2.32

comet-vip2

comet-vip2.localdomain

10.2.2.33

vixen-vip2

vixen-vip2.localdomain

[GRID]> su
Password:
[GRID]> srvctl add vip -node comet -k 2
-A comet-vip2/255.255.255.0

comet-vip2 / 10.2.2.32

[GRID]> srvctl add vip -node vixen -k 2


-A vixen-vip2/255.255.255.0

ora.net2.network

comet-vip / 10.1.1.32

vixen-vip / 10.1.1.33

ora.net1.network:10.1.1.0

ora.net1.network:10.1.1.0

[GRID]> srvctl add vip -node dancer -k 2


-A dancer-vip2/255.255.255.0
[GRID]> srvctl add vip -node dasher -k 2
-A dasher-vip2/255.255.255.0

vixen-vip2 / 10.2.2.33

ora.net2.network

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

vixen

Complete Example attached


47

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Multiple Subnet Support in Oracle RAC 12c


Start using the second subnet VIPs
Once VIPs are added verify the setup
#Example only need to check for all nodes

[GRID]> srvctl config vip -node vixen


VIP
VIP
VIP
VIP
VIP
VIP
VIP
VIP

exists: network number 1, hosting node vixen


Name: vixen-vip
IPv4 Address: 10.1.1.33
IPv6 Address:
exists: network number 2, hosting node vixen
Name: vixen-vip2
IPv4 Address: 10.2.2.33
IPv6 Address:

Start the VIPs in order to use them


Note: you need to specify the VIP name for the

VIPs on the second subnet to be started, as the


default assumes the default node VIP.

[GRID]> srvctl status vip -node vixen


VIP
VIP
VIP
VIP

vixen-vip is enabled
vixen-vip is running on node: vixen
vixen-vip2 is enabled
vixen-vip2 is not running

[GRID]> srvctl start vip -node vixen


PRKO-2420 : VIP is already started on node(s): vixen

[GRID]>
[GRID]>
[GRID]>
[GRID]>

48

srvctl
srvctl
srvctl
srvctl

start
start
start
start

vip
vip
vip
vip

-vip
-vip
-vip
-vip

vixen-vip2
comet-vip2
dancer-vip2
dasher-vip2

comet-vip2 / 10.2.2.32

vixen-vip2 / 10.2.2.33

ora.net2.network

ora.net2.network

comet-vip / 10.1.1.32

vixen-vip / 10.1.1.33

ora.net1.network:10.1.1.0

ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

24

9/30/13

Listeners in Oracle RAC 12c


The default listener is available by default
Various listeners are used in Oracle RAC 12c
These are all listeners used in a certain way!
[GRID]> srvctl status listener

Listener LISTENER is enabled


Listener LISTENER is running on node(s):
comet,vixen,dasher,dancer

[GRID]> srvctl config listener


Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521

The simplest one is the default listener


A listener depends on a network
A listener will listen on the node and VIP IP

LISTENER: 10.1.1.10
and 10.1.1.30
ora.net1.network:10.1.1.0

ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

49

LISTENER: 10.1.1.13
and 10.1.1.33

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Listeners in Oracle RAC 12c


The default listener FAQ
Can you define another port? - YES
[GRID]> srvctl modify listener -h

Modifies the configuration for the listener.


Usage: srvctl modify listener [-listener <lsnr_name>]
[-oraclehome <path>] [-endpoints "[TCP:]<port>[, ...][/
IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [user <oracle_user>] [-netnum <net_num>]
#Example adding another listener on another port on net 1

Can you define another owner? YES


Can you define another home? YES, if needed.
Can I add another listener on another port? - YES

Example attached

[GRID]> srvctl add listener -listener LSNR2NET1 -netnum 1


[GRID]> srvctl config listener -listener LSNR2NET1
Name: LSNR2NET1
Network: 1, Owner: grid
Home: <CRS home>

LSNR2NET1

LSNR2NET1

End points: TCP:1522


[GRID]> srvctl status

listener -listener LSNR2NET1

Listener LSNR2NET1 is enabled


Listener LSNR2NET1 is not running

[GRID]> srvctl start listener -listener LSNR2NET1


[GRID]> srvctl status listener -listener LSNR2NET1
Listener LSNR2NET1 is enabled
Listener LSNR2NET1 is running on node(s):
comet,vixen,dasher,dancer

50

LISTENER
ora.net1.network:10.1.1.0

LISTENER
ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

25

9/30/13

Listeners in Oracle RAC 12c


The default listener FAQ
Can you define another port? - YES
[GRID]> srvctl modify listener -listener LSNR2NET1
-endpoints "TCP:1528
[GRID]> lsnrctl status LSNR2NET1
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 16-SEP-2013 19:34:13
Copyright (c) 1991, 2013, Oracle.

0 days 2 hr. 58 min. 39 sec

Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File
/u01/app/12.1.0/grid/network/admin/listener.ora
Listener Log File
/u01/app/oracle/diag/tnslsnr/dasher/lsnr2net1/alert/log.xml
Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LSNR2NET1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.10)(PORT=1528)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.30)(PORT=1528)))
Services Summary...

51

Online Modification of Resources

All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LSNR2NET1)))
STATUS of the LISTENER
-----------------------Alias
LSNR2NET1
Version
TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date
16-SEP-2013 16:35:34

Uptime

New in Oracle Grid Infrastructure 12c:

LSNR2NET1:1522
LSNR2NET1:1528

LSNR2NET1:1522
LSNR2NET1:1528

LISTENER
ora.net1.network:10.1.1.0

LISTENER
ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Listeners in Oracle RAC 12c


Adding a node listener to the second subnet
[GRID]> srvctl add listener -listener LSNR1NET2
-netnum 2 -endpoints 1522

Can I add another listener on another subnet?


Absolutely!

[GRID]> srvctl config listener -listener LSNR1NET2


Name: LSNR1NET2

Network: 2, Owner: grid


Home: <CRS home>
End points: TCP:1522

Listener summary attached

[GRID]> srvctl status listener -listener LSNR1NET2


Listener LSNR1NET2 is enabled
Listener LSNR1NET2 is not running
[GRID]> srvctl start listener -listener LSNR1NET2
[GRID]> srvctl status listener -listener LSNR1NET2
Listener LSNR1NET2 is enabled
Listener LSNR1NET2 is running on node(s):
comet,vixen,dasher,dancer

LSNR1NET2:1522

LSNR1NET2:1522

ora.net2.network

ora.net2.network

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

52

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

26

9/30/13

Listeners in Oracle RAC 12c


Other listeners used as part of the stack
Oracle RAC 12c introduces more listener (types):
ora.LISTENER.lsnr

[GRID]> crsctl stat res t

Default listener of type ora.listener.type

-------------------------------------------------------------------------------Name
Target State
Server
State details
-------------------------------------------------------------------------------Local Resources
--------------------------------------------------------------------------------

ora.ASMNET1LSNR_ASM.lsnr
ONLINE
ONLINE
ONLINE
ONLINE

ONLINE
ONLINE
ONLINE
ONLINE

ora.ASMNET2LSNR_ASM.lsnr
ONLINE
ONLINE
ONLINE
ONLINE

ONLINE
ONLINE
ONLINE
ONLINE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

comet
dancer
dasher
vixen

STABLE
STABLE
STABLE
STABLE

ora.ASMNETnLSNR_ASM.lsnr
An Oracle ASM listener used by Flex

ASM of type ora.asm_listener.type


ora.mgmtlsnr.type
Grid Infrastructure Management Repository

(GIMR) DB listener of type ora.mgmtlsnr.type

...

ora.LISTENER_SCANn.lsnr

-------------------------------------------------------------------------------Cluster Resources
--------------------------------------------------------------------------------

A SCAN listener of type ora.scan_listener.type

ora.LISTENER_SCAN1.lsnr
1

ONLINE

ONLINE

dasher

STABLE

ONLINE

dasher

169.254.73.11 192.16
8.7.10 172.149.2.10,
STABLE

ora.MGMTLSNR
1

ONLINE

local resource (runs on every node)


cluster resource (runs on any node)

53

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Listeners in Oracle RAC 12c


Valid Node Checking for Registration
New in the Oracle RAC 12c listeners:

SCAN

For Oracle RAC: IPv6 support


Valid Node Checking for Registration

Valid Node
Checking for
Registration

http://docs.oracle.com/cd/E16655_01/network.

121/e17610/listenercfg.htm#NETAG1588

The listener is now protected to both sides:


It can be restricted to accept client connections
LISTENER

LISTENER

raccdb1_1

raccdb1_3

Oracle RAC

Oracle RAC

Oracle GI | HUB
comet

54

http://docs.oracle.com/cd/E16655_01/network.

121/e17607/guidelines.htm#DBSEG504

It can be restricted to prevent ay arbitrary DB

(instance) from registering to it, if not allowed


by default. (Valid Node Checking for Registration)

Oracle GI | HUB
vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

27

9/30/13

SCAN in Oracle RAC 12c


The listener usage that combines it all
SCAN was introduced with Oracle RAC 11g Rel. 2

[GRID]> srvctl config network


Network 1 exists
Subnet IPv4: 10.1.1.0/255.255.255.0/eth0, static
Subnet IPv6:

http://www.oracle.com/technetwork/products/
clustering/overview/scan-129069.pdf

New in SCAN with Oracle RAC 12c:

Multiple Subnet Support

Valid Node Checking for Registration

IPv6 support for client connectivity (public network)

[GRID]> srvctl config scan_listener


SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
Registration invited nodes:
Registration invited subnets:
...

MySCAN2_2 / 10.2.2.51

MySCAN2_3 / 10.2.2.52

ora.net2.network

ora.net2.network

MySCAN_3 / 10.1.1.52

[GRID]> srvctl status scan_listener -netnum 2

ora.net1.network:10.1.1.0

SCAN Listener LISTENER_SCAN1_NET2 is enabled


SCAN listener LISTENER_SCAN1_NET2 is running on node vixen

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

55

ora.net1.network:10.1.1.0

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

SCAN in Oracle RAC 12c


Adding a second SCAN listener to the system
Adding a second SCAN listener to the system
#Step 1: Preparation
[GRID]> more /etc/hosts
...
10.1.1.50

10.2.2.50

A second IP for SCAN2

myscan myscan.localdomain

myscan2 myscan2.localdomain

There is only one SCAN listener per subnet

In this example, each SCAN has only 1 IP address

Three steps are required to add another scan:


1. Preparation of the host / network

[GRID]> srvctl config network

Network 1 exists
Subnet IPv4: 10.1.1.0/255.255.255.0/eth0, static
Subnet IPv6:

Network 2 exists
Subnet IPv4: 10.2.2.0/255.255.255.0/, static
Subnet IPv6:

2. Adding another SCAN (VIPs mainly)


3. Adding another SCAN listener

ora.net2.network

The second (non-default)


network to be used for the
second scan (netnumber 2)

ora.net1.network:10.1.1.0

ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

56

ora.net2.network

MySCAN / 10.1.1.50

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

28

9/30/13

SCAN in Oracle RAC 12c


Starting the SCAN listener on the second network
#Step 2: Adding another SCAN
[GRID]> su
Password:
[GRID]> srvctl add scan -scanname myscan2 -netnum 2
[GRID]> exit
[GRID]> srvctl add scan_listener -netnum 2 -endpoints 1530

Then start the SCAN on the second network

[GRID]> srvctl status scan -netnum 2


SCAN VIP scan1_net2 is enabled
SCAN VIP scan1_net2 is not running

LISTENER_SCAN1_NET2

[GRID]> srvctl status scan_listener -netnum 2

ora.net2.network

SCAN Listener LISTENER_SCAN1_NET2 is enabled


SCAN listener LISTENER_SCAN1_NET2 is not running

ora.net1.network:10.1.1.0

[GRID]> srvctl start scan_listener -netnum 2


[GRID]> srvctl status scan_listener -netnum 2
SCAN Listener LISTENER_SCAN1_NET2 is enabled
SCAN listener LISTENER_SCAN1_NET2 is running on node vixen

ora.net1.network:10.1.1.0

Oracle RAC

Oracle RAC

Oracle GI | HUB

Oracle GI | HUB

comet

57

ora.net2.network

MySCAN / 10.1.1.50

vixen

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

SCAN in Oracle RAC 12c


Start using SCAN with the Oracle Database
[RAC]> sqlplus sys/<pswd>@MySCAN:1521/raccdb1 as sysdba
...

SQL> show parameters listener


NAME
-----------------------------------listener_networks
local_listener

remote_listener

TYPE
VALUE
----------- -----------------------------string
string
(ADDRESS=(PROTOCOL=TCP)(HOST=
10.1.1.31)(PORT=1521)), (ADDRE
SS=(PROTOCOL=TCP)(HOST=10.1.1.
31)(PORT=1528))
string
myscan:1521

[RAC]> srvctl stop database -d raccdb1


[RAC]> srvctl start database -d raccdb1
[RAC]> sqlplus sys/oracle@MySCAN:1521/raccdb1 as sysdba

When using more than one SCAN on the system,

the LISTENER_NETWORKS parameter needs to


be set for databases.
New in Oracle RAC12c:

The LISTENER_NETWORKS parameter


is managed by the Oracle (Database) Agent
as part of the Oracle Clusterware management.

To initiate the new configuration


a database restart is required.

...

SQL> show parameters listener


NAME
TYPE
VALUE
------------------------------------ ----------- -----------------------------listener_networks
string
(( NAME=net2)(LOCAL_LISTENER=(
DESCRIPTION=(ADDRESS=(PROTOCOL
=TCP)(HOST=10.2.2.32)(PORT=152
2))))), ((NAME=net2)(REMOTE_LI
STENER=myscan2:1530))
local_listener
string
(ADDRESS=(PROTOCOL=TCP)(HOST=
10.1.1.32)(PORT=1521)), (ADDRE
SS=(PROTOCOL=TCP)(HOST=10.1.1.
32)(PORT=1528))
remote_listener
string
myscan:1521

58

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

29

9/30/13

SCAN in Oracle RAC 12c


The SCAN listener FAQ
** For the purpose of allowing applications to
maintain a distinguishable connect string on host /
port level using one SCAN as the host or to
enable port-based firewall configurations, SCAN
can be set up to support more than one port.

Can you define another port? - YES


Can I define multiple ports? YES**

Can you define another owner? NO

It needs to be noticed that different ports are only


used for an initial connect.

Can you define another home? NO

Once a connection using SCAN on any SCAN


port has been established, port assignment is not
maintained .

Can I add another listener on another port? YES


See MOS Note 220970.1 The RAC FAQ:
How to use SCAN and node

This means that all SCAN ports are treated the


same, so that a connection that comes in on any
SCAN port can be directed to any registered local
listener on any port.

59

listeners with different ports?

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Agenda

Introduction

The New Features in Oracle Grid Infrastructure and RAC 12c


Flex ASM
Flex Cluster

Policy-Managed Databases
Improved HA Management
Dynamic Database Services

60

Multiple Subnet Support, Listeners & SCAN in Oracle RAC 12c

Summary and Q&A

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

30

9/30/13

Graphic Section Divider

61

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12 of the corporate presentation template

62

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12 of the corporate presentation template

31