This discussion is archived
5 Replies Latest reply: Dec 26, 2012 6:04 PM by onedbguru RSS

Oracle11g r2 Grid/RAC SCAN VIP failover

879152 Newbie
Currently Being Moderated
Dear Experts and Gurus

Our Platform: 2-Node ORACLE11G r2 RAC/GRID 11.2.0.1.0 ( hp-ux)


We have not available the DNS Server for used to SCAN feature of Oracle11g r2 GRID/RAC.

we have successfully deployed the the setup using scan-vip in /etc/host in our production site.

we want to used the Oracle11g r2 Grid/RAC

node1 instance_name dcpdb1 and node2 instance_name dcpdb2

plz find the default configurations of my setup.

cat /etc/hosts
#public
xxx.xxx.0.1 xyz-ch-aaadb-01
xxx.xxx.0.2 xyzl-ch-aaadb-02

#Virtual
xxx.xxx.0.3 xyz-ch-aaadb-01-vip
xxx.xxx.0.4 xyz-ch-aaadb-02-vip

#Private
10.10.0.1 xyz-ch-aaadb-01-priv
10.10.0.2 xyz-ch-aaadb-01-priv

#Scan
xxx.xxx.0.5 rac-scan

cat listener.ora
listener.ora in both the RAC nodes

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent

cat tnsnames.ora.
dcpdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dcpdb.abc.cm)
)
)

problem:
1. From client 11g r2 I can connect both instance by above tnsnames.ora.
for testing node failover:
when I reboot node1 connected session from node1 is not shifted to node2 ( node2 is up).
similarly when node2 is reboot node2 connected session is not shifted to surviving node node1. instead message show oracle not connected.

how to resolve this issue by using scan ip?
  • 1. Re: Oracle11g r2 Grid/RAC SCAN VIP failover
    854058 Newbie
    Currently Being Moderated
    Are your vips failing over to other node after shutting down one node?

    after reboot check the status of resources... (crsctl stat res -t)
  • 2. Re: Oracle11g r2 Grid/RAC SCAN VIP failover
    Maran Viswarayar Pro
    Currently Being Moderated
    You should not have the SCAN-VIPS configured in your /etc/host file


    whats the value of REMOTE_LISTENER param value
  • 3. Re: Oracle11g r2 Grid/RAC SCAN VIP failover
    onedbguru Pro
    Currently Being Moderated
    If you do not have DNS, how do you expect your client to find your scan IP address? that would require it to be in every client you expect to connect to the server. Now, the kicker, in my testing, it appears that you can do the install with /etc/hosts, but in real operation the mechanism used by scan uses gethostbyname - which is DNS only and does not look at /etc/hosts - regardless of your setting for resolv.conf. Not sure about how it works on HP-UX.

    if you do not properly configure your environment, you can expect a LOT of unexplained problems in the future.
  • 4. Re: Oracle11g r2 Grid/RAC SCAN VIP failover
    JaydeepNandy Newbie
    Currently Being Moderated
    What I understand is SCAN is not present in DNS, whereas it's a mandate for SCAN IPs (3 IPs registered against same DNS-entry, which get resolved in a round robin fashion when the DNS-entry is pinged). Believe me, you can play with local hostname resolution and escape pre-req checks on installer screens, or with environment variables (like IGNORE_PREADDNODE_CHECKS=Y) whenever you come across a DNS resolution failure - but, you will not find all the blessings of SCAN.
    You can always try avoiding the necessity of SCAN with "/etc/hosts" (or its Windows equivalent):

    #Scan
    xxx.xxx.0.5 rac-scan
    xxx.xxx.0.6 rac-scan
    xxx.xxx.0.7 rac-scan

    I would recommend you to reach out your network admin and get such SCAN setup done for you in DNS.

    In case you are getting an ORA-03113 with the failover, considering the non-availability of DNS entries for SCAN, there might be a need to configure TAF like we used to do earlier. That is...

    1. Add a service and start it:

    $ srvctl add service -d <db_unique_name> -s <service_name> \
    -r "<preferred_list>" [-a "<available_list>"] -P BASIC

    $ srvctl start service -d <DB_NAME> -s <SERVICE_NAME>


    2. And on TNS file...

    dcpdb =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xyz-ch-aaadb-01-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = xyz-ch-aaadb-02-vip)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = *<service_name>*)
    *(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)*)
    )
    )


    Thanks,
    Jaydeep
  • 5. Re: Oracle11g r2 Grid/RAC SCAN VIP failover
    onedbguru Pro
    Currently Being Moderated
    Jaydeep Nandy wrote:

    You can always try avoiding the necessity of SCAN with "/etc/hosts" (or its Windows equivalent):

    #Scan
    xxx.xxx.0.5 rac-scan
    xxx.xxx.0.6 rac-scan
    xxx.xxx.0.7 rac-scan
    Uhh... No!!! You cannot put multiple names in /etc/hosts that resolve to different IP addresses. This file is searched in a begin-to-end fashion and will ALWAYS resolve to the first IP address.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points