SCAN Setup For Oracle 11g Release2 (11gR2) RAC Implementation
SCAN Setup For Oracle 11g Release2 (11gR2) RAC Implementation
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
Welcome to www.freeoraclehelp.com Got questions? Post comments Like the facebook page to get instant updates. Thank you!!!
Total Pageviews
314584
Get Email Updates
Follow @freeoraclehelp
HOME ORACLE DATABASE What is SCAN? 11gR2 RAC Installation 10gR2 RAC Installation 11gR2 RAC Upgrade 11gR2 RAC SCAN Setup Raw devices to ASMLib Tuning Oracle VM for RAC Kerberos Authentication Kerberos and EUS 1. What is SCAN in Oracle 11g R2 RAC? 2. How does SCAN work ? 3. How to setup DNS for Oracle 11g R2 SCAN? 4. How to setup GNS for Oracle 11g R2 SCAN?
FORUMS
ABOUT ME
DISCLAIMER
StumbleUpon
Single client access name (SCAN) is introduced in Oracle 11g R2 Cluster Ready Software(CRS) to simplify the database connection strings that an Oracle Client uses to connect to an Oracle Cluster Database. I have received a few emails about SCAN setup issues and I have promised that I would come up with an article addressing the following questions:
Subramanian
Arun
5. How to install Oracle 11g R2 RAC without SCAN Setup in DNS or GNS? ORACLE IDM OAM Overview OAM 11gR1 & Siteminder OAM 11gR1 Custom Form OAM 11gR1 EBS Integration OAM 11gR1 Kerberos WNA OAM 11gR1 WebGate 10g OAM 11gR1 Installation OAM 10g EBS Integration OAM 10g CA Siteminder OAM 10g WebGate 10g OAM 10g Installation OID 11gR1 Installation Oracle 10gAS Installation AD OID Integration(WNA) Enable SSL for OID Oracle Password Filter 6. How to move SCAN from DNS to /etc/hosts? 7. How to move SCAN from /etc/hosts to DNS? 8. How to rename SCAN in Cluster? 9. How to rename SCAN Port in Cluster?
Jean
Hossam
Vamsi
In 16 people's circles
FOLLOW BY EMAIL
Email address...
SUBSCRIBE Posts Comments ORACLE DATABASE BLOGS
ORACLE APPS OAM 11g w/ OSSO Agent OAM 11g Integration OAM 10g Integration SSO/OID Registration R12 (12.1.1) Installation 11i (11.5.10.2) Installation
) )
(SERVICE_NAME = oid.freeoraclehelp.com)
Oracle Scratchpad
Copyright (c) 1997, 2010, Oracle. All rights reserved.
FUSION MIDDLEWARE
Used parameter files:
Kevin Closson's Blog: Platforms, Databases and Storage The Tom Kyte Blog
RCU for FM Installations OHS 11g Installation OHS: Apache version WebLogic Installation
Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.freeoraclehelp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.freeoraclehelp.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oid.freeoraclehelp.com))) OK (10 msec)
Mike Ault's Blog Oakie articles, books, publications The Arup Nanda Blog
CATEGORIES Oracle SSO OID (29) Fusion Middleware (15) OAM (15) Oracle 10gAS (13) Oracle Apps (8) Oracle 11gR2 RAC (7) Active Directory (6) ASM (5) Kerberos WNA (5) Oracle 10gR2 RAC (5) Siteminder (5) iPlanet (4) Oracle Database (2) WebLogic (2) Oracle VM (1) RECENT COMMENTS Michael, No, WebLogic 10.3.5 does not require a m... - Raj Mareddi Hi Raj Thanks for the article. Well documented. ... - Anonymous Mike, Only DES_CBC_CRC, DES_CBC_MD5 Kerberos encr... - Raj Mareddi Siva, If this is just clone, and if your target s... - Raj Mareddi Dera Raj, I need to migrate )
Oracle E-Business Suite Technology Oracle Apps Blog Oracle Apps Technology Oracle Apps Fusion Training Home
ORACLE IDM BLOGS
Enter password:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
SQL>
As you see above, we got to list all the addresses of all DB nodes. If the cluster has got more than cluster nodes, we got to list each and every node out here. This need to be updated when a new node is added or existing node is removed. OIDDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.freeoraclehelp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip.freeoraclehelp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac3-vip.freeoraclehelp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac4-vip.freeoraclehelp.com)(PORT = 1521)) .... .... (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oid.freeoraclehelp.com) )
Oracle Fusion Middleware Security Identigral, Inc. Independent Identity Kim Cameron's Identity Weblog Oracle Access Management Oracle Access Manager (OAM) Nitty-Gritty Olaf Heimburger's Blog Indira's blog
ORACLE MIDDLEWARE BLOGS
This is big problem when the cluster has many nodes and end user application makes connections to the databases. SCAN would help us easily manage the DB Connection strings in Client tnsnames.ora files. Here is how a SCAN entry would appear:
1 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
[oid1@rac1 admin]$cat tnsnames.ora OIDDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = scan.freeoraclehelp.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oid.freeoraclehelp.com) ) )
TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 15-DEC-2011 14:37:16
Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = scan.freeoraclehelp.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oid.freeoraclehelp.com))) OK (0 msec) [oid1@rac1 admin]$ [oid1@rac1 admin]$sqlplus system@OIDDB
Enter password:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
SQL>
So, you would see only one SCAN ADDRESS in tnsnames.ora files no matter how many nodes in the cluster are. (ADDRESS = (PROTOCOL = TCP)(HOST = scan.freeoraclehelp.com)(PORT = 1521))
2 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.20")}, 28) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.1.24")}, 16) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.1.25")}, 16) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.1.23")}, 16) = 0 connect(9, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("192.168.1.25")}, 16) = -1 EINPROGRESS (Operation now in progress) connect(9, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("192.168.1.11")}, 16) = -1 EINPROGRESS (Operation now in progress)
192.168.1.25 is one of the SCAN IPs and 192.168.1.11 is the VIP of the first RAC node.
[oid1@rac1 ~]$ nslookup 192.168.1.11 Server: Address: 192.168.1.20 192.168.1.20#53
11.1.168.192.in-addr.arpa
name = rac1-vip.freeoraclehelp.com.
25.1.168.192.in-addr.arpa
name = scan.freeoraclehelp.com.
Name: scan.freeoraclehelp.com Address: 192.168.1.25 Name: scan.freeoraclehelp.com Address: 192.168.1.23 Name: scan.freeoraclehelp.com Address: 192.168.1.24
[oid1@rac1 ~]$
So, SCAN needs to resolve to one to three IP addresses with the same name. Oracle recommends using three IP Addresses for SCAN in DNS. There would be three SCAN listeners only, though the cluster has got dozens of nodes. SCAN listeners would be started from GRID Oracle Home, not the database/rdbms home. Since its part of a grid, this can be used for all the database in the cluster. So, we don't to run netca to create listeners in DB Homes anymore. If the default port, 1521, is used, Oracle instances (PMON) automatically registers with the SCAN listener. Here is a quick look at Oracle documentation's load balancing flow with SCAN:
1. PMON process of each instance registers the database services with the default listener on the local node and with each SCAN listener, which is specified by the REMOTE_LISTENER database parameter. 2. Oracle client connects using SCAN name: myscan:1521/sales.example.com 3. Client queries DNS to resolve scan_name. 4. SCAN listener selects least loaded node (node in this example) 5. The client connects to the local listener on node2. The local listener starts a dedicated server process for the connection to the database. 6. The client connects directly to the dedicated server process on node2 and accesses the sales2 database instance.
SQL> show parameter local_listener
NAME
TYPE
VALUE ---------
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.1.11)(PORT=1521))))
NAME
TYPE
VALUE ---------
scan.freeoraclehelp.com:1521
3 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
After the installation, two SCAN listeners would be started on one node and another SCAN listener on another node in a two node cluster.
[grid@rac1 ~]$srvctl config scan SCAN name: scan.freeoraclehelp.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /scan.freeoraclehelp.com/192.168.1.25 SCAN VIP name: scan2, IP: /scan.freeoraclehelp.com/192.168.1.23 SCAN VIP name: scan3, IP: /scan.freeoraclehelp.com/192.168.1.24 [grid@rac1 ~]$srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521 [grid@rac1 ~]$crsctl stat res -w "TYPE = ora.scan_listener.type" NAME=ora.LISTENER_SCAN1.lsnr TYPE=ora.scan_listener.type TARGET=ONLINE STATE=ONLINE on rac1
[grid@rac1 ~]$
[grid@rac1 ~]$ps -ef|grep tnsl oracle oracle 6873 6892 1 0 13:11 ? 1 0 13:11 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit
[grid@rac1 ~]$
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN1 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 13:11:15 0 days 2 hr. 2 min. 33 sec off ON: Local OS Authentication OFF
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.25)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac1 ~]$
[grid@rac2 ~]$ps -ef|grep tnsl oracle oracle oracle oracle 5830 5833 5836 1 0 12:38 ? 1 0 12:38 ? 1 0 12:38 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN3 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN2 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit 00:00:00 grep tnsl
[grid@rac2 ~]$
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN2 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 12:38:45 0 days 2 hr. 35 min. 19 sec off ON: Local OS Authentication OFF
4 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN2))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.23)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac2 ~]$lsnrctl status LISTENER_SCAN3
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN3 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 12:38:45 0 days 2 hr. 35 min. 21 sec off ON: Local OS Authentication OFF
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN3))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.24)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac2 ~]$
Name: scan.freeoraclehelp.com Address: 192.168.1.25 Name: scan.freeoraclehelp.com Address: 192.168.1.23 Name: scan.freeoraclehelp.com Address: 192.168.1.24
[oid1@rac1 ~]$
Once subdomain is complete, lookups for the subdomain names from the main domain would be forwarded to GNS Services. You would be entering the subdomain name and GNS VIP during the Grid Infrastructure installation.
5 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
Oracle 11gR2 RAC Installation with GNS, without SCAN explains the Oracle 11g R2 RAC installation with GNS.
How to install Oracle 11g R2 RAC without SCAN Setup in DNS or GNS?
This is mostly suited in three tier web environments where end users would not connect to the database directly and Application Servers can use Local listener Connections (10g like connections over VIPs). So, you would not see much benefits using SCAN here. Whatever may be your reasons, if youd like to use SCAN from hosts file (no DNS changes or No GNS Setup), here is how to do that. If you would like to Install Oracle 11g R2 RAC without SCAN setup in DNS, you would need to create an entry in /etc/hosts for the scan name to point to a different IP address (other than Public IP, Private IP, and VIP addresses) and supply this name for SCAN Prompts during the installation. Make sure that you pick the new IP address in the same subnet as that of VIP addresses and that it is not currently in use.
[root@rac1 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 # Public 192.168.1.10 rac1.freeoraclehelp.com 192.168.1.20 rac2.freeoraclehelp.com #Private 192.168.2.10 rac1-priv.freeoraclehelp.com rac1-priv 192.168.2.20 rac2-priv.freeoraclehelp.com rac2-priv #Virtual 192.168.1.11 rac1-vip.freeoraclehelp.com rac1-vip 192.168.1.22 rac2-vip.freeoraclehelp.com rac2-vip #SCAN Entry 192.168.1.25 scan.freeoraclehelp.com scan [root@rac1 ~]# rac1 rac2 localhost.localdomain localhost
This would let you proceed with the installation, however would hit the following error in Cluster Verify Utility, which runs after the installation is complete. Of course, you can ignore this error safely if youre using SCAN entry from hosts file.
INFO: PRVF-4664 : Found inconsistent name resolution entries for SCAN name "scan.freeoraclehelp.com" INFO: ERROR: INFO: PRVF-4657 : Name resolution setup check for "scanclunm" (IP address: 192.168.1.25) failed INFO: ERROR: INFO: PRVF-4664 : Found inconsistent name resolution entries for SCAN name "scan.freeoraclehelp.com"
6 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
[grid@rac1 ~]$srvctl stop scan_listener [grid@rac1 ~]$srvctl stop scan [grid@rac1 ~]$ps -ef|grep tnsl oracle oracle 6892 6940 1 0 13:11 ? 1 0 13:11 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit 00:00:00 /oracle/product/10.2.0/rdbms/bin/tnslsnr OID_RAC1 -inherit
[grid@rac1 ~]$
Name: scan.freeoraclehelp.com Address: 192.168.1.25 Name: scan.freeoraclehelp.com Address: 192.168.1.23 Name: scan.freeoraclehelp.com Address: 192.168.1.24
#nameserver 192.168.1.20 # Second RAC Node nameserver 192.168.1.1 # Primary DNS in the domain search freeoraclehelp.com # Local Domain
#nameserver 192.168.1.20 # Second RAC Node nameserver 192.168.1.1 # Primary DNS in the domain search freeoraclehelp.com # Local Domain
[root@rac2 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 # Public 192.168.1.10 rac1.freeoraclehelp.com 192.168.1.20 rac2.freeoraclehelp.com #Private 192.168.2.10 rac1-priv.freeoraclehelp.com rac1-priv 192.168.2.20 rac2-priv.freeoraclehelp.com rac2-priv #Virtual 192.168.1.11 rac1-vip.freeoraclehelp.com rac1-vip 192.168.1.22 rac2-vip.freeoraclehelp.com rac2-vip #SCAN Entry 192.168.1.25 scan.freeoraclehelp.com scan [root@rac2 ~]# rac1 rac2 localhost.localdomain localhost
[root@rac1 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 # Public 192.168.1.10 rac1.freeoraclehelp.com 192.168.1.20 rac2.freeoraclehelp.com #Private 192.168.2.10 rac1-priv.freeoraclehelp.com rac1-priv 192.168.2.20 rac2-priv.freeoraclehelp.com rac2-priv #Virtual 192.168.1.11 rac1-vip.freeoraclehelp.com rac1-vip 192.168.1.22 rac2-vip.freeoraclehelp.com rac2-vip #SCAN Entry 192.168.1.25 scan.freeoraclehelp.com scan [root@rac1 ~]# rac1 rac2 localhost.localdomain localhost
[root@rac1 ~]# ping scan.freeoraclehelp.com PING scan.freeoraclehelp.com (192.168.1.25) 56(84) bytes of data. From rac1.freeoraclehelp.com (192.168.1.10) icmp_seq=0 Destination Host Unreachable From rac1.freeoraclehelp.com (192.168.1.10) icmp_seq=1 Destination Host Unreachable From rac1.freeoraclehelp.com (192.168.1.10) icmp_seq=2 Destination Host Unreachable
--- scan.freeoraclehelp.com ping statistics --4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3027ms , pipe 4 [root@rac1 ~]#
7 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
[root@rac2 ~]# ping scan.freeoraclehelp.com PING scan.freeoraclehelp.com (192.168.1.25) 56(84) bytes of data. From rac2.freeoraclehelp.com (192.168.1.20) icmp_seq=0 Destination Host Unreachable From rac2.freeoraclehelp.com (192.168.1.20) icmp_seq=1 Destination Host Unreachable From rac2.freeoraclehelp.com (192.168.1.20) icmp_seq=2 Destination Host Unreachable
--- scan.freeoraclehelp.com ping statistics --11 packets transmitted, 0 received, +9 errors, 100% packet loss, time 10071ms , pipe 4 [root@rac2 ~]#
3. Configure the Cluster to take the new VIPs As root user on one of the cluster nodes (not needed on both the nodes):
[root@rac1 ~]# /oracle/product/11.2.0/11.2.0/grid/bin/srvctl modify scan -n scan.freeoraclehelp.com
As grid user on one of the cluster nodes (not needed on both the nodes):
[grid@rac1 ~]$ srvctl modify scan_listener -u [grid@rac1 ~]$ srvctl start scan_listener
[grid@rac1 ~]$
[grid@rac2 ~]$ps -ef|grep tnsl oracle oracle oracle 9014 9451 1 0 15:52 ? 1 0 16:10 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit 00:00:00 grep tnsl
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN1 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 16:10:14 0 days 0 hr. 0 min. 25 sec off ON: Local OS Authentication OFF
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.25)(PORT=1521))) The listener supports no services The command completed successfully [grid@rac2 ~]$
[grid@rac1 ~]$srvctl config scan SCAN name: scan.freeoraclehelp.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /scan.freeoraclehelp.com/192.168.1.25 [grid@rac1 ~]$srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 [grid@rac1 ~]$
2. Remove/comment the entry in /etc/hosts file for SCAN and setup a DNS name with multiple A (three A records), if it is not already setup. I have the SCAN setup in a DNS server that runs on the second cluster node. I just have to use it (in resolv.conf). For more information about DNS Setup, refer to How to setup DNS for Oracle 11g R2 SCAN?
[root@rac1 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 # Public 192.168.1.10 rac1.freeoraclehelp.com 192.168.1.20 rac2.freeoraclehelp.com #Private 192.168.2.10 rac1-priv.freeoraclehelp.com rac1-priv 192.168.2.20 rac2-priv.freeoraclehelp.com rac2-priv rac1 rac2 localhost.localdomain localhost
8 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
#Virtual 192.168.1.11 rac1-vip.freeoraclehelp.com rac1-vip 192.168.1.22 rac2-vip.freeoraclehelp.com rac2-vip #SCAN Entry #192.168.1.25 scan.freeoraclehelp.com scan [root@rac1 ~]#
[root@rac2 ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 # Public 192.168.1.10 rac1.freeoraclehelp.com 192.168.1.20 rac2.freeoraclehelp.com #Private 192.168.2.10 rac1-priv.freeoraclehelp.com rac1-priv 192.168.2.20 rac2-priv.freeoraclehelp.com rac2-priv #Virtual 192.168.1.11 rac1-vip.freeoraclehelp.com rac1-vip 192.168.1.22 rac2-vip.freeoraclehelp.com rac2-vip #SCAN Entry #192.168.1.25 scan.freeoraclehelp.com scan [root@rac2 ~]# rac1 rac2 localhost.localdomain localhost
nameserver 192.168.1.20 # Second RAC Node nameserver 192.168.1.1 # Primary DNS in the domain search freeoraclehelp.com # Local Domain
nameserver 192.168.1.20 # Second RAC Node nameserver 192.168.1.1 # Primary DNS in the domain search freeoraclehelp.com # Local Domain
Name: scan.freeoraclehelp.com Address: 192.168.1.25 Name: scan.freeoraclehelp.com Address: 192.168.1.23 Name: scan.freeoraclehelp.com Address: 192.168.1.24
3. Configure the Cluster to take the new VIPs As root user on one of the cluster nodes (not needed on both the nodes):
[root@rac1 ~]# /oracle/product/11.2.0/11.2.0/grid/bin/srvctl modify scan -n scan.freeoraclehelp.com
As grid user on one of the cluster nodes (not needed on both the nodes):
[grid@rac1 ~]$ srvctl modify scan_listener -u [grid@rac1 ~]$ srvctl start scan_listener
Verify that configuration is right and three SCAN listeners are started.
[grid@rac1 ~]$srvctl config scan SCAN name: scan.freeoraclehelp.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /scan.freeoraclehelp.com/192.168.1.25 SCAN VIP name: scan2, IP: /scan.freeoraclehelp.com/192.168.1.23 SCAN VIP name: scan3, IP: /scan.freeoraclehelp.com/192.168.1.24 [grid@rac1 ~]$srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521 [grid@rac1 ~]$ps -ef|grep tnsl oracle oracle 6873 6892 1 0 13:11 ? 1 0 13:11 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit
[grid@rac1 ~]$
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN1 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 13:11:15 0 days 2 hr. 2 min. 33 sec off ON: Local OS Authentication OFF
9 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.25)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac1 ~]$
[grid@rac2 ~]$ ps -ef|grep tnsl oracle oracle oracle oracle 5830 5833 5836 1 0 12:38 ? 1 0 12:38 ? 1 0 12:38 ? 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN3 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER_SCAN2 -inherit 00:00:00 /oracle/product/11.2.0/11.2.0/grid/bin/tnslsnr LISTENER -inherit 00:00:00 grep tnsl
[grid@rac2 ~]$
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN2 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 12:38:45 0 days 2 hr. 35 min. 19 sec off ON: Local OS Authentication OFF
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN2))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.23)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac2 ~]$ lsnrctl status LISTENER_SCAN3
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3))) STATUS of the LISTENER -----------------------Alias Version Start Date Uptime Trace Level Security SNMP LISTENER_SCAN3 TNSLSNR for Linux: Version 11.2.0.2.0 - Production 15-DEC-2011 12:38:45 0 days 2 hr. 35 min. 21 sec off ON: Local OS Authentication OFF
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN3))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.24)(PORT=1521))) Services Summary... Service "oid.freeoraclehelp.com" has 2 instance(s). Instance "oid1", status READY, has 1 handler(s) for this service... Instance "oid2", status READY, has 1 handler(s) for this service... The command completed successfully [grid@rac2 ~]$
2. Configure the new SCAN in your DNS, or /etc/hosts, or GNS and make sure that lookups are working for the new name.
[root@rac2 ~]# nslookup newscan.freeoraclehelp.com Server: Address: 192.168.1.20 192.168.1.20#53
Name: newscan.freeoraclehelp.com
10 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
Address: 192.168.1.32 Name: newscan.freeoraclehelp.com Address: 192.168.1.33 Name: newscan.freeoraclehelp.com Address: 192.168.1.34 [root@rac2 ~]#
3. Configure the Cluster to take the new VIPs As root user on one of the cluster nodes (not needed on both the nodes):
[root@rac1 ~]# /oracle/product/11.2.0/11.2.0/grid/bin/srvctl modify scan -n newscan.freeoraclehelp.com [root@rac1 ~]#
As grid user on one of the cluster nodes (not needed on both the nodes):
[grid@rac1 ~]$ srvctl modify scan_listener -u [grid@rac1 ~]$ srvctl start scan_listener
Verify that configuration is right and three SCAN listeners are started.
[grid@rac1 ~]$ srvctl config scan SCAN name: newscan.freeoraclehelp.com, Network: 1/192.168.1.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /newscan.freeoraclehelp.com/192.168.1.34 SCAN VIP name: scan2, IP: /newscan.freeoraclehelp.com/192.168.1.33 SCAN VIP name: scan3, IP: /newscan.freeoraclehelp.com/192.168.1.32 [grid@rac1 ~]$ srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521 SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521 [grid@rac1 ~]$
Related Posts
Oracle 11gR2 RAC Oracle 11gR2 RAC Installation with GNS, without SCAN Tuning Oracle VM for Oracle 10g / 11g RAC Oracle 11gR2 RAC Upgrade from 10gR2 RAC on Linux Convert RAW Devices to ASMLib, Move OCR, Voting to ASM Disk Groups Oracle 10g RAC Installation on Linux guests of Oracle VM / XEN Setup DNS for SCAN in Oracle 11g R2 RAC Implementation
4 Comments: Monowar M said... Hi Raj, Thanks for your article. nslookup is fine from both nodes. [root@rac1 ~]# nslookup rac-scan.localdomain Server: 192.168.2.102 Address: 192.168.2.102#53 Name: rac-scan.localdomain Address: 192.168.2.25 Name: rac-scan.localdomain Address: 192.168.2.23 Name: rac-scan.localdomain Address: 192.168.2.24 But ping for above IP address is not working. Again I can'u use 192.168.2.102 as this is 2nd node virtual IP. I see all your installation you used separate DNS server IP [192.168.1.31]. Please let me know if there any way to use above scan DNS IP address. I have no separate DNS server. Regards
11 de 12
18/05/2012 11:52
http://www.freeoraclehelp.com/2011/12/scan-setup-for-oracle-11g-rele...
Monowar D ec em b e r 2 7 , 2 0 1 1 6 :2 7 AM
Raj Mareddi said... Monowar, Yes, we cannot ping them until cluster is installed and started.. basically Oracle Cluster (Grid) uses these IPs to start SCAN listeners on. I think you're confused between DNS and GNS. If you're going to use GNS, Oracle Cluster starts a DHCP and DNS Server for you and you do not need to setup the SCAN in DNS at all. If you have DNS server in your network, you do not need to select the GNS (unlike the one in above screenshot). I see that you have setup DNS record for SCAN. You just need to supply this SCAN info and not select "Configure GNS" during the installation. Refer to the following two grid installations.. first one is without GNS (with DNS.. just like your case) and second one is with GNS (and without DNS Setup for SCAN): Oracle 11gR2 RAC Upgrade from 10gR2 RAC on Linux Oracle 11gR2 RAC Installation with GNS, without SCAN Cheers, Raj Mareddi D ec em b e r 2 7 , 2 0 1 1 1 0 :0 6 AM
Venkat said... Really very good article.Please keep it up and publish more. M ay 1 , 2 0 1 2 1 2 :3 1 P M Post a Comment
Comment as:
12 de 12
18/05/2012 11:52