Oracle RAC中如何通过alter system命令批量修改多个参数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计943个文字,预计阅读时间需要4分钟。
相关专题:
alter system在RAC中必须加sid=*才能批量生效
单实例下 alter system set processes=8000 scope=spfile 就能改全库,但在rac里不加 sid 参数,默认只作用于当前连接的实例,其他节点完全不受影响。这是最常踩的坑——你以为改了全局,其实只动了一个节点。
正确写法是显式指定通配符:ALTER SYSTEM SET processes=8000 SCOPE=SPFILE SID='*'。注意单引号不能省,* 必须被包裹,否则报 ORA-00922(missing or invalid option)。
-
SID='*'表示所有实例都写入 spfile,下次启动时全部生效 - 如果只写
SID='rac1',就只改第一个节点;漏掉某个节点,后续启动可能因参数不一致报 ORA-00093 或 ORA-01078 -
SCOPE=MEMORY不支持SID='*',它只能作用于当前会话所在实例,RAC 中慎用
哪些参数必须重启才生效?改完别急着验证
不是所有参数改完 SCOPE=SPFILE 就算完事。像 processes、sga_max_size、pga_aggregate_limit 这类底层资源类参数,属于静态参数,修改后必须重启实例才加载。
本文共计943个文字,预计阅读时间需要4分钟。
相关专题:
alter system在RAC中必须加sid=*才能批量生效
单实例下 alter system set processes=8000 scope=spfile 就能改全库,但在rac里不加 sid 参数,默认只作用于当前连接的实例,其他节点完全不受影响。这是最常踩的坑——你以为改了全局,其实只动了一个节点。
正确写法是显式指定通配符:ALTER SYSTEM SET processes=8000 SCOPE=SPFILE SID='*'。注意单引号不能省,* 必须被包裹,否则报 ORA-00922(missing or invalid option)。
-
SID='*'表示所有实例都写入 spfile,下次启动时全部生效 - 如果只写
SID='rac1',就只改第一个节点;漏掉某个节点,后续启动可能因参数不一致报 ORA-00093 或 ORA-01078 -
SCOPE=MEMORY不支持SID='*',它只能作用于当前会话所在实例,RAC 中慎用
哪些参数必须重启才生效?改完别急着验证
不是所有参数改完 SCOPE=SPFILE 就算完事。像 processes、sga_max_size、pga_aggregate_limit 这类底层资源类参数,属于静态参数,修改后必须重启实例才加载。

