热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle10g服务器端RAC负载均衡配置代码

前面我们介绍了RAC的客户端负载均衡配置,接下来就到了服务器端RAC负载均衡配置的具体代码介绍了,通过两方面的配置和测试之后,整个负载均衡才能完全的设置好。那么就让我们赶紧来看一下啊具体的服务器端RAC负载均衡配置内容吧。从Oracle10g开始,服务器端

前面我们介绍了RAC的客户端负载均衡配置,接下来就到了服务器端RAC负载均衡配置的具体代码介绍了,通过两方面的配置和测试之后,整个负载均衡才能完全的设置好。那么就让我们赶紧来看一下啊具体的服务器端RAC负载均衡配置内容吧。 从Oracle 10g开始,服务器端

前面我们介绍了RAC的客户端负载均衡配置,接下来就到了服务器端RAC负载均衡配置的具体代码介绍了,通过两方面的配置和测试之后,整个负载均衡才能完全的设置好。那么就让我们赶紧来看一下啊具体的服务器端RAC负载均衡配置内容吧。

从Oracle 10g开始,服务器端负载均衡可以根据RAC中各节点的负荷及连接数情况,而判定将新的客户端连接分配到负荷最小的节点上去?RAC中各节点的PMON进程每3秒会将各自节点的负荷(包括LOAD?最大LOAD?CPU使用率)及连接数更新到service_register里面,然后假如节点的负荷有发生变化,将会通知到监听程序,由监听程序再决定新的客户端连接分配至哪个节点?假如RAC中一个节点的监听失败了,PMON每一分钟会去检查一次是否已经恢复正常?

服务器端的监听配置是在各节点的tnsnames.ora里面添加一个连接到各个节点监听的条目,然后再在初始化参数里面设置remote_listeners这个参数?

1?测试客户端的TNS

修改客户端tnsnames.ora的文件,内容如下:

  1. RACDB =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.170)(PORT = 1521))
  5. )
  6. (CONNECT_DATA =
  7. (SERVICE_NAME = racdb.chenxu.yo2.cn)
  8. )
  9. )

测试连接:

  1. SQL> conn sys/chenxu@racdb as sysdba
  2. 已连接?
  3. SQL>
  4. SQL> show parameter instance_name
  5. NAME TYPE VALUE
  6. ------------------------------------ ----------- ---------------------
  7. instance_name string RACDB1

2?配置服务器端TNS

服务器端的监听配置是在各节点的tnsnames.ora里面添加一个连接到各个节点监听的条目(红色代码),在服务器端每个节点的tnsnames.ora里面的内容如下:

  1. [root@NODE01 admin]# pwd
  2. /orac/orahome/oracle/product/10.2.0/db_1/network/admin
  3. [root@NODE01 admin]#
  4. [root@NODE01 admin]# more tnsnames.ora
  5. # tnsnames.ora Network Configuration File: /orac/orahome/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
  6. # Generated by Oracle configuration tools.
  7. RACDB1 =
  8. (DESCRIPTION =
  9. (ADDRESS = (PROTOCOL = TCP)(HOST = vip01)(PORT = 1521))
  10. (CONNECT_DATA =
  11. (SERVER = DEDICATED)
  12. (SERVICE_NAME = RACDB.chenxu.yo2.cn)
  13. (INSTANCE_NAME = RACDB1)
  14. )
  15. )
  16. RACDB =
  17. (DESCRIPTION =
  18. (ADDRESS = (PROTOCOL = TCP)(HOST = vip01)(PORT = 1521))
  19. (ADDRESS = (PROTOCOL = TCP)(HOST = vip02)(PORT = 1521))
  20. (LOAD_BALANCE = yes)
  21. (CONNECT_DATA =
  22. (SERVER = DEDICATED)
  23. (SERVICE_NAME = RACDB.chenxu.yo2.cn)
  24. )
  25. )
  26. LISTENERS_RACDB =
  27. (ADDRESS_LIST =
  28. (ADDRESS = (PROTOCOL = TCP)(HOST = vip01)(PORT = 1521))
  29. (ADDRESS = (PROTOCOL = TCP)(HOST = vip02)(PORT = 1521))
  30. )
  31. RACDB2 =
  32. (DESCRIPTION =
  33. (ADDRESS = (PROTOCOL = TCP)(HOST = vip02)(PORT = 1521))
  34. (CONNECT_DATA =
  35. (SERVER = DEDICATED)
  36. (SERVICE_NAME = RACDB.chenxu.yo2.cn)
  37. (INSTANCE_NAME = RACDB2)
  38. )
  39. )

