Oracle RAC主备模式配置的问题

cryingman 2009-07-27 11:28:42
现在我们已经安装了RAC有两个instance组成。
1. RAC1服务器上:
RACDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(LOAD_BALANCE = on)
(FAILOVER = on)
)
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(failover_mode =
(type = select)
(method = basic)
)
)
)

RACDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(INSTANCE_NAME = racdb1)
)
)

2. RAC2服务器上:
RACDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(LOAD_BALANCE = on)
(FAILOVER = on)
)
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(failover_mode =
(type = select)
(method = basic)
)
)
)

RACDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(INSTANCE_NAME = racdb2)
)
)

3. 在JNDI上我们是按照“Connect-Time Failover”的模式来配置的,想做成主备模式,比如以下主用101,只有101failed情况下才自动切换到102:
RACDB1_FAILOVER =
(DESCRIPTION=
(FAILOVER=on)
(LOAD_BALANCE=off)
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.102)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=RACDB)
(failover_mode =
(type = select)(method = basic)
)
)
)
按照这种配置模式的特点
One service(Tries one node,then the other node)
Used for failover
Balance is done manually
In the event of a failure(Transaction is lost;Session is lost; Reconnection occurs automatically)
load balance应该是按照先101,只有101失败才try102.
但是实际从数据库表sequence的生产来看,还是两个instance交替使用。

请问,这是为什么?还是有什么地方配置有问题?请高手指点!多谢!

...全文
611 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
luozhangwen 2010-03-31
  • 打赏
  • 举报
回复
不懂啊,
老哥讲数据库 2009-08-24
  • 打赏
  • 举报
回复
目前我也在学习这里。
staryjqwu 2009-08-06
  • 打赏
  • 举报
回复
学习,先囫囵吞枣地咽下去再说,嘿
liuyi8903 2009-08-05
  • 打赏
  • 举报
回复
因为这个相当于是预分配的.
cryingman 2009-08-05
  • 打赏
  • 举报
回复
非常感谢大家的帮助!

我们使用的oracle 9i RAC。已经了解如何用DBCA配置server端的TAF。只是因为数据库已经在使用中(生产环境),无法随意操作。

现在还是有点困惑,为何JNDI的连接池并不能使用客户端的配置的TAF。
liuyi8903 2009-08-05
  • 打赏
  • 举报
回复
dbca最简单啦. dbms_service对于捕获错误方便些.
  • 打赏
  • 举报
回复
如果你用的是10gR2的话,可以用dbms_service包在server端配置TAF

SQL>exec dbms_service.modif_service(service_name=>'racdb',failover_method=>'basic',failover_type=>'select',failover_retries=>50,failover_delay=>5);

inthirties 2009-08-04
  • 打赏
  • 举报
回复
辛苦了,老大。
liuyi8903 2009-08-04
  • 打赏
  • 举报
回复
你需要使用dbca来管理services

或者使用

srvctl add ,

dbca简单些.
cryingman 2009-08-04
  • 打赏
  • 举报
回复
谢谢liuyi8903的回复!之前Server端的TAF的service name的配置不是我来做的。请问能给出如何配置的步骤吗?
liuyi8903 2009-07-30
  • 打赏
  • 举报
回复
是的. 不能.
cryingman 2009-07-30
  • 打赏
  • 举报
回复
JNDI的确是使用的连接池。那server端的TAF还需要配置其他的Service name?不能在现有的基础上直接修改服务器RAC1和RAC2上的tnsnames.ora吗?
cryingman 2009-07-29
  • 打赏
  • 举报
回复
多谢liuyi8903的回复。
也就是说,在pool的连接方式下,即使客户端JNDI配置成Connect-Time Failover的模式,实际还是使用了服务端的RACDB的配置方式?
如果要使客户端的Connect-Time Failover的模式生效,是不是直接把服务端的RACDB配置改了就行?(比如服务器RAC1上面的RACDB改成和RACDB1_FAILOVER一样)?
inthirties 2009-07-29
  • 打赏
  • 举报
回复
学习叻
liuyi8903 2009-07-29
  • 打赏
  • 举报
回复
jndi我也不清楚啊,像ias wbs什么就是pool的形式.

server taf需要配置其他的service_name
cryingman 2009-07-29
  • 打赏
  • 举报
回复
谢谢回复!
你说的连接池的预连接,它不使用client端(JNDI)的配置来做预连接吗?
那服务端的TAF需要怎么做呢?
liuyi8903 2009-07-29
  • 打赏
  • 举报
回复
如果是pool ,那么是预连接的.因此你这个client端的taf并没有什么实际的意义.

