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 总体规划 ...
随机推荐
- 自己动手编译octave 4.0.0
今天在做作业的时候,发现imread不能使用,说要安装相应的图形包,可是要安装image时,却发现要求4.0.0版本,而我本机的linux系统ubuntu15.04只有3.8.x的安装源,没办法,只能 ...
- Nutch是个不错的选择
对搜索引擎的理解:我们并没有google 的源代码,因此学习搜索引擎Nutch是个不错的选择.了解一个大型分布式的搜索引擎如何工作是一件让人很受益的事情.在写 Nutch的过程中,从学院派和工业派借鉴 ...
- HDU 5620 KK's Steel
想了一下发现是斐波那契数列.....水题 #include <stdio.h> #include <algorithm> #include <string.h> # ...
- mysql root密码
方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...
- [vue最新实战] gank客户端(vue2 + vue-router2 + vuex +webpace + es6)新手福利,干货多多
vue-meizi 本项目是基于vue2最新实战项目,是适合新手进阶的绝佳教程.代码简单易懂,注释多多.实现了移动端使用最多的 无限滚动,图片加载,左右滑动,等待.先发布预览版本,后面更多更全的功能和 ...
- Eclipse发布Maven项目到远程服务器
pom.xml中的配置依赖有两种: 一.tomcat-maven.plugin <plugin> <groupId>org.codehaus.mojo</groupId& ...
- 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务)的有关问题
[转]http://www.myexception.cn/program/1964906.html 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务 ...
- ECSHOP中ajax的调用原理
ECSHOP中ajax的调用原理 ecshop中ajax的调用原理. 1.首先ecshop是如何定义ajax对象的. ecshop中的ajax对象是在js/transport.js文件中定义的.里面是 ...
- Visual Studio 2012 开发环境配置+控制台工具+桌面应用程序
一.界面布局视图设置 1.窗口的布局.控制台窗口运行恢复到开发环境的设置方法 也可以保存好设好的个性化设置,导入设置: 2.视图|服务器资源管理器(sever explorer) 可以访问数据源.服务 ...
- java 读写excle
2014-04-16 20:38:20 java读写excel 晚上打算研究如何c来编写