如何同时监听2个节点上的oracle实例

hawk198 2010-08-31 10:03:28
现在有2个节点,
NodeA 192.168.100.201
NodeB 192.168.100.202

怎么配置监听,让NodeA和NodeB机器上任意一个监听接收到请求,都能访问节点A或B上的实例
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuizhou5876 2010-09-01
  • 打赏
  • 举报
回复
兄台用的是RAC么?

非RAC情况: 没有意义, listener 是和本地INSTANCE(不论本机器有机个INSTANCE, 只能本地)绑定一起的.

RAC: 没个实例只监听来自于对自己地址的请求, 不去监听别人的请求, 如果你建立好RAC的时候会发现, listener只有自己VIP的监听没有对方VIP的监听. 这个问题我们先要看看RAC支持的FAILOVER高可用机制了.

TAF: 发到A点的请求, 如果A实例发生错误,宕机了, 客户端自身会吧链接到A的链接关闭, 去练B,在B上重新构建事务, 非DML事务.

FCF:发到A点的请求, 如果A实例发生错误,宕机了, B实例会链接到客户端, 并且客户端会返回一个exception.

Server-side failover: 基本原理也是服务端去提示.

所以其实是不需要又在一个机器上起针对2个实例的监听. 也没有办法去做这个事情。自己监听自己就完事了.

多多交流.
群:30182689
秋雨飘落 2010-09-01
  • 打赏
  • 举报
回复
到任意一个节点上,NETCA,创建监听,选择CL***方式,然后选择两个节点,下一步,下一步就OKl饿
hawk198 2010-09-01
  • 打赏
  • 举报
回复
自己顶上去,请专家们帮我研究下
hawk198 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cuizhou5876 的回复:]

兄台用的是RAC么?

非RAC情况: 没有意义, listener 是和本地INSTANCE(不论本机器有机个INSTANCE, 只能本地)绑定一起的.

RAC: 没个实例只监听来自于对自己地址的请求, 不去监听别人的请求, 如果你建立好RAC的时候会发现, listener只有自己VIP的监听没有对方VIP的监听. 这个问题我们先要看看RAC支持的FAILOVER高可用机制了……
[/Quote]
对,我就是在RAC上觉得有缺陷,监听过了变成2个IP上实例,不像原来做的一种,我忘记是什么了,有一个虚拟的IP,所有的实例都可以监听,实际上也是RAC模式下的。这种方式的道理我也没想明白,谢谢3楼的,我去加群
hawk198 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zftang 的回复:]

到任意一个节点上,NETCA,创建监听,选择CL***方式,然后选择两个节点,下一步,下一步就OKl饿
[/Quote]
谢谢,不过这个我已经做过了,就是觉得缺省的cluster方式下本机只监听自己,所以觉得有问题
RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的oracle数据库相比,RAC都有一些独特之处。 RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。Clusterware负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。 在普通的Oracle数据库中,一个数据库实例只能访问一个数据库,而一个数据库只能被一个数据库实例打开。在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。 通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据。
Oracle监听器维护管理v1.1 1 一、监听器工作原理 3 二、监听器Lisener功能 4 1、 监听客户端请求 4 2、 为客户端请求分配Server Process 4 3、 注册实例服务 4 4、 错误转移failover 4 5、 负载均衡衡量 4 三、监听器基本操作 5 1、监听器命令查看 5 2、监听器状态查看 5 3、配置和展示更改命令 6 4、监听器密码设置 6 1. 未设定密码监听器启停 6 2.禁用本地验证(10g以上) 7 3.设置密码 7 4. 验证安全 7 5、配置ADMIN_RESTRICTIONS参数 8 6、监听器跟踪 8 6.1 查看跟踪文件、目录和级别 8 6.2 跟踪级别 9 6.3 开启/关闭跟踪 9 6.4 开启带时间跟踪 10 6.5 解读跟踪文件内容 11 6.6 Trcasst解析监听文件 12 6.7 Trcasst监听报告说明 12 四、监听动态注册和静态注册 14 1、注册 14 2、动态注册 15 3、自定义端口的动态注册 16 3.1 增加tnsname.ora服务注册 16 3.2修改local_listener参数注册 17 4、静态注册 17 5、查看注册类型 18 五、监听日志基本操作 19 1、监听器日志特性 19 2、查看监听日志配置 19 3、关闭监听日志 21 4、保存配置 21 5、确认配置生效 21 6、确认配置文件更新成功 22 7、配置监听日志路径 22 8、开启监听日志 22 9、查看和设置监听日志目录 23 10、查看和设置监听日志名称 25 六、监听日志分析 26 1、监听日志格式分析 26 1.1日志格式 26 1.2 监听器无法找到指定服务 26 1.3 实例主动进行动态注册 27 1.4 用户Client连接进程 27 1.5 周期性pmon注册 27 2、外部表分析监听日志 27 2.1 建监听日志目录 27 2.2 建监听日志外部表 28 2.3 解析外部表 28 3、perl脚本格式化监听日志 29 七、远程监听的攻击和防范 29 1、添加远程监听配置 29 2、攻击服务器B监听 30 3、防范-设置节点验证 31 4、防范-配置监听密码(9i) 32
linux系统给 系统给oracle数据库增加新的实例 数据库增加新的实例 eg: 新建实例名orcl 1、新增实例的⽬录 su - oracle cd $ORACLE_BASE/admin mkdir orcl cd orcl mkdir dbdump mkdir adump mkdir pfile cd $ORACLE_BASE/oradate mkdir orcl 2、新增实例的启动⽂件 cd $ORACLE_HOME/dbs cp initorcl.ora initorcl.ora #复制⼀个原有的ora⽂件 vim initorcl.ora #修改为响应信息 ORACLE_BASE要改为绝对路径 不然会报错 3、创建密码⽂件 orapwd file=$ORACLE_BASE/product/10.2.0/db_1/dbs/orapwmydb password=turboblog entries=5 force=y 4、建库 、建数据字典 将下⾯的sql⽂件放到linux系统中 chmod 777 createdb.sql CREATE DATABASE exchange MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE '/u01/app/oracle/oradata/exchange/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local sysaux datafile '/u01/app/oracle/oradata/exchange/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited default temporary tablespace TEMP tempfile '/u01/app/oracle/oradata/exchange/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited undo tablespace UNDOTBS1 datafile '/u01/app/oracle/oradata/exchange/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited logfile GROUP 1 ('/u01/app/oracle/oradata/exchange/redo1.dbf') size 10m, GROUP 2 ('/u01/app/oracle/oradata/exchange/redo2.dbf') size 10m, GROUP 3 ('/u01/app/oracle/oradata/exchange/redo3.dbf') size 10m CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16; export ORACLE_SID=orcl sqlplus / as sysdba SQL> startup nomount; SQL>@路径+createdb.sql SQL> @?/rdbms/admin/catalog.sql; SQL> @?/rdbms/admin/catproc.sql; SQL> @?/sqlplus/admin/pupbld.sql; SQL>startup force; SQL>exit; 5、建监听 cd $ORACLE_BASE/product/10.2.0/db_1/network/admin vim listener.ora 增加节点: (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /oracle/app/product/10.2.0/db) (SID_NAME = orcl) ) 重启监听 lsnrctl stop lsnrctl start

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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