但是使用server -side taf就是在服务器端来进行控制.
liuyi8903 2009-07-29
  • 打赏
  • 举报
回复
JNDI属于pool的方式连接吧.我没记错的话.
如果是这样,你就要配置server端的TAF了.
目录 推荐序 前言 第1章 认识Oracle RAC 1.1 RAC产生的背景 1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 1.3.1双机并行 1.3.2高可用性 1.3.3易伸缩性 1.3.4低成本 1.3.5高吞吐量 1.4 RAC存在的问题 1.4.1稳定性 1.4.2高性能 1.5 RAC软件 1.5.1存储管理软件 1.5.2集群管理软件 1.5.3数据库管理软件 1.6本章小结 第2章 搭建类似生产环境的RAC 2.1搭建环境 2.1.1 RAC的物理结构 2.1.硬件环境 2.1.3软件环境 2.2搭建存储服务器 2.2.1安装Openfiler操作系统 2.2.2Openfiler主界面 2.2.3配置iSCSI磁盘 2.3搭建数据库服务器 2.3.1为服务器配置4个网卡 2.3.2安装Linux操作系统 2.3.3挂载iSCSI磁盘 2.3.4配置udev固定iSCSI磁盘设备名称 2.3.5配置服务器的图形化环境 2.4 RAC运行环境安装前检查 2.4.1服务器检查 2.4.2存储检查 2.4.3网络检查 2.5配置数据库服务器 2.5.1安装软件包 2.5.2修改系统参数 2.5.3配置域名解析服务 2.5.4配置hosts文件 2.5.5创建组、用户和目录 2.5.6设置环境变量 2.5.7配置SSH用户等效性 2.5.8配置时间同步服务 2.5.9安装cvuqdisk包 2.5.10 CVU验证安装环境 2.6创建ASM磁盘 2.6.1安装ASMLib驱动 2.6.2创建ASMLib磁盘 2.7部署RAC 2.7.1安装Grid Infrastructure 2.7.2安装Database DBMS 2.7.3创建ASM磁盘组 2.7.4创建RAC数据库 2.8测试RAC 2.8.1连接方式测试 2.8.2异常情况测试 2.9虚拟机搭建RAC 2.9.1虚拟机Xen简介 2.9.2启动主机Xen内核 2.9.3 Xen虚拟机创建网络环境 2.9.4创建Xen存储服务器 2.9.5创建Xen数据库服务器 2.10本章小结 第3章 Clusterware集群软件 3.1 Grid Infrastructure架构 3.1.1 GI的特点 3.1.2 GI的应用 3.1.3 Clusterware的特点 3.1.4 Clusterware增强的特性 3.2 Clusterware磁盘文件 3.2.1表决磁盘 3.2.2集群注册表 3.2.3本地注册表 3.3 Clusterware启动流程 3.3.1启动流程 3.3.2后台进程 3.4 Clusterware隔离机制 3.4.1 Clusterware心跳 3.4.2 Clusterware隔离特性IPMI 3.4.3 RAC隔离体系 3.5网格即插即用 3.5.1 GPnP结构 3.5.2 GPnP profile文件 3.5.3 mDNS服务 3.6日志体系 3.6.1 ADR的特点 3.6.2 ADR目录结构 3.6.3命令行工具ADRCI 3.6.4 Clusterware日志文件 3.6.5 ASM实例和监听日志文件 3.6.6 Database日志文件 3.7本章小结 第4章 ASM存储软件 4.1 ASM简介 4.1.1 ASM的特点 4.1.2 ASM实例的功能 4.2 ASM磁盘组 4.2.1 ASM磁盘 4.2.2共享ASM磁盘组 4.2.3 ASM逻辑结构 4.2.4 ASM故障组 4.2.5 ASM条带化 4.3 ASM文件 4.3.1 ASM文件类型 4.3.2 ASM别名 4.3.3 ASM文件模板 4.4 ASM数据结构 4.4.1物理元数据 4.4.2虚拟元数据 4.5 ASM操作 4.5.1 RDBMS操作ASM文件 4.5.2 ASM文件的分配 4.5.3 ASM区间读写特性 4.5.4 ASM同步技术 4.5.5 ASM实例恢复和Crash恢复 4.5.6 ASM磁盘组操作 4.6 ACFS集群文件系统 4.6.1 ACFS概述 4.6.2 ADVM动态卷管理 4.6.3 ACFS快照 4.6.4 ACFS的备份和恢复 4.6.5 ACFS同ASM整合 4.7本章小结 第5章 RAC工作原理 5.1单实例并发与一致性 5.1.1数据读一致性与写一致性 5.1.2多版本数据块 5.1.3

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