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博客 ” ,链接:https://blog.itpub.net/29781254/viewspace-1854033/
,如需转载,请注明出处,否则将追究法律责任。