代码改变世界

测试修改gcs_server_processes参数

2018-04-22 23:41  AlfredZhao  阅读(...)  评论(...编辑  收藏

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。