引子:这几天在两台服务器构建的RAC里面运行几个运算量非常大的JOB,所以非常关注数据库的Linux服务器的性能运行情况。我在Linux用TOP命令监测服务器CPU和内存的整体消耗,发现一台服务器的CPU只有50%id,这表明只剩下50%的空闲,另一台服务器的CPU是97%id,这表明有97%的空闲,这种状态反映两台服务器中有一台超负荷运行,另一种完全没有运行,为什么会现出这种情况呢?RAC应该可以做到负载均衡的??以下为检测步骤:
一、运用些语句srvctl status database -d sdwjsis,提示:I
instance sdwjsis1 is not running on node sdwjsis01
Instance sdwjsis2 is not running on nodesdwjsis02
为什么会出现这样的问题呢?两台数据库服务器明明在运行中,怎么会没有实例运行在sdwjsis01和sdwjsis02这两个服务器呢?
初步分析可能是我在做一些JOB的存储过程语句的UPDATE操作中时,重启了其中一台Linux服务器采用通常用的命令shutdown immediate关闭数据库,再重启数据库。这种传统的重启过程有可能导致RAC不能够正常启动。
这种情况Oracle论坛解释是:because wedidn't start the database with SRVCTL and eventhough database was open manually usingsqlplus the cluster has no clue on it.也就是说不能够用旧方式来重启RAC的数据库
二、正确的重启关闭方式详见: