oracle HA 高可用性详解(之二,深入解析TAF,以及HA框架)

oracle HA 高可用性详解(之一,client、server端服务详解):http://write.blog.csdn.net/postedit

我们已经看到TAF是的Oracle的会话能够自动重新连接,需要说明的是,这个能力是基于OCI的,是OCI的一个功能,JDBC Thin Driver无效,因为这种驱动不是构建在OCI库上的。

虽然这个功能发起于RAC,但TAF并不局限于RAC,单实例、DG环境都可以享受这个好处。Oralce声称其TAF能够保证用户会话自动的转移到另一个实例上。这一点确实是真的,但是是有水分的。为了深入理解TAF的能力,我们接下来做一个更精细的实验。

1.  TAF和事务

在RAC环境下,可以有三种方式把一个用户会话迁移到另一个实例上,包括altersystem disconnect from session、shutdown、dbms_service包,这三种方式的后台机制和效果其实都是一致的,这三种方法可以把一个会话透明的或者说优雅的从一个实例迁移到另一个实例,对于这个会话来说,甚至感觉不到这种感觉迁移的发生。我们这个实验就用alter system的方法进行,这个命令的语法如下:

Altersystem disconnect session [post_transaction | immediate];

这个命令有两个选项,分别含义如下:

Post_transaction:意思是在事务提交之后再断开已有连接;

Immediate: 意思是立即断开连接;

Oracle cluster HA框架

术语介绍

(1)  Resource(资源)

资源需要由CRS管理的实体叫做Resource。一般而言是指一个火一组进程。

(2)  Resource Dependency(资源依赖性)

不同资源之间会有依赖关系,比如使用ASM作为存储的数据库而言,数据库实例就依赖与ASM实例。这种依赖关系体现在ASM实例必须先于数据库实例启动,必须等到数据库实例关闭之后才能关闭。而Resource Dependency就是用来说明这种关系的,通过REQUIRED_RESOURCES参数定义。

(3)  Application Profile(应用描述文件)

Application Profile是一个文件,用来告诉CRS应该如何管理应用程序的。这个文件通过“属性=值“的格式来描述应用程序的属性,比如资源脚本、资源依赖性、资源检察频率等。在使用Oraclecluster HA时,第一步就是创建这个文件,但这个文件又是一个过渡文件,文件的内容最后要注册到OCR中。

(4)  Action Program

Action Program是一个可执行文件,可以使二进制文件、更多的是SHELL脚本。Oracle Cluster HA架构就是通过这个脚本来完成启动、关闭、检查、转移资源工作的。这个脚本必须要能够接受处理start、stop、check这三个参数。

(5)  OCR

在配置第三方应用的HA集群时,Application Profile的内容最后要注册到OCR中。Oracle Cluster住工作时是从OCR而不是Application Profile读取配置内容的。

配置命令

(1)  crs_profile

配置时有两个文件需要创建的,Application Profile和ActionProfile,前者是一个配置文件,后者是一个SHELL脚本。但实际上这两个文件都不需要手工创建,通过这个命令可以自动的创建,读者只需要在其基础上进行修改即可。

[[email protected]]# ./crs_profile -h

Usage: crs_profile -create resource_name -t application

[-dir directory_path] [-a action_script] [-B binary_pathname]

[-d description] [-h hosting_members] [-r required_resources]

[-l optional_resources] [-p placement_policy]

[-o as=auto_start,ci=check_interval,ft=failure_threshold,

fi=failure_interval,ra=restart_attempts,fd=failover_delay,

st=script_timeout,ap=active_placement,

ut=uptime_threshold,rt=start_timeout,pt=stop_timeout] [-f] [-q]

crs_profile -create resource_name -I template_file [-dir directory_path][-f] [-q]

crs_profile -delete resource_name [-dir directory_path] [-q]

crs_profile -print [resource_name [...]] [-dir directory_path] [-q]

crs_profile -template resource_name [-dir directory_path] [-Otemplate_file]

crs_profile -template -t application [-O template_file]

crs_profile -update resource_name [-dir directory_path] [option ...] [-ooption,...] [-q]

crs_profile -validate resource_name [-dir directory_path] [-q]

[[email protected] bin]#

oracle HA 高可用性详解(之二,深入解析TAF,以及HA框架)

时间: 2024-08-10 22:40:25

oracle HA 高可用性详解(之二,深入解析TAF,以及HA框架)的相关文章

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle cursor_sharing 参数 详解

一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 1.1 CURSOR_SHARING Property Description Parameter type String Syntax CURSOR_SHARING = { SIMILAR | EXACT | FORCE } Default value EXACT Modifiable ALTE

ORACLE用户PROFILE详解

ORACLE用户PROFILE详解   一.官网说明 Oraclerecommends that you use the Database Resource Manager rather than the SQLstatement to establish resource limits. The Database Resource Manager offers amore flexible means of managing and tracking resource use. Purpose

Oracle执行计划详解

 简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容. 并有总结和概述,便于理解与记忆! +++ 目录 --- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectivity) 二.oracle访问数据的存取方法 1) 全表扫描(Full Table Scan

oracle rac IP详解

rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以"漂"到其他网卡是继续提供服务 在Oracle RAC环境下,每个节点都会有多个IP地址,分别为Public/Private/Vip,这三个IP到底有啥区别呢?分别用在那些场合呢?来看看老外的回答. 1. private IP address is used only for internal clustering processing (Cache

log4j详解(二)

在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及Layout的分别使用.Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)[Java特性文件(键=值)].(这里只说明properties文件) 1.配置根Logger         其语法为:         log4j.rootLogger = [ level ] , appenderName1, append

ORACLE物化视图详解

一.物化的一般用法物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 1.物化视图的类型ON DEMAND.ON COMMIT.二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"需要"被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一

Oracle数据库备份详解

Oracle数据库备份详解 Oracle官方提供多种备份方式,日常使用最多的有exp/imp常规方式,及数据泵expdp/impdp方式:下面对这两种方式进行详解. 常规方式 exp/imp imp/exp是Oracle导入导出命令,可以用作数据的迁移,expdp/imdp也是Oracle数据导入导出的命令,效率比imp/exp效率要高,这个后面再讨论 一  EXP导出命令 exp 是数据的导出命令,可以用于表,用户,整个数据库,exp -help查看帮助 Export: Release 11.