最近在生产环境上做压力测试,数据库连的是RAC环境,可是发现数据库只有一个实例上有压力,而另一个实例上只有非常少的连接数,并且没有压力上来,所以找始找环境上的问题:

首先我们做简单的连接测试,最开始连节点1:怎么连都没有问题,然后连节点2,怎么连也没有问题,并发数都可以达到100以上。

但是以RAC的方式连接的时候,前5个还好,后面就非常难连接进来了,要反复试很多次才可以连进来,并发100次,有80%的失败率。

检查环境

>> SQL> show parameter local_l

>> NAME                                 TYPE        VALUE

>> ------------------------------------ -----------

>> local_listener                       string      XXXXX

发现两个节点的VALUE值都是空的

用下面的方法修改两个节点的参数

SQL> CONN SYS@CENTER1 AS SYSDBA输入口令: ****已连接。

SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST = ip1)(PORT = 1521))' SID = 'CENTER1';

SQL> CONN SYS@CENTER2 AS SYSDBA输入口令: ****已连接。

SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST = ip2)(PORT = 1521))' SID = 'CENTER2';

修改完成后,再用show parameter local_l检查环境,应该VALUE里面是自己的监听信息。

回来再做压力测试,发现OK了,

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