代码改变世界

测试修改gcs_server_processes参数

2018-04-22 23:41  AlfredZhao  阅读(1813)  评论(0编辑  收藏  举报

RAC部署前提是要求各节点的主机硬件一致的,但实际如果碰上一些不规范的客户,经费有限或是扩容时已买不到同样的机器,那么采购的机器会有一些区别,比如RAC各节点的CPU核数有区别,那么默认的gcs_server_processes在各节点之间也可能不同。而我们针对这种情况是建议RAC各节点使用相同的gcs_server_processes参数值,尽可能的确保稳定性。当然,最棒的选择还是用同样的硬件。

1.模拟环境

我有一套Oracle 10.2.0.5 RAC (3 nodes)的RAC测试环境,之前每个虚拟机的CPU都是1,如今将节点2的CPU改为4。 然后去看各个节点的cpu和gcs参数: show parameter cpu show parameter gcs
--NODE1:
SYS@jy1 >show parameter cpu

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cpu_count                            integer     1
parallel_threads_per_cpu             integer     2
SYS@jy1 >show parameter gcs

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
gcs_server_processes                 integer     1
SYS@jy1 >

--NODE2:
SYS@jy2 >show parameter cpu

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cpu_count                            integer     4
parallel_threads_per_cpu             integer     2
SYS@jy2 >show parameter gcs

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
gcs_server_processes                 integer     2
SYS@jy2 >

--NODE3:
SYS@jy3 >show parameter cpu

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cpu_count                            integer     1
parallel_threads_per_cpu             integer     2
SYS@jy3 >show parameter gcs

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
gcs_server_processes                 integer     1
SYS@jy3 >

可以看到节点2的gcs_server_processes是2,其余节点都是1。

2.修改参数

在节点2上操作,统一修改gcs_server_processes参数: alter system set gcs_server_processes = 1 scope=spfile sid='*';
SYS@jy2 >show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +ZHAOJINGYU/newdg/spfilejy.ora
SYS@jy2 >alter system set gcs_server_processes = 1 scope=spfile sid='*';

System altered.

需要重启实例生效。

3.回退修改

可以使用reset回退修改: alter system reset gcs_server_processes scope=spfile sid='*';
--reset 回退
SYS@jy2 >alter system reset gcs_server_processes scope=spfile sid='*';   

System altered.

同样需要重启生效。
实验过程中看了下ASM实例的这个参数本来都是1,也就是不需要修改,实际大家有类似生产环境可以再确认下这个ASM实例上的gcs_server_processes参数是否都是1。
最后做完实验,将RAC第二节点的CPU数调整回1。