oracle11g在没DNS情况下failover的配置方法

2023-11-01

1.Oracle 11g引入scan ip ,可在没有DNS的情况下,客户端连接RAC配置failover时,很多情况还是使用oracle10g方式。即在客户端tnsname.ora中配置failover:
1)当客户端配置如下时,连接的实例关闭后,会话必须重新连才可连接到其他活动的实例上,不会自动重连:
ora112 = 
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.113)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora112)
(FAILOVER = on)
)
)

ora112 = 
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.113)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora112)
(FAILOVER = on)
(TYPE = select)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
或(115为scan-ip)
ORA112 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.115)(PORT = 1521))
      (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora112)
      (FAILOVER = on)
    )
  )

ORA112 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.115)(PORT = 1521))
      (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora112)
      (FAILOVER = on)
      (failover_mode=(TYPE=SELECT)
      (METHOD=BASIC)
      (RETRIES=1)
      (DELAY=0)
    )
    )
  )

ORA112 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.115)(PORT = 1521))
      (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora112)
    )
  )
2)当客户端配置如下时,连接的实例关闭后,会话会自动连接到其他活动的实例上:
ora112 = 
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.113)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora112)
(FAILOVER = on)
FAILOVER_MODE=(TYPE = select)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
)
2.如果不采用oracle10g的方法,能不能只在客户端配置scan ip,而在服务器端配置以实现failover,具体如下:
(How To Configure Server Side Transparent Application Failover [ID 460982.1])
1)创建TAFService
[oracle@db1 bin]$ ./srvctl add service -d ora112 -s ora112_rac -r "ora1121,ora1122" -P BASIC
--这里的ora112是database name,ora1121和ora1122 是instance name。
2)启动s_test服务
[oracle@db1 bin]$ ./srvctl start service -d ora112 -s s_test
3)检查service运行情况
[oracle@db1 bin]$ ./srvctl config service -d ora112
Service name: s_test
Service is enabled
Server pool: ora112_s_test
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: ora1121,ora1122
Available instances:
4)确认serviceID
SQL> select name,service_id from dba_services where name = 's_test';
NAME SERVICE_ID
--------------------------------------------------------------------------
s_test 3
5)为service添加参数
SQL> execute dbms_service.modify_service (service_name => 's_test' - 
, aq_ha_notifications => true - 
, failover_method => dbms_service.failover_method_basic - 
, failover_type => dbms_service.failover_type_select - 
, failover_retries => 180 - 
, failover_delay => 5 - 
, clb_goal => dbms_service.clb_goal_long); 
6)确认参数添加情况
col name format a15 
col failover_method format a11 heading 'METHOD' 
col failover_type format a10 heading 'TYPE' 
col failover_retries format 9999999 heading 'RETRIES' 
col goal format a10 
col clb_goal format a8 
col AQ_HA_NOTIFICATIONS format a5 heading 'AQNOT' 
SQL> select name, failover_method,failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services where service_id = 3; 
NAME METHOD TYPE RETRIES GOAL CLB_GOAL AQNOT
--------------- ----------- ------------------ ---------- -------- -----
s_test BASIC SELECT 180 NONE LONG YES
SQL>
7)检查service注册情况
[oracle@db1 bin]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.3.0 -Production on 15-JUL-2012 13:26:43
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db1)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:57 refused:0 state:ready
LOCAL SERVER
Service "ora112" has 1 instance(s).
Instance "ora1121", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:11 refused:0 state:ready
LOCAL SERVER
Service "ora112XDB" has 1instance(s).
Instance "ora1121", status READY, has 1 handler(s) for thisservice...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=db1.tianlesoftware.com)(PORT=38731))
Service "s_test" has 1instance(s).
Instance "ora1121", status READY, has 1 handler(s) for thisservice...
Handler(s):
"DEDICATED" established:11 refused:0 state:ready
LOCAL SERVER
The command completed successfully
8)配置tnsnames.ora,连接后,关闭连接实例后,会话会自动切换到其他活动实例上(115为scan ip):
ORA112 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.115)(PORT = 1521))
      (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = s_test)
    )
  )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle11g在没DNS情况下failover的配置方法 的相关文章

  • mysql故障转移:如何选择slave作为新的master?

    我是 mysql 新手 当涉及到故障转移时 哪个从机应该晋升为新的主机 例如 A是master B和C是slave A对B和C进行异步复制 在某个时间点 B 从 A 接收的数据多于 C A 崩溃 如果我们将C提升为新的master 并将B的
  • 无法在 .NET 中加载 Oracle.DataAccess 的文件或程序集

    当我尝试运行一个简单的程序来访问 oracle 时 我收到此消息 无法加载文件或程序集 Oracle DataAccess 版本 2 111 7 20 文化 中性 PublicKeyToken 89b483f429c47342 或其依赖项之
  • 将 OraclePreparedStatement 与 DBCP 连接结合使用

    我正在尝试使用 dbcp 框架为我的 oracle 服务器创建一个连接池 我用过这个tutorial http web archive org web 20120615100115 http www freshblurbs com 80 j
  • 使用 SQL 序数位置表示法的好处?

    背景资料 序数位置表示法 又称序数 是基于列列表中的列顺序的列简写 SELECT子句 而不是列名或列别名 通常支持在ORDER BY子句 某些数据库 MySQL 3 23 PostgreSQL 8 0 支持语法GROUP BY条款也是如此
  • 使用 to_char 格式化间隔

    以下 SQL 命令 select TO CHAR NVL arg1 arg2 TO DSINTERVAL 0 00 00 00 from table1 生成格式为 000000000 00 03 01 954000 的结果 是否可以在 to
  • 替换 Oracle 包的一部分

    我需要修改包内的一个过程 我需要接触声明和实施 由于我正在维护每次修改的补丁文件 因此我希望更改最小化 我可以仅使用更改的过程更新包 如果是 如何更新 还是需要提供完整的包定义和实现 您需要替换整个包规范和主体 您不能仅对包的一部分进行操作
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • Grails 域中的瞬态属性

    我有一个名为 People 的 Grails 域 我想检查每个 People 是否有孩子 Childs 是其他 People 对象 这是我的域结构 class People implements Serializable static co
  • Oracle:如何确定“AFTER ALTER”触发器中对象的新名称?

    假设我有一个AFTER ALTER在我的 Oracle 数据库上触发并重命名一些数据库对象 ALTER RENAME TO 在触发器中 我如何确定new数据库对象的名称 看来ORA DICT OBJ OWNER ORA DICT OBJ N
  • Oracle 中的日期字符串(以毫秒为单位)

    我想将以下字符串转换为日期 2004 09 30 23 53 48 140000000 I tried to date YYYY MM DD HH24 MI SS FF9 But PL SQL http en wikipedia org w
  • 错误 38824:CREATE 或 REPLACE 命令可能无法更改现有对象的 EDITIONABLE 属性

    我们正在实现数据库生产对象 如包 过程 触发器等 的单元测试系统 为此 我们有一个容器来创建数据库https github com oracle docker images tree master OracleDatabase https
  • 在触发期间更新 oracle 中的同一行?

    简短的问题 因为我不知道如何搜索这个 我可以 重新更新 同一行吗 例如 我有一个存储付款小计的字段 并且考虑到我的业务限制 我可以更新该值 我可以仅用触发器更新同一行的总计吗 预先谢谢您 顺便说一句 我正在使用 Oracle 和 PL SQ
  • Oracle 语法 - 我们是否必须在新旧语法之间进行选择?

    我在一个由大约 8 名开发人员组成的团队中负责大约 1 000 000 行源代码的代码库 我们的代码基本上是一个使用 Oracle 数据库的应用程序 但代码随着时间的推移而不断发展 我们有大量九十年代中期的源代码 团队中就我们用于查询 Or
  • 删除连接到另一表 SQL 的一个表中的记录

    我有两个表 一个包含 212 000 条记录 已弃用的记录 另一个包含 10 500 000 条记录 我想在 id 和 version number 字段上连接两个表 因为两个表都有这些字段 我希望从连接表中删除匹配的记录 来自连接表 即从
  • 使用 TLS 证书 JDBC 连接到 Oracle 数据库

    我正在尝试用 Java 编写一个连接类来使用 JDBC 驱动程序连接到 Oracle 数据库 但我想保护用于连接到 Oracle 数据库的参数 例如 jdbcurl 用户名 密码 我必须使用 TLS 证书概念来连接到 Java 中的 Ora
  • AWS ELB 和 GoDaddy 域正在运行

    我已在 goDaddy com 中注册了一个域 并希望将流量发送到 AWS Route53 我创建了一个 ELB 我执行了以下步骤 在 Route 53 中 为我的 godaddy 域名创建一个托管区域 这反过来又为我提供了一条包含 4 个
  • 在 Hibernate 中创建 UPDATE RETURNING 查询

    在 Oracle 中 我们可以创建一个更新查询 该查询将使用 RETURNING 子句返回更新的记录 Hibernate中有类似的功能吗 除了数据库生成的值之外 Hibernate 显然不需要返回更新的实例 因为对象传递给Session s
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常
  • 从函数内的 SELECT 返回一个变量

    我正在尝试创建一个返回 varchar 的函数 其中一个字段形成一个选择 即聚合字段 我收到下一个错误 ORA 01422 exact fetch returns more than requested number of rows 我的理
  • 循环预定义值

    有没有办法在 oracle 中执行 for every 如下所示 begin for VAR in 1 2 5 loop dbms output put line The value VAR end loop end 我知道你可以这样做 b

