Re: RAC design question
- From: Martin Bach <development@xxxxxxxxxxxxxxxxx>
- To: D'Hooge Freek <Freek.DHooge@xxxxxxxxx>
- Date: Wed, 17 Aug 2011 09:34:46 +0100
Hi Freek,
you are right-TAF can work if you don't shut the instance down via
srvctl. I have tested this quickly, the environment is the same as before.
[oracle@rac11gr2drnode1 ~]$ srvctl stop service -d orcl -s oraclel
[oracle@rac11gr2drnode1 ~]$ srvctl remove service -d orcl -s oraclel
[oracle@rac11gr2drnode1 ~]$ srvctl add service -d orcl -s oraclel -r
orcl1 -a orcl2
[oracle@rac11gr2drnode1 ~]$ srvctl start service -d orcl -s oraclel
[oracle@rac11gr2drnode1 ~]$ srvctl config service -d orcl -s oraclel
Service name: oraclel
Service is enabled
Server pool: orcl_oraclel
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Edition:
Preferred instances: orcl1
Available instances: orcl2
[oracle@rac11gr2drnode1 oracle-l]$ sqlplus martin@oraclel
SQL*Plus: Release 11.2.0.2.0 Production on Wed Aug 17 09:21:43 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage
Management, OLAP,
Data Mining and Real Application Testing options
SQL> select inst_id,sid,serial#,FAILOVER_TYPE, failover_method, failed_over
2 from gv$session where sid=(select distinct sid from v$mystat)
3 and inst_id = sys_context('userenv','instance');
INST_ID SID SERIAL# FAILOVER_TYPE FAILOVER_M FAI
---------- ---------- ---------- ------------- ---------- ---
1 157 10015 SESSION BASIC NO
Killed the instance:
[oracle@rac11gr2drnode1 ~]$ ps -ef | grep smon_orcl
oracle 14311 14144 0 09:23 pts/2 00:00:00 grep smon_orcl
oracle 17291 1 0 Aug16 ? 00:00:04 ora_smon_orcl1
[oracle@rac11gr2drnode1 ~]$ kill -9 17291
[oracle@rac11gr2drnode1 ~]$ ps -ef | grep smon_orcl
oracle 14350 14144 0 09:24 pts/2 00:00:00 grep smon_orcl
[oracle@rac11gr2drnode1 ~]$ srvctl status database -d orcl
Instance orcl1 is not running on node rac11gr2drnode1
Instance orcl2 is running on node rac11gr2drnode3
Instance orcl3 is running on node rac11gr2drnode4
[oracle@rac11gr2drnode1 ~]$
In the same session as before:
SQL> /
select inst_id,sid,serial#,FAILOVER_TYPE, failover_method, failed_over
*
ERROR at line 1:
ORA-25408: can not safely replay call
SQL> /
INST_ID SID SERIAL# FAILOVER_TYPE FAILOVER_M FAI
---------- ---------- ---------- ------------- ---------- ---
2 153 15 SESSION BASIC YES
And it worked, nice.
Martin
On 17/08/2011 09:09, D'Hooge Freek wrote:
Martin,
There is an error in your post.
When shutting down an oracle instance using srvctl, the session will no longer
failover in 11.2 but instead will be stopped (unless you use the -f flag).
See the update on the end of the following blog post:
https://freekdhooge.wordpress.com/2011/08/11/rac-investigations-part-i/
Normally your (select) session will correctly failover with a preferred /
available config and TAF.
I hope to be able to create a test case this afternoon.
Regards,
Freek D'Hooge
Uptime
--
http://www.freelists.org/webpage/oracle-l
Other related posts: