oracle 11G RAC会话故障转移测试
目前接手的几个项目中,默认使用的oracle RAC数据库服务,均不能实现自动的会话转移,尤其是对于应用的长连接,一旦发生数据库故障,需要重启应用。
实际11G具备会话迁移机制,为此做了如下配置测试,供参考使用。
◆创建一个测试用户test
[oracle@hencrnopdb1 ~]$sqlplus / as sysdba
SQL> create user test identified by test;
User created.
SQL> grant dba to test;
Grant succeeded.
SQL> exit
◆原数据库服务henorcdb,没有针对会话的故障转移功能
[oracle@hencrnopdb1 ~]$sqlplus test/test@137.32.78.106:1521/henorcdb
SQL> select failover_type,failover_method,failed_over from v$session where username=’TEST’;
FAILOVER_TYPE FAILOVER_M FAI
————- ———- —
NONE NONE NO
SQL> exit
◆创建一个新的TAF服务
[oracle@hencrnopdb1 ~]$srvctl add service -d henorcdb -s henorcdb_TAF -r henorcdb1,henorcdb2
[oracle@hencrnopdb1 ~]$srvctl start service -d henorcdb -s henorcdb_TAF
[oracle@hencrnopdb1 ~]$srvctl modify service -d henorcdb -s henorcdb_TAF -q TRUE -P BASIC -e SELECT
◆用新服务henorcdb_TAF连接数据库,本次链接到了节点1
[oracle@hencrnopdb1 ~]$sqlplus test/test@137.32.78.106:1521/henorcdb_TAF
SQL> select instance_number,instance_name,host_name,status from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
————— —————-
HOST_NAME STATUS
—————————————————————- ————
1 henorcdb1
hencrnopdb1 OPEN
SQL> exit
◆用新服务henorcdb_TAF连接数据库,本次链接到了节点2
[oracle@hencrnopdb1 ~]$sqlplus test/test@137.32.78.106:1521/henorcdb_TAF
SQL> select instance_number,instance_name,host_name,status from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
————— —————-
HOST_NAME STATUS
—————————————————————- ————
2 henorcdb2
hencrnopdb2 OPEN
◆新数据库服务henorcdb_TAF,有针对会话的故障转移功能
SQL> select failover_type,failover_method,failed_over from v$session where username=’TEST’;
FAILOVER_TYPE FAILOVER_M FAI
————- ———- —
SELECT BASIC NO
◆保留已有会话,临时退出sqlplus
SQL> !
◆关闭会话所连接的数据库节点2
[oracle@hencrnopdb1 ~]$srvctl stop instance -d henorcdb -n hencrnopdb2
[oracle@hencrnopdb1 ~]$exit
exit
◆返回已有的会话,查看此时会话是否还能正常连接数据库,连到了哪个节点上,发现自动连接到了节点1上!
SQL> /
INSTANCE_NUMBER INSTANCE_NAME
————— —————-
HOST_NAME STATUS
—————————————————————- ————
1 henorcdb1
hencrnopdb1 OPEN
SQL> select failover_type,failover_method,failed_over from v$session where username=’TEST’;
FAILOVER_TYPE FAILOVER_M FAI
————- ———- —
SELECT BASIC YES
◆恢复现场,启动节点2
SQL> !
[oracle@hencrnopdb1 ~]$srvctl start instance -d henorcdb -n hencrnopdb2
[oracle@hencrnopdb1 ~]$exit
exit
◆会话并不会自动切换回节点2
SQL> /
FAILOVER_TYPE FAILOVER_M FAI
————- ———- —
SELECT BASIC YES
SQL> select instance_number,instance_name,host_name,status from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
————— —————-
HOST_NAME STATUS
—————————————————————- ————
1 henorcdb1
hencrnopdb1 OPEN
◆◆结论
oralce 11G的RAC具备对已有session的自动故障保护机制,当前连接的节点down掉的话,可以将已有连接自动迁移到另外的节点。
对于正在执行的事务,是不是可以无缝迁移,尚待验证。
只是遗憾的是,默认的数据库服务并不具备TAF功能,需要另外的配置,具体如上所述。
oracle 11G RAC会话故障转移测试的更多相关文章
- Oracle 11g rac 添加新节点测试
[转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...
- Oracle 11g RAC运维总结
转至:https://blog.csdn.net/qq_41944882/article/details/103560879 1 术语解释1.1 高可用(HA)什么是高可用?顾名思义我们能轻松地理解是 ...
- Oracle 11g RAC 环境下单实例非缺省监听及端口配置
如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...
- 转载:细说oracle 11g rac 的ip地址
本文转载自:细说oracle 11g rac 的ip地址 http://blog.sina.com.cn/s/blog_4fe6d4250102v5fa.html 以前搭建oracle rac的时候( ...
- 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...
- 安装Oracle 11g RAC R2 之Linux DNS 配置
Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...
- Oracle 11g RAC oc4j/gsd Offline
Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形.即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, ...
- Oracle 11g RAC 修改各类IP地址
Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...
- [转帖]Oracle 11G RAC For Windows 2008 R2部署手册
Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...
随机推荐
- 用HTML 格式导出Excel
只需按照如下格式写就可,在<head> 里面嵌套table,必须修改html的命名空间,加上一些描述.保存为xls文件 <html xmlns:x="urn:schemas ...
- tp框架链接数据库的基本操作
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- ubuntu12.04+fuerte 下跑通lsd-slam——使用usb摄像头
上一篇介绍了如何使用数据集跑lsd-slam,这篇介绍如何用一个普通的usb摄像头跑lsd-slam,默认ubuntu12.04,fuerte已经安装好,workspace也已设置,如果没有,请参考上 ...
- win7下wamp扩展memcache
1.服务端安装 1.1 下载地址 http://download.csdn.net/detail/feiyuhit/5873533#comment 1.2 安装 将下载的压缩文件夹的memcached ...
- C#中的协变OUT和逆变
泛型接口和泛型委托中经常使用可变性 in 逆变,out 协变 从 list<string>转到list<object> 称为协变 (string 从object 派生,那么 ...
- UVa 908 - Re-connecting Computer Sites
题目大意:有n个网站,由m条线路相连,每条线路都有一定的花费,找出连接所有线路的最小花费. 最小生成树问题(Minimal Spanning Tree, MST),使用Kruskal算法解决. #in ...
- RAMOS系统 WIN7+VHD+GURB map
转载(并未验证) 前段时间加了一个内存条,将笔记本内存升级到了6G,由于之前用的是32位的win7不可以直接使用6G内存,便装了64位的系统.网上找资源的时候发现,大内存可以使用RamOS,从内存中虚 ...
- BZOJ 2179FFT快速傅立叶
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2179 题目大意:给出两个n位10进制整数x和y,你需要计算x*y. 题解:FFT,不会的可以 ...
- spring mvc自定义注解--登录时密码加密注解
1,定义注解名称接口 /** * 使用该注解不用再MD5转换了 * * @author adonis * */ @Target(ElementType.PARAMETER) @Retention(Re ...
- KNN算法--物以类聚,人以群分
KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...