随机推荐

  • React 函数组件和类组件的优缺点

    React 函数组件和类组件的优缺点 React中的组件可以分为函数组件和类组件 它们各自有一些优缺点 下面是一些常见的观点 函数组件的优点 定义和使用较简单和直观 只需要一个函数即可 对于简单的组件 可以使用函数组件来提高性能和简化开发
  • Arena仿真-基于超市排队的建模分析

    文章目录 Arena仿真作业 一 问题介绍 1 1 模型假设 1 2 优化目标 1 3 约束条件 二 模块设计 2 1 Create模块 2 2 Decide模块 2 3 Assign模块 2 4 Process模块 2 5 Dispose
  • element UI 穿梭框按钮样式修改

    利用Element UI 修改穿梭框的按钮样式 html部分
  • filter 方法常用过滤条件

    encoding utf 8 from sqlalchemy import create engine Column Integer String Float func and or from sqlalchemy ext declarat
  • Java Arrays.sort()自定义排序方法

    Java Arrays sort可以对很多数据类型进行排序 但是当需要对一个比较特殊的数组进行排序的时候 比如一个二维数组 我们要以每组的第一个数大小来排序 则需要我们自己定义一个比较方法 先看看源码 public static
  • 重学Java(四):操作符

    之前我写了一篇 重学Java 四 对象 引用 堆 栈 堆栈 本以为凭借自己8年的Java编程经验足够把这些 吃人 的Java名词解释清楚了 但有网友不以为然 在文章底部评论说 老哥 你真的有8年java开发经验么 告诉我 为什么要用三个句号
  • SylixOS系统简介

    SylixOS是一款嵌入式硬实时操作系统 同其类似的操作系统 全球比较知名的还有VxWorks 主要应用于航空航天 军事与工业自动化领域 RTEMS 起源于美国国防部导弹与火箭控制实时系统 ThreadX 主要应用于航空航天与数码通讯 等
  • 正确理解MySQL的MVCC及实现原理

    MVCC多版本并发控制 目录 MVCC多版本并发控制 前提概要 什么是MVCC 什么是当前读和快照读 当前读 快照读和MVCC的关系 MVCC的实现原理 隐式字段 undo日志 Read View 读视图 整体流程 MVCC相关问题 RR是
  • GlobalCorsConfig跨域文件

    package com config import org springframework context annotation Bean import org springframework context annotation Conf
  • Zabbix的基本使用

    文章目录 一 认识Zabbix 1 简介 2 功能 3 架构 4 数据流 二 项目 1 软件安装和环境部署 2 Zabbix工具的使用 1 创建被控主机 2 中文乱码修复 3 自动发现主机 4 自动注册主机 3 zabbix的API调用 4
  • Pandas中DataFrame的基本操作(增删)

    这是一篇最基础的Pandas用法总结 也方便自己日后进行复习与查询 这一次我们来总结一下Pandas中的一些增删改基本操作 df pd DataFrame F 90 88 85 M 75 97 74 F 82 73 91 M 93 99 9
  • Nginx的rewrite重写跳转和location匹配

    目录 常用的Nginx 正则表达式 location大致可以分为三类 location 常用的匹配规制 location优先级 location示例说明 实际网站使用中 至少有三个匹配规则定义 第一个必选规则 第二个必选规则是处理静态文件请
  • 设计模式-01-模糊理解

    一 概念 设计模式 别人都说它们就像是一个个的模型胚子 不管你们是多么的杂乱无章 只要经过它们的改造 表现出来的就都会是工工整整 标标准准的 而我觉得更确切的比喻应该是像一个制砖块儿的模具 虽然我们不知道为什么砖块儿 不仅要结实 也要外表光
  • python换零钱_Python3算法实例 1.2:动态规划 之 换零钱

    money jpg 问题 基础版 把100元兑换成1元 2元 5元 10元 20元 50元的零钱 共有多少种不同换法 动态规划思想解析 拆解子问题 下面以5元换成1 2 3元的零钱为例 T change target 表示用零钱序列chan
  • mybatisPlus之getById和selectById查询不出结果

    最终导致查询不出结果的原因可能有多种 我这里说出我遇到的一种原因 希望对你有帮助 我是因为在数据库添加了一个字段 没有及时地更新mapper xml中的resultMap导致的 大晚上的写代码 脑子不太好使 2 最近又遇到了一种情况 我数据
  • C 语言设置 Console 文字和背景的颜色的方法

    最近写的一个程序需要在 Console 窗口中输出大量的信息 大量的信息混在一起看着实在是费劲 因此就想到不同的信息用不同的颜色来输出 上网查了一番 win32 API 中有一个函数 SetConsoleTextAttribute 可以做这
  • 【目标检测】49、YOLOF

    文章目录 一 背景 二 方法 2 1 使用 SiSo 代替 MiMo 2 2 使用 Uniform matching 代替 Max IoU matching 2 3 YOLOF 的结构 三 效果 论文 You Only Look One l
  • linux常用命令-part2

    Ubuntu Fedora Debian CentOS中文怎么发音 有奔头 费德勒 迪扁 桑托斯 乌版图 菲朵拉 德槟 森头斯 使用find和wc命令统计代码行数 wc l find name js xargs 查看当前目录下文件的个数 l
  • 【用YOLOv3-tiny对TT100K进行训练】

    用YOLOv3 tiny对TT100K进行训练 数据集的处理 TT100K YOLO Label代码如何使用 修改数据集的配置文件 开始训练 训练意外中断怎么办 第一次跑代码 过程艰辛 值得记录 数据集的处理 YOLO对于数据集标签的格式有
  • oracle11g在没DNS情况下failover的配置方法

    1 Oracle 11g引入scan ip 可在没有DNS的情况下 客户端连接RAC配置failover时 很多情况还是使用oracle10g方式 即在客户端tnsname ora中配置failover 1 当客户端配置如下时 连接的实例关