Oracle RAC Failover 详解Word下载.docx
- 文档编号:15929133
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:12
- 大小:20.11KB
Oracle RAC Failover 详解Word下载.docx
《Oracle RAC Failover 详解Word下载.docx》由会员分享,可在线阅读,更多相关《Oracle RAC Failover 详解Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
一旦连接建立之后,节点出现故障都不会做处理,从客户端的表现就是会话断开了,用户程序必须重新建立连接。
启用这种Failover的方法就是在客户端的tnsnames.ora中添加FAILOVER=ON条目,这个参数默认就是ON,所以即使不添加这个条目,客户端也会获得这种Failover能力。
示例:
RAC=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))
(LOAD_BALANCE=YES)
(
CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=RAC)
)
注:
rac1-vip,rac2-vip要添加到hosts文件中,不然可能解析不了。
二.TAF(TransparentApplicationFailover)
现在的大部分流行的应用系统(如:
weblogic,Jboss),都是启动时就建立若干到数据库的长连接,在应用程序整个生命周期内重用这些连接。
而Client-SideConnetTimeFailover的工作方式是它对应用程序的可用性没有太大帮助。
所以从Oracle8.1.5版本只有引入了新的Failover机制—TAF。
所谓TAF,就是连接建立以后,应用系统运行过程中,如果某个实例发生故障,连接到这个实例上的用户会被自动迁移到其他的健康实例上。
对于应用程序而言,这个迁移过程是透明的,不需要用户的介入,当然,这种透明要是有引导的,因为用户的未提交事务会回滚。
相对与Client-SideConnectTimeFailover的用户程序中断,抛出连接错误,用户必须重启应用程序,TAF这种方式在提高HA上有了很大的进步。
TAF的配置也很简单,只需要在客户端的tnsnames.ora中添加FAILOVER_MODE配置项。
这个条目有4个子项目需要定义。
1.METHOD:
用户定义何时创建到其实例的连接,有BASIC和PRECONNECT两种可选值。
BASIC:
是指在感知到节点故障时才创建到其他实例的连接。
PRECONNECT:
是在最初建立连接时就同时建立到所有实例的连接,当发生故障时,立刻就可以切换到其他链路上。
两种方法比较:
BASIC方式在Failover时会有时间延迟,PRECONNECT方式虽然没有时间延迟,但是建立多个冗余连接会消耗更多资源,两者就是是用时间换资源和用资源换时间的区别。
2.TYPE:
用于定义发生故障时对完成的SQL语句如何处理,其中有2种类型:
session和select.
这2种方式对于未提交的事务都会自动回滚,区别在于对select语句的处理,对于select,用户正在执行的select语句会被转移到新的实例上,在新的节点上继续返回后续结果集,而已经返回的记录集则抛弃。
假设用户正在节点1上执行查询,整个结果集共有100条记录,现在已从节点1上返回10条记录,这时节点1宕机,用户连接被转移到节点2上,如果是session模式,则需要重新执行查询语句;
如果是select方式,会从节点2上继续返回剩下的90天记录,而已经从节点1返回的10条记录不会重复返回给用户,对于用户而言,感受不到这种切换。
显然为了实现select方式,Oracle必须为每个session保存更多的内容,包括游标,用户上下文等,需要更多的资源也是用资源换时间的方案。
3.DELAY和RETRIES:
这2个参数分别代表重试间隔时间和重试次数。
FAILOVER_MODE=
(TYPE=session)
(METHOD=basic)
(RETRIES=180)
(DELAY=5)
三.Service-SideTAF
Service-SideTAF可以看作是TAF的一种变种,首先Service-SideTAF也是TAF,所有TAF的特点它都有,其次这种TAF是在服务器上配置的,而不像TAF是在客户端配置的。
Client-SideTAF是在客户端修改tnsnames.ora文件来配置的,如果有很多客户端使用这个数据库,那么每次微小调整都需要把所有的计算机更改一遍,既低效又容易出错。
而Service-SideTAF通过结合Service,在数据库里保存FAIL_MODE的配置,把所有的TAF配置保存在数据字典中,从而省去了客户端的配置工作,现在客户端的TNS文件就不需要任何TAF的配置选项了。
从配置参数而言,Service-SideTAF和TAF相比多了一个InstanceRole(实例角色)的概念。
所谓的实例角色,就是当有多个Instance参与一个Service时,可以配置优先使用哪一个Instance为用户提供服务。
用户共有两种可选角色。
PREFERRED:
首选实例,会优先选择拥有这个角色的实例提供服务。
AVAILABLE:
后备实例,用户连接会优先连接PREFFERRED的Instance,当PREFERRED的Instance不可用时,才会被转到AVAILBALE的Instance上。
要使用Server-SideTAF必须配置Service。
Service可以在创建数据库时创建,也可以在创建数据库之后修改,既可以使用dbca配置向导,也可以用命令行的方式配置。
3.1用DBCA配置Service
1).运行DBCA,选择ORACLERACApplicationClustersdatabase
2).在第二个界面选择:
ServicesManagement
3).第三个界面会出现RAC数据库列表,用户可以在这个列表中选择要配置Service的数据库
4).在Serice配置界面中,单击Add创建新的Service,输入service名字。
在Instance列表框定义实例角色,选择那个service1作为Preferred(首选实例),Service2作为availiable(后备实例)。
TAFPolicy有三个选项:
None,Basic,Pre-connect。
我们选Basic。
最后点击Finish,完成Service配置。
5)在结束Service配置后,服务会自动启动。
3.2用srvctl命令配置Service
用命令行方式配置Service对远程维护很有用。
先来看一下相关命令
1)创建service
#Srvctladdservice-d<
database-name>
-s<
service-name>
-r"
preferred-instance-
list"
-a"
available-instance-list"
-P<
TAF-policy>
其中TAF-Policy可选:
basic和preconnect。
例如:
srvctladdservice-dRAC-sService2-r"
RAC1,RAC2"
RAC3,RAC4"
-Pbasic
注意:
srvctladdservice中,只有perferred才会创建服务。
即在OCR中注册一个ora.raw.dmm.Raw1.Srv的服务。
2)查看配置信息
#srvctlconfigservice-ddatabase-name[-sservice-name][-a]
如果这里不指定"
-sservice-name"
就会显示所有Service的配置,这些配置包括preferred和availableinstance.使用-a选项,还会显示TAF相关信息。
3)是否自动运行service
数据库启动时,会自动启动所有的Service。
有时为了为了维护需要,需要禁用这个特性,在维护完成后再启动这个特性。
#srvctlenable/disableservice-ddatabase-name-sservice-name-iinstance-name
4)启动service
#srvctlstartservice-d<
-iinstance-name-o
start-option-cconnect-string-q
如果不指定service-name,则所有的service都会被启动,可以使用逗号分隔方式,同时启动多个service。
-i指定在那个实例上启动service。
5)停止service
#srvctlstopservice-d<
-iinstance-name-c
connect-string-q-f
其中-f选项可以强制关闭service,并中断了其所有用户的连接。
6)查看service状态
#srvctlstatusservice-d<
-sservice-name-iinstance-name-f-v
其中-f可以显示被disable的instance信息,而-v可以显示详细输出
7)删除service
#srvctlremoveservice-ddatabase-name-sservice-name-iinstance-name[-f]
在使用srvctl创建service时,需要注意T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle RAC Failover 详解