RAC中实现FAILOVER的方式有三种,
Client-Side_Failover
TAF
Server-Side_Failover
好嘛,关于Failover另开文章再说。
Oracle10g版本中ASM、Service都可以通过dbca管理(简直不要太方便)
11g中另开GI(Grid Infastructure)软件,管理ASM
Service通过srvctl指令创建和管理。(10g中也可以通过该指令创建和管理Service,但是没有11g中的完善)
############测试步骤如下###########
点击(此处)折叠或打开
- 1.创建一个service
- srvctl add service -d orcl -s s1 -r orcl1 -a orcl2 -e session -m basic -w 10 -z 50
- ---数据库名orcl,service名s1,优选实例orcl1,备选实例orcl2,模式为session,basic,遇到故障每隔10s重新连接,重试50次
- 2.启动service
- srvctl start service -d orcl -s s1
- 3.在实例中查看service
- select SERVICE_ID,NAME,FAILOVER_METHOD,FAILOVER_TYPE,FAILOVER_RETRIES,FAILOVER_DELAY from dba_services where name ='s1';
- SERVICE_ID NAME FAILOVER_METHOD FAILOVER_TYPE FAILOVER_RETRIES FAILOVER_DELAY
- ---------- ------ --------------- --------------- ---------------- --------------
-
- 3 s1 BASIC SESSION 50 10
- 4.查看监听
- lsnrctl stat
-
- LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 28-NOV-2015 15:33:31
- Copyright (c) 1991, 2011, Oracle. All rights reserved.
-
- Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
- STATUS of the LISTENER
- ------------------------
-
- Alias LISTENER
- Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- Start Date 28-NOV-2015 15:05:12
- Uptime 0 days 0 hr. 28 min. 18 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
- Listener Log File /u01/app/grid/diag/tnslsnr/rac1/listener/alert/log.xml
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.23.100)(PORT=1521)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.23.10)(PORT=1521)))
- Services Summary...
- Service "+ASM" has 1 instance(s).
- Instance "+ASM1", status READY, has 1 handler(s) for this service...
- Service "orcl" has 1 instance(s).
- Instance "orcl1", status READY, has 1 handler(s) for this service...
- Service "orclXDB" has 1 instance(s).
- Instance "orcl1", status READY, has 1 handler(s) for this service...
- Service "s1" has 1 instance(s). ##########service s1优选实例1##########
- Instance "orcl1", status READY, has 1 handler(s) for this service...
- The command completed successfully
- 5.两个节点参数查看
- ------节点1
-
- SQL> show parameter name
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
-
- db_file_name_convert string
- db_name string orcl
- db_unique_name string orcl
- global_names boolean FALSE
- instance_name string orcl1
- lock_name_space string
- log_file_name_convert string
- processor_group_name string
- service_names string s1
- ------节点2
-
- SQL> show parameter name
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
-
- db_file_name_convert string
- db_name string orcl
- db_unique_name string orcl
- global_names boolean FALSE
- instance_name string orcl2
- lock_name_space string
- log_file_name_convert string
- processor_group_name string
- service_names string orcl
- 6.tnsnames文件中对service的使用
- [oracle@rac2 admin]$ more tnsnames.ora
- # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1
- /network/admin/tnsnames.ora
- # Generated by Oracle configuration tools.
- ORCL_s =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = scan.example.com)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = s1)
- )
- )
- 7.failover测试
- [oracle@rac2 admin]$ sqlplus scott/oracle@orcl_s
- SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 28 15:38:48 2015
- Copyright (c) 1982, 2011, Oracle. All rights reserved.
-
- Connected to:
- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
- With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
- Data Mining and Real Application Testing options
- SQL> select instance_name from v$instance; ##########这里对scott授了dba权限##########
- INSTANCE_NAME
- ----------------
-
- orcl1
- SQL> select * from dba_objects;
- .........
- -----------select语句执行中-----------
-
- 在其他终端shutdown abort实例1
- SQL> shutdown abort;
- ORACLE instance shut down.
- -----------select语句执行中-----------
-
- .........
- ------------------------------
-
- 18-SEP-11 18-SEP-11 2011-09-18:17:39:06 VALID N N N 1
-
- ERROR:
- ORA-25401: can not continue fetches ##########因为参数设置为session而非select##########
-
- 12780 rows selected.
- SQL> select instance_name from v$instance;
-
INSTANCE_NAME
----------------
orcl2
成功failover到节点2。
另外需要注意:
SYSDBA Sessions Do Not Failover with SRVCTL TAF Configured。
不能使用SYSDBA
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29781254/viewspace-1854033/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29781254/viewspace-1854033/