3?在初始化参数中设置参数remote_listeners

  1. SQL> conn sys/chenxu@racdb as sysdba
  2. 已连接?
  3. SQL> show parameter remote_listener
  4. NAME TYPE VALUE
  5. ------------------------------------ ----------- ------------------------
  6. remote_listener string
  7. SQL>
  8. SQL> alter system set remote_listener='LISTENERS_RACDB' sid='*';
  9. #(reset命令可以撤销设置,恢复默认值)
  10. 系统已更改?
  11. SQL>
  12. SQL> show parameter remote_listener
  13. NAME TYPE VALUE
  14. ------------------------------------ ----------- ---------------------
  15. remote_listener string LISTENERS_RACDB

正确配置参数后,通过lsnrctl status命令看到在监听启动以后,可以看到监听器上有2个instance?

  1. [root@NODE01 bin]# lsnrctl status
  2. LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 18-DEC-2008 05:40:08
  3. Copyright (c) 1991, 2005, Oracle. All rights reserved.
  4. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
  5. STATUS of the LISTENER
  6. ------------------------
  7. Alias LISTENER_NODE01
  8. Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
  9. Start Date 18-DEC-2008 00:18:07
  10. Uptime 0 days 5 hr. 22 min. 1 sec
  11. Trace Level off
  12. Security ON: Local OS Authentication
  13. SNMP OFF
  14. Listener Parameter File /orac/orahome/oracle/product/10.2.0/db_1/network/admin/listener.ora
  15. Listener Log File /orac/orahome/oracle/product/10.2.0/db_1/network/log/listener_node01.log
  16. Listening Endpoints Summary...
  17. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.170)(PORT=1521)))
  18. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.180)(PORT=1521)))
  19. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
  20. Services Summary...
  21. Service "+ASM" has 1 instance(s).
  22. Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
  23. Service "+ASM_XPT" has 1 instance(s).
  24. Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
  25. Service "RACDB.chenxu.yo2.cn" has 2 instance(s).
  26. Instance "RACDB1", status READY, has 2 handler(s) for this service...
  27. Instance "RACDB2", status READY, has 1 handler(s) for this service...
  28. Service "RACDBXDB.chenxu.yo2.cn" has 2 instance(s).
  29. Instance "RACDB1", status READY, has 1 handler(s) for this service...
  30. Instance "RACDB2", status READY, has 1 handler(s) for this service...
  31. Service "RACDB_XPT.chenxu.yo2.cn" has 2 instance(s).
  32. Instance "RACDB1", status READY, has 2 handler(s) for this service...
  33. Instance "RACDB2", status READY, has 1 handler(s) for this service...
  34. The command completed successfully

这时在客户端用sqlplus连接服务器数据库可能会出现如下错误:

  1. ERROR:
  2. ORA-12545: 因目标主机或对象不存在,连接失败

4?解决ORA-12545连接失败问题

配置客户端的Hosts文件

通过在客户端的Hosts文件中加入对两个服务名的名字解析可以解决ORA-12545问题?在windows下Hosts文件在C:\WINDOWS\system32\drivers\etc目录下,在linux修改/etc/hosts文件的内容?添加如下内容:

  1. 192.168.1.170 node01
  2. 192.168.1.171 node02
  3. 其中node01?node02为服务器节点的主机名?
  4. [root@NODE01 bin]# hostname
  5. NODE01

5?通过客户端测试RAC负载均衡配置

  1. 开启sqlplus_1:
  2. SQL> conn sys/chenxu@racdb as sysdba
  3. 已连接?
  4. SQL> show parameter instance_name
  5. NAME TYPE VALUE
  6. ------------------------------------ ----------- ---------------
  7. instance_name string RACDB1

开启sqlplus_2:

  1. SQL> conn sys/chenxu@racdb as sysdba
  2. 已连接?
  3. SQL> show parameter instance_name
  4. NAME TYPE VALUE
  5. ------------------------------------ ----------- -------------
  6. instance_name string RACDB2

可以看到客户端能够连接到实例RACDB2,说明基于服务器端RAC负载均衡配置成功?

推荐阅读
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 护墙_搭建LVS负载均衡NAT和DR模式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了搭建LVS负载均衡NAT和DR模式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Linux系统高级网络配置:链路聚合
    链路聚合网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同 ... [详细]
author-avatar
xhl583337984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有