TYPE: TAF supports three types of failover types
1.SESSION failover – If a user’s connection is lost, SESSION failover establishes a new session
automatically created for the user on the backup node. This type of failover does not attempt
to recover selects. This failover is ideal for OLTP (online transaction processing) systems,
where transactions are small.
2.SELECT failover ñ If the connection is lost, Oracle Net establishes a connection to another
node and re-executes the SELECT statements with cursor positioned on the row on which it was
positioned prior to the failover. This mode involves overhead on the client side and Oracle
NET keeps track of SELECT statements. This approach is best for data warehouse systems,
where the transactions are big and complex
3.NONE: This setting is the default and no failover functionality is provided. Use this setting to
prevent failover.
METHOD
BASIC: Use this mode to establish connections at failover time, no work on the backup server until failover time.
PRECONNECT: Use this mode to pre-established connections. This PRECONNECT mode provides faster failover
but requires that the backup instance be capable of supporting all connections from every supported instance.
RETRIES: Use this parameter to specify number of times to attempt to connect to attain a failover. If DELAY is
specified but RETRIES is not specified, RETRIES default to five retry attempts.
DELAY: Use this parameter to Specify the amount of time in seconds to wait between connect attempts. If RETRIES
is specified but DELAY is not specified, DELAY default to one second.
EXAMPLE:
Configure DNS Resolution on client side.
Insert DNS server location in the “/etc/resolv.conf” file.
[[email protected] ~]# cat /etc/resolv.conf
search example.com
nameserver 192.168.1.100
Verify
[[email protected] ~]# nslookup rac-cluster-scan
Server: 192.168.1.100
Address: 192.168.1.100#53
Name: rac-cluster-scan.example.com
Address: 192.168.1.152
Name: rac-cluster-scan.example.com
Address: 192.168.1.150
Name: rac-cluster-scan.example.com
Address: 192.168.1.151
Create tnsnames.ora file.
whenever a database is created using dbca, Sample tnsnames entry are created on each
node in the tnsnames.ora file.
Those entries can be used to configure client.
Sample Tns entry in case of BASIC connection.
DELL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-cluster-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dell.example.com)
(FAILOVER_MODE= (TYPE=select)(METHOD=basic)(RETRIES=10)(DELAY=5))
)
)
Connect on client
[[email protected] ~]# su – oracle
[[email protected] ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 23 21:21:22 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn scott/[email protected]
Connected.
Check on RAC cluster
SQL> select inst_id,sid,username,failover_type,failover_method,failed_over from gv$session where username=’SCOTT’;
INST_ID SID USERNAME FAILOVER_TYPE FAILOVER_M FAI
1 55 SCOTT SELECT BASIC NO
Sample Tns entry in case of Preconnect connection.
DATA1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-cluster-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dell.example.com)
(INSTANCE_NAME=dell1)
(FAILOVER_MODE= (BACKUP=DATA2)(TYPE=select)(METHOD=preconnect))
)
)
DATA2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-cluster-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dell.example.com)
(INSTANCE_NAME=dell2)
(FAILOVER_MODE= (BACKUP=DATA1)(TYPE=select)(METHOD=preconnect))
)
)
Connect from client side.
[[email protected] admin]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 23 22:12:46 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn scott/[email protected]
Connected.
Check on RAC cluster.
SQL> select inst_id,sid,username,failover_type,failover_method,failed_over from gv$session where username=’SCOTT’;
INST_ID SID USERNAME FAILOVER_TYPE FAILOVER_M FAI
1 53 SCOTT SELECT PRECONNECT NO
2 60 SCOTT NONE NONE NO