一、修改用戶端伺服器hosts記錄
192.168.1.240 rac01192.168.1.241 rac02192.168.1.242 rac01-vip192.168.1.243 rac02-vip108.88.3.240 rac01-priv108.88.3.241 rac02-priv
二、建立一條Tnsname 紀錄編輯用戶端:tnsnames.ora 檔案,增加如下:
RACDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac02-vip)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac01-vip)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = racdb) (FAILOVER_MODE= (TYPE = session) (METHOD = basic) (RETRIES = 180) (DELAY = 5) ) ) )
三、測試RAC Failover 1、RAC狀態[Oracle@rac01 ~]$ crs_stat -tName Type Target State Host ------------------------------------------------------------ora....SM1.asm application ONLINE ONLINE rac01 ora....01.lsnr application ONLINE ONLINE rac01 ora.rac01.gsd application ONLINE ONLINE rac01 ora.rac01.ons application ONLINE ONLINE rac01 ora.rac01.vip application ONLINE ONLINE rac01 ora....SM2.asm application ONLINE ONLINE rac02 ora....02.lsnr application ONLINE ONLINE rac02 ora.rac02.gsd application ONLINE ONLINE rac02 ora.rac02.ons application ONLINE ONLINE rac02 ora.rac02.vip application ONLINE ONLINE rac02 ora.racdb.db application ONLINE ONLINE rac01 ora....b1.inst application ONLINE ONLINE rac01 ora....b2.inst application ONLINE ONLINE rac02 [oracle@rac01 ~]$
2、用戶端串連測試
[oracle@rac01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Jul 16 21:59:20 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn system/oracle@racdbConnected.SQL> select instance_name from v$instance;
INSTANCE_NAME--------------------------------racdb1
SQL>
3、關閉節點racdb1執行個體
[oracle@rac01 ~]$ sqlplus '/ as sysdba';SQL*Plus: Release 11.1.0.6.0 - Production on Mon Jul 16 22:00:17 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing options
SQL> shutdown abortORACLE instance shut down.SQL>
4、在原來用戶端的會話上執行連妝測試,
SQL> conn system/oracle@racdbConnected.SQL> select instance_name from v$instance;
INSTANCE_NAME--------------------------------racdb1
SQL> /select instance_name from v$instance*ERROR at line 1:ORA-25408: can not safely replay call
SQL> /
INSTANCE_NAME--------------------------------racdb2
SQL>
結論:在RAC環境中,同一會話,當前會話串連節點執行個體故障,可以快速的切替的另一節中運行,對用戶端的是完全透明的。