技术开发 频道

Kamus详解RAC环境中的负载均衡

  对于Service Balancing,包含Powerful automatic workload management和Runtime load balancing两个方面。

  关于Fast Application Notification,Kamus也做了相应的介绍。

  早期的数据卫士提供了相对快速的应用程序会话故障转移,在切换和故障转移期间使用了透明应用程序故障转移(Transparent Application Failover,TAF)功能,但Oracle 11g R2现在提供了快速应用程序通知(Fast Application Notification ,FAN)功能, Fast Application notification(FAN)是这样一种特性:它过滤并发布那些被认为是意义重大的特殊目标的高可用性事件。使得应用程序故障转移更快了。

  对负载平衡中可能产生的问题,kamus给出了2个常见的案例:

  Case1:

D:\Temp>sqlplus system/oracle@racdb
SQL
*Plus: Release 10.2.0.3.0 - Production on Sat May 19 15:34:07 2007
Copyright (c)
1982, 2006, Oracle.  All Rights Reserved.
ERROR:
ORA
-12545: Connect failed because target host or object does not exist
Enter
user-name:
Workaround:
alter system set LOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=<VIP_address>)(PORT=1521))" scope=both sid='instance_name';
Or only use Client-side connection balancing:
alter system set remote_listener='' scope=both;

  Case2:

  在使用客户端连接RAC服务时,间歇性报“ORA-01017: invalid username/password; logon denied”错误。

  经检查,如果使用普通数据库用户连接数据库,每次连接都会成功。

  但是如果使用sysdba用户,因为客户端连接使用load balance方式,每次连接到VIP1时,可以正常登陆,但是连接到VIP2实例上则会报ORA-01017错误。

  判断为节点2上的orapw密码文件与数据库中SYS用户的密码不相符。

  解决方法:

  在VIP2实例中重新设置SYS用户密码,将会自动更新VIP2主机上的orapw文件。

SQL> ALTER USER SYS INDETIFIED BY oracle;

  重新设置完毕以后,错误解决。

  演讲的第二部分谈到了关于Failover(失效接管)的问题,也分别从客户端和服务器端两种情形进行了讲解。

  1.Client-side Failover

   a) Connect Time Failover

   b)Transparent Application Failover (TAF)

  2.Serer-side Failover

   a)Transparent Application Failover(TAF) with Service

  最后,他分析了Failover 中常见的问题ORA-01034 with GLOBAL_DBNAME产生的原因及解决办法。

  详细的演讲PPT,您可以到:http://www.itpub.net/thread-1287920-1-1.html去下载。

0
相关文章