Re: RAC design question
Date: Wed, 17 Aug 2011 09:34:46 +0100
Message-ID: <4E4B7D26.8090306_at_the-playground.de>
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_at_rac11gr2drnode1 ~]$ srvctl stop service -d orcl -s oraclel [oracle_at_rac11gr2drnode1 ~]$ srvctl remove service -d orcl -s oraclel [oracle_at_rac11gr2drnode1 ~]$ srvctl add service -d orcl -s oraclel -rorcl1 -a orcl2
[oracle_at_rac11gr2drnode1 ~]$ srvctl start service -d orcl -s oraclel [oracle_at_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_at_rac11gr2drnode1 oracle-l]$ sqlplus martin_at_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_at_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_at_rac11gr2drnode1 ~]$ kill -9 17291 [oracle_at_rac11gr2drnode1 ~]$ ps -ef | grep smon_orcl oracle 14350 14144 0 09:24 pts/2 00:00:00 grep smon_orcl
[oracle_at_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_at_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-lReceived on Wed Aug 17 2011 - 03:34:46 CDT