热门标签 | 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负载均衡配置成功?

推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
author-avatar
手机用户2602927807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有