- 最后登录
- 2015-3-26
- 在线时间
- 148 小时
- 威望
- 84
- 金钱
- 1061
- 注册时间
- 2011-11-26
- 阅读权限
- 50
- 帖子
- 128
- 精华
- 0
- 积分
- 84
- UID
- 96
|
1#
发表于 2013-10-9 15:26:21
|
查看: 2998 |
回复: 4
希望刘大和热心的网友帮忙看下...谢谢!
环境:
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
[oracle@rac1 admin]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac1
ora....DB1.srv application ONLINE ONLINE rac2
ora....STAF.cs application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
[oracle@rac1 admin]$ olsnodes -n -i
rac1 1 rac1-vip
rac2 2 rac2-vip
[oracle@rac1 admin]$ srvctl config database
RACDB
[oracle@rac1 admin]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 rac1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
1.1.1.10 rac1
1.1.1.11 rac2
1.1.1.20 rac1-vip
1.1.1.21 rac2-vip
192.168.2.10 rac1-priv
192.168.2.11 rac2-priv
server端TAF配置过程:
srvctl add service -d RACDB -s STAF -r RACDB1 -a RACDB2 -P basic
srvctl enable service -d RACDB -s STAF
srvctl start service -d RACDB -s STAF
SQL>begin
dbms_service.modify_service (
service_name=>'STAF',
failover_method=>dbms_service.failover_method_basic,
failover_type=>dbms_service.failover_type_select,
failover_retries=>180,
failover_delay=>5
);
end;
/
PL/SQL procedure successfully completed.
SQL> set linesize 160
col name for a40
col failover_method for a40
col failover_type for a40
select name,failover_method,failover_type,goal,clb_goal from dba_services;SQL> SQL> SQL> SQL>
NAME FAILOVER_METHOD FAILOVER_TYPE GOAL CLB_G
---------------------------------------- ---------------------------------------- ---------------------------------------- ------------ -----
SYS$BACKGROUND NONE SHORT
SYS$USERS NONE SHORT
seeddataXDB LONG
seeddata LONG
RACDBXDB LONG
RACDB LONG
STAF BASIC SELECT NONE LONG
7 rows selected.
测试failover
服务器端的TAF tnsnames.ora里应该不需要特殊配置,甚至使用easy connect就可以,按照官方的说法我是这样理解的
在客户端 sqlplus test/test@1.1.1.21/racdb
C:\>sqlplus test/test@1.1.1.20/racdb
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 10月 9 15:19:52 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
RACDB1
实验目标:在连接到RACDB1的情况下,kill 掉test用户的进程,或者shutdown abort racdb1 在不重新连接的情况下出现如下结果:
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
RACDB2
实验结果:事与愿违,出现如下结果,不能切换到racdb2
SQL> select instance_name from v$instance;
ERROR:
ORA-03114: 未连接到 ORACLE
|
|