zoukankan      html  css  js  c++  java
  • RAC环境修改参数生效测试

    本篇文档--目的:实验测试在RAC环境下,修改数据库参数与单实例相比,需要注意的地方

    --举例说明,在实际生产环境下,以下参数很可能会需要修改

    --在安装数据库完成后,很可能没有标准化,初始化文档,没有对以下参数进行调整

    SQL> show parameter db_files

    NAME   VALUE

    -------------------------------------------------

    db_files    200

    --实验测试

    节点一、对此参数调整 加大至800

    SQL> alter system set db_files=800 scope=spfile;

    --节点二、数据库实例OPEN

    --重启节点一数据库

    SQL> shutdown immediate;
    startup

    --查看节点一的Alert日志

    --从日志看,节点一的实例启动,已经成功读取db_files=800后的参数值了

    Using parameter settings in server-side pfile /u01/app/oracle/product/11.2.0/db_1/dbs/initjx1.ora
    System parameters with non-default values:

      db_files                 = 800

    --SQLPLUS --STARTUP  显示内容
    ORACLE instance started.

    Total System Global Area 484356096 bytes
    Fixed Size 2229584 bytes
    Variable Size 297798320 bytes
    Database Buffers 176160768 bytes
    Redo Buffers 8167424 bytes
    ORA-01105: mount is incompatible with mounts by other instances
    ORA-01174: DB_FILES is 800 buts needs to be 200 to be compatible

    --报错,在RAC环境,修改全局参数,重启生效scope=spfile的参数,单纯启动一个实例是危险的,需要重启所有节点的数据库实例,来完成参数的修改

    --本次解决方法:重启节点二实例,完成参数的修改

    测试二、隐含参数设置

    修改参数,不加sid='*'

    节点一实例修改参数:

    SQL> alter system set "_gc_policy_time"=10 scope=spfile;

    SQL> alter system set "_gc_read_mostly_locking"=true scope=spfile;

    --两个节点实例,都相互,关闭,重启RAC实例

    SQL> shutdown immediate;

    --节点一,先启动

    startup

    查询参数

    SQL> show parameter "_gc_policy_time"

    NAME              VALUE

    ------------------------------

    _gc_policy_time   10

    SQL> show parameter "_gc_read_mostly_locking"

    NAME                                 VALUE

    ------------------------------
    _gc_read_mostly_locking    TRUE

    --节点二,再启动

    一切正常

    测试三、对数据库参数进行sid =2 单独配置,重启测试

    --数据库节点2 修改参数,指定sid自身

    SQL> alter system set "_gc_read_mostly_locking"=false sid='2' scope=spfile;

    SQL> startup force;  

    --发现未生效

    --对于隐含参数--在本次测试环境中,是全局生效,而不能单独一个节点生效

    --https://www.cnblogs.com/jyzhao/p/5391746.html

    --参考lob  实验还原报错失败,未能配置两个节点不同的参数值

    --解决方法如上,去查询验证,两个节点实例的参数-- 匹配不一致的参数,进行修改一致,然后都使用同一个参数文件启动实例就OK

    --ORA-01105,ORA-01606  --如果是修改隐含参数,会报这两个错误,解决方法

    set linesize 333 col name for a35 col description for a66 col value for a30 SELECT i.ksppinm name, i.ksppdesc description, CV.ksppstvl VALUE FROM sys.x$ksppi i, sys.x$ksppcv CV WHERE i.inst_id = USERENV ('Instance') AND CV.inst_id = USERENV ('Instance') AND i.indx = CV.indx AND i.ksppinm LIKE '/_gc%' ESCAPE '/' ORDER BY REPLACE (i.ksppinm, '_', '');

    实验结论:在RAC环境中,最好修改参数sid='*' 安全可靠,因为暂时未明确知道哪些参数是默认全局修改,什么参数是默认单节点修改的,+* 靠谱,不容易出问题

                      在RAC环境中,修改全局参数scope=spfile生效时,需重启所有实例,不要偷懒,避免某个实例故障后,由于参数不一致导致实例无法启动的尴尬事件

  • 相关阅读:
    【作业4】测试作业-兴趣问题清单
    【读后感3】高效程序员的45个习惯
    【作业3】关于C语言的问卷调查
    【作业2】价值观作业
    Spring的零配置
    Spring容器中bean的作用域
    Spring注入方式
    Spring整合Struts2
    my first go
    Struts2对ajax的支持
  • 原文地址:https://www.cnblogs.com/lvcha001/p/9401363.html
Copyright © 2011-2022 走看看