Professional Documents
Culture Documents
Understanding Oracle RAC Internals - Part 1 - Slides PDF
Understanding Oracle RAC Internals - Part 1 - Slides PDF
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.
Agenda
The Oracle RAC Architecture
VIPs and Networks
Listeners and SCAN
and Services
Public Lan
Node 1
Node 2
Node N-1
Interconnect
with switch
SAN switch
Shared Storage
Node N
OS
OS
Shared Storage
OS
OS
OS
OS
Oracle RAC
ASM Instance
OS
HA Framework
Node
Membership
OS
Control Files
etc.
ASM Instance
OS
HA Framework
Node
Membership
My Oracle Support (MOS)
OS
Note 1053147.1 - 11gR2 Clusterware
and Grid Home - What You Need to Know
Note 1050908.1 - How to Troubleshoot
Grid Infrastructure Startup Issues
9
LISTENER_SCAN2
LISTENER_SCAN3
ora.oc4j
If database is deployed:
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.SCAN3.VIP
ora.cvu
ora.Dbname.db
ora.node1.vip
ora.node2.vip
ora.node3.vip
ora.node4.vip
ora.asm
ora.asm
ora.asm
ora.asm
ora.dgname.dg
ora.dgname.dg
ora.dgname.dg
ora.dgname.dg
ora.listener.lsnr
ora.listener.lsnr
ora.listener.lsnr
ora.listener.lsnr
ora.ons
ora.ons
ora.ons
ora.ons
ora.gsd
ora.gsd
ora.gsd
ora.gsd
ora.net1.network
ora.net1.network
ora.net1.network
ora.net1.network
ora.registry.acfs
ora.registry.acfs
ora.registry.acfs
ora.registry.acfs
10
OS
OS
OS
ora.Dbname.Srvcname.svc
Command to list:
crsctl stat res -t
11
12
rac2
LISTENER_SCAN1
LISTENER_SCAN2
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.rac1.vip
ora.rac2.vip
ora.listener.lsnr
ora.listener.lsnr
ora.net1.network
ora.net1.network
OS
1
2
3
CHECK_TIMEOUT=30
...
ora.rac1.vip
START_DEPENDENCIES=hard(ora.net1.network)
pullup(ora.net1.network)
ora.listener.lsnr
...
STOP_DEPENDENCIES=hard(ora.net1.network)
...
ora.net1.network
USR_ORA_VIP=rac1-vip
VERSION=11.2.0.2.0
Oracle Grid
OS
13
rac2
ora.rac2.vip
ora.listener.lsnr
ora.net1.network
Infrastructure
OS
rac2
Network exists:
1/192.168.0.0/255.255.255.0/eth0, type static
ora.rac1.vip
ora.rac2.vip
ora.listener.lsnr
ora.listener.lsnr
ora.net1.network
ora.net1.network
New in 11.2.0.2:
Direct management of the network resource
srvctl verb network
Network type support (static, dhcp, mixed)
14
rac1
OS
network number
(default number is 1)
-S <subnet>/<netmask>/[if1[|if2...]]
NET address spec for network
-w <network_type>
-h
Print usage
-v
Verbose output
For example:
srvctl add network -k 2 -S 10.1.1.0/255.255.255.0
15
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
OS
Node name
-A <vip_name|ip>/<netmask>/[if1[|if2...]]
VIP address spec for node applications
-k <net_num>
network number
(default number is 1)
ora.rac2.vip
ora.rac2-vip2.vip
-h
Print usage
ora.net1.network
ora.net1.network
-v
Verbose output
ora.net2.network
ora.net2.network
For example:
srvctl add vip -n rac1 -k 2 -A rac1-vip2/255.255.255.0
srvctl add vip -n rac2 -k 2 -A rac2-vip2/255.255.255.0
16
ora.rac1.vip
ora.rac1-vip2.vip
OS
...
START_DEPENDENCIES=hard(ora.net2.network)
pullup(ora.net2.network)
...
STOP_DEPENDENCIES=hard(ora.net2.network)
...
USR_ORA_VIP=rac1-vip2
VERSION=11.2.0.2.0
17
ora.rac1.vip
ora.rac1-vip2.vip
ora.rac2.vip
ora.rac2-vip2.vip
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
OS
ora.rac1.vip
ora.rac1-vip2.vip
myVIP
ora.rac2.vip
ora.rac2-vip2.vip
myNewVIP
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
18
OS
ora.rac1.vip
ora.rac1-vip2.vip
myVIP
RESTART_ATTEMPTS=0
ora.rac2.vip
ora.rac2-vip2.vip
myNewVIP
...
USR_ORA_VIP=192.168.0.66
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
VERSION=11.2.0.2.0
19
OS
OS
20
Listeners
Listeners and dependencies
In Oracle RAC 11g Release 2 there have been
three major changes regarding listeners:
1.
rac2
LISTENER_SCAN1
LISTENER_SCAN2
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.rac1.vip
ora.rac2.vip
2.
3.
ora.listener.lsnr
ora.listener.lsnr
ora.net1.network
ora.net1.network
21
rac1
OS
Listeners
The default LISTENER
[GRID]> srvctl config listener
Name: LISTENER
Network: 1, Owner: oracle Grid Software Owner
Home: <CRS home>
rac1
rac2
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
22
OS
Listeners
The default LISTENER FAQ
Can you define another port? - YES
rac1
rac2
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
23
OS
rac1
rac2
LISTENER_RAC1=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)
(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.0.51)(PORT=1521)(IP=FIRST))))
# line added by Agent
24
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
OS
rac1
rac2
LISTENER_RAC1=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)
(PORT=1545))(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.0.51)(PORT=1545)(IP=FIRST))))
# line added by Agent
25
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
OS
[GRID]>
Name: LISTENER
rac1
rac2
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
26
OS
rac1
rac2
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
27
OS
OS
Listeners
Can I add another listener on another port? - YES
[GRID]> srvctl config listener
Name: LISTENER
Network: 1, Owner: oracle
Home: <CRS home>
rac1
rac2
Name: LISTENER2011
Network: 1, Owner: oracle
Home: <CRS home>
End points: TCP:2011
28
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.LISTENERK2.lsnr
ora.LISTENERK2.lsnr
ora.net1.network
ora.net1.network
OS
Listeners
Can I add another listener on another network? - YES
[GRID]> srvctl add listener -l ListenerK2 -p 1544 -k 2
[GRID]> srvctl config listener
Name: LISTENER
Network: 1, Owner: oracle
rac1
Name: LISTENERK2
ora.LISTENER.lsnr
ora.LISTENER.lsnr
Ora.LISTENERK2.lsnr
ora.LISTENERK2.lsnr
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
rac2
OS
Listeners
Remember its just another listener
1
rac2
LISTENER_SCAN1
LISTENER_SCAN2
...
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.rac1.vip
ora.rac2.vip
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
[GRID]> vi /u01/app/11.2.0/grid/network/admin/listener.ora
JUSTALISTENER=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=JUSTALISTENER))))
# line added by Agent
[GRID]> vi /u01/app/11.2.0/grid/network/admin/endpoints_listener.ora
JUSTALISTENER_RAC1=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1522))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.51)(PORT=1522)(IP=FIRST))))
30
rac1
OS
Listeners
Remember its just another listener
2
[GRID]> vi /u01/app/11.2.0/grid/network/admin/listener.ora
JUSTALISTENER=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(RATE_LIMIT=10) For demonstration purposes only
(KEY=JUSTALISTENER)))) # line added by Agent
...
[GRID]> srvctl stop listener -l JustAListener
rac2
LISTENER_SCAN1
LISTENER_SCAN2
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.rac1.vip
ora.rac2.vip
...
ora.LISTENER.lsnr
ora.LISTENER.lsnr
[GRID]> vi /u01/app/11.2.0/grid/network/admin/listener.ora
ora.net1.network
ora.net1.network
JUSTALISTENER=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(RATE_LIMIT=10)
(KEY=JUSTALISTENER)))) # line added by Agent
31
rac1
OS
SCAN
The basics and overview
In Oracle RAC 11g Release 2
SCAN Listeners were introduced
SCAN
http://www.oracle.com/technetwork/database/
clustering/overview/scan-129069.pdf
MOS Note 887522.1
11gR2 Grid Infrastructure Single Client
Access Name (SCAN) Explained
32
1.
SCAN IP
2.
rac2
rac1
rac3
LISTENER_SCAN1
LISTENER_SCAN2
LISTENER_SCAN3
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.SCAN3.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
ora.net1.network
OS
OS
SCAN
The SCAN bundle
1 3 SCANs are the default for HA and LB
SCAN
33
rac2
rac1
rac3
LISTENER_SCAN1
LISTENER_SCAN2
LISTENER_SCAN3
ora.SCAN1.VIP
ora.SCAN2.VIP
ora.SCAN3.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
ora.net1.network
OS
OS
SCAN
The SCAN bundle
2
rac2
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
-h
Print usage
http://www.oracle.com/technetwork/database/
clustering/overview/scan-129069.pdf page 2
34
SCAN
OS
SCAN
The SCAN bundle
3
-k <net_num>
SCAN
rac1
rac2
LISTENER_SCAN1
-S <subnet>/<netmask>/[if1[|if2...]]
NET address spec for network
ora.SCAN1.VIP
-h
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
Print usage
35
OS
SCAN
The SCAN FAQ
1 From MOS Note 220970.1
SCAN
rac1
rac2
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
OS
SCAN
The SCAN FAQ
2 Can you define another port? - YES
See MOS Note 220970.1
RAC: Frequently Asked Questions
37
SCAN
rac1
rac2
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
ora.net1.network
ora.net1.network
OS
38
SCAN
rac1
rac2
DB Instance
DB Instance
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
OS
rac1
rac2
DB Instance
DB Instance
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
Name: LISTENER2011
SCAN
OS
SCAN
rac1
rac2
DB Instance
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
40
DB Instance
OS
SCAN
rac1
rac2
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
41
DB Instance
OS
rac1
rac2
DB Instance
DB Instance
LISTENER_SCAN1
ora.SCAN1.VIP
ora.LISTENER.lsnr
ora.LISTENER.lsnr
Ora.LISTENERK2.lsnr
ora.LISTENERK2.lsnr
ora.net1.network
ora.net1.network
ora.net2.network
ora.net2.network
OS
43
SCAN
rac1
44
rac2
DB Instance
DB Instance
ora.Dbname.db
ora.Dbname.db
ora.Dbname.Srvcname.svc
ora.Dbname.Srvcname.svc
ora.LISTENER.lsnr
ora.LISTENER.lsnr
OS
SCAN
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
...
Preferred instances: ORCL_1
Available instances:
rac2
DB Instance
ora.ORCL.db
ora.ORCL.db
ora.ORCL.MyService.svc
ora.Dbname.Srvcname.svc
ora.LISTENER.lsnr
ora.LISTENER.lsnr
45
DB Instance
OS
46
SCAN
rac1
rac2
DB Instance
DB Instance
ora.ORCL.db
ora.Dbname.db
ora.ORCL.MyService.svc
ora.Dbname.Srvcname.svc
ora.LISTENER.lsnr
ora.LISTENER.lsnr
OS
47
48