• [ORACLE]Oracle 参数文件


    本文运行环境

    SQL> select BANNER_FULL from v$version;
    
    BANNER_FULL
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0

    1.参数文件:

        是一个包含一系列参数及参数对应值的操作系统文件。
    类型:
        (Initialization Parameters Files)    pfile: 文本文件
        Server Parameter Files                  spfile 文件,该文件为二进制格式        --V$SPPARAMETER <---X$KSPSPFILE
        
        对于动态参数所有更改可以立即生效,同时你可以选择使更改只应用于当前实例还是同时应用到 spfile ,对于静态参数我们只能将变更应用到 spfile 文件,这些变更在数据库重启后生效。

    select sid,name,value from v$spparameter where value is not null;
    
    SID     NAME      VALUE
    ---------------------------------------- -------------------                         ----------------
    *     processes 500
    *     nls_language                                 AMERICAN
    
    ....
    *     audit_trail                                  db
    *     db_name  D4CDB
    *     open_cursors                                  300
    *     optimizer_index_cost_adj                      100
    *     statistics_level                              ALL
    *     diagnostic_dest                              /oracle/D4C
    *     enable_pluggable_database                      true


    查询输出结果中的 SID 项,如果 SID 为“*”则意味着参数设置对 RAC 集群中的所有实例有效,如果是指定了实例名称的,则只对相应实例生效;对于单实例数据库,则 SID项设置皆为“*”

    V$SYSTEM_PARAMETER -->实例(INSTANCE)级别生效的参数设置,-->系统(SYSTEM)级别的参数设置;
    V$PARAMETER        -->当一个会话(SESSION)创建时,会首先从 V$SYSTEM_PARAMETER 继承参数设置,显示在会话级别生效的参数设置,如果在会话级别修改了参数设置,这里的参数值就可能和V$SYSTEM_PARAMETER 显示的有所不同
    V$PARAMETER2 和 V$PARAMETER 的区别在于,对于存在多个参数值的参数,在这个视图中分多行记录,
    V$SYSTEM_PARAMETER2 和V$PARAMETER2类似

    2.SPFILE 的创建
      

     create spfile from pfile;

    缺省的,spfile 会创建到系统缺省目录,在 Unix 下的缺省目录为 $ORACLE_HOME/dbs在 Windows 上的缺省目录为$ORACLE_HOMEdatabase。
    3.由内存创建参数文件

       create <spfile|pfile> from memory;

    4.SPFILE 的搜索顺序
      使用 startup 命令:  spfile<ORACLE_SID>.ora -->spfile.ora -->init<ORACLE_SID>.ora

    5.使用 PFILE/SPFILE 启动数据库
        

    startup pfile='/oracle/D4C/193/dbs/init.ora';

         你可以在 PFILE 链接到 SPFILE 文件,同时在 PFILE 中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置
           修改 PFILE 文件内容如下:
    #Pfile link to SPFILE
    SPFILE= '/oracle/D4C/193/dbs/init.ora'
    log_archive_start = false
    可以预见这个 log_archive_start 参数设置将会代替 SPFILE 中的设置

    6.修改参数
    SCOPE 参数有三个可选值:MEMORY ,SPFILE , BOTH

    •     MEMORY-只改变当前实例运行,重新启动数据库后失效
    •     SPFILE-只改变 SPFILE 的设置,不改变当前实例运行,重新启动数据库后生效
    •     BOTH-同时改变实例及 SPFILE,当前更改立即生效,重新启动数据库后仍然有效。

    针对 RAC 环境,ALTER SYSTEM 还可以指定 SID 参数,对不同实例进行不同设置    。所以通过 spfile 修改参数的完整命令如下:

    alter system set <parameter_name> =<value> scope = memory|spfile|both [sid=<sid_name>]

    7.解决 SPFILE 参数修改错误

        sqlplus "/ as sysdba"
        Connected to an idle instance.
        SQL> create pfile from spfile;
        File created.
        startup pfile=$ORACLE_HOME/dbs/initeygle.ora


    8.重置 spfile 中设置的参数
        恢复某个参数为缺省值时,可以使用如下命令:

        alter system reset parameter <scope=memory|spfile|both> sid=’sid|*

        验证: strings spfile.ora |grep open

    9.是否使用了 spfile

    SELECT name,value FROM v$parameter WHERE name='spfile';
    
    NAME                    VALUE
    -----                  ------------------------------------------------
    spfile                    /oracle/D4C/193/dbs/spfileD4C.ora
    
    show parameter spfile;
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    spfile                     string     /oracle/D4C/193/dbs/spfileD4C.ora
    SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;
    
      COUNT(*)
    ----------
        30
  • 相关阅读:
    03构建之法阅读笔记3—团队模式
    软件工程学习进度博客10
    第一阶段冲刺10
    第一阶段冲刺9
    第一阶段冲刺8
    第一阶段冲刺7
    第一阶段冲刺6
    第一阶段冲刺5
    团队项目冲刺第六天
    团队项目冲刺第五天
  • 原文地址:https://www.cnblogs.com/tingxin/p/12858765.html
Copyright © 2020-2023  润新知