• oracle参数文件spfile和pfile


    一、参数文件说明
    PFILE(Initialiazation Parameter Files)初始化参数文件,是文本文件,可直使用文本编辑器查看。
    如果数据库使用的是初始化参数文件PFILE,要想永久修改初始化参数,DBA必须要先关闭数据库,再修改该文件,然后用修改后的PFILE重新启动数据库。
    文件名:init.ora

    SPFILE(Server Parameter Files)服务器参数文件,位于服务端,是二进制文件,不能直接修改,在数据库运行的过程中也可以修改该文件。
    路径:$ORACLE_HOME/dbs(linux/Unix系统)    默认名字:spfile+sid.ora 如:spfileorcl.ora
    windows路径为:%ORACLE_HOMEdatabase
    如果数据库使用的是服务器参数文件SPFILE,则DBA使用ALTER SYSTEM SET ... SCOPE=SPFILE命令修改相应参数即可。

    临时修改参数文件:
    ALTER SYSTEM SET .... SCOPE=MEMORY   -----只对当前实例生效,重启实例失效。
    ALTER SESSION SET ....  SCOPE=SPFILE    ----只修改参数文件,重启后才生效。

    ALTER SESSION SET ....  SCOPE=BOTH ----立即生效,重启后也生效。即同时修改参数文件和当前memory

    二、参数文件查看
    SQL> show parameter spfile; --查看参数文件位置
    NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ------------------------------
    spfile                               string                 /home/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora

    SQL> select name,value from v$parameter where name='spfile';
    NAME    VALUE
    spfile  /home/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora

    SQL> show parameter shared_pool_size; --查看具体的某个参数值
    NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ---------
    shared_pool_size                     big integer            0

    SQL> select name,value from v$parameter where name='shared_pool_size'; 

    SQL> show parameters; 显示所有参数文件


    三、使用参数文件启动数据库
    可使用SPFILE和PFILE启动数据库。
    使用SPFILE启动数据库时,直接startup 即可。
    使用PFILE启动数据库时,需要指定pfile文件位置,如:SQL> startup pfile='D: estinit.ora';

    四、参数文件的修改及创建
    如果DBA使用参数文件启动数据库,要想修改参数文件pfile,则必须停止数据库,用文本编辑工具直接修改pfile文件,再使用pfile启动数据库。
    如果数据库使用的是服务器参数文件SPFILE,则DBA使用ALTER SYSTEM SET ... SCOPE=SPFILE命令修改相应参数即可。
    临时修改参数文件:
    ALTER SYSTEM SET .... SCOPE=MEMORY   -----只对当前实例生效,重启实例失效。
    ALTER SESSION SET ....   ----只对当前会话生效    
    由于SPFILE文件是二进制文件,无法直接编辑,如果要修改,可先通过SPFILE创建PFILE(客户端初始化参数文件),PFILE可直接用记事本打开编辑。再通过PFILE创建SPFILE即可。
    SQL> SHOW PARAMETER SPFILE;
    NAME TYPE VALUE
    ------- ----------- ------------------------------
    spfile string D:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASESPFILEORCL.ORA

    SQL> create pfile = 'D:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASEPFILEORCL.ORA' from spfile;--后也可加上绝对路径from spfile='……';

    文件已创建。

    SQL> create spfile from pfile= 'D:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASEPFILEORCL.ORA'; --从PFILE文件创建SPFILE文件。
    SQL> create spfile='D:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASESPFILEORCL.ORA'  from pfile= 'D:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASEPFILEORCL.ORA';       

    ==============

    修改spfile参数的三种模式:

    scope=both       立次启动才能生效。

    scope=memory     立即并永久生效,(默认模式)

    scope=spfile     下即生效但下次启动时失效

    SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';
    SQL> show parameter spfile;
    SQL> show parameter pfile;
    如果数据库使用spfile参数文件,那么用show parameter spfile与 show parameter pfile的结果一致,如果数据库使用pfile参数文件,那么上面命令得到的结果都是空

    判断数据库从SPFILE还是PFILE启动?
    方法1:查询动态视图V$PARAMETER,如果VALUE值为非空,则是SPFILE启动,否则是PFILE。
    SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

    方法2:SHOW PARAMETER命令查看
    SQL> show parameter spfile;
    方法3:通过v$spparameter视图,如果一下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile

    SQL> SELECT COUNT(1) FROM v$spparameter where value is not null;

          

  • 相关阅读:
    [洛谷P1484] 种树
    Codeforces Round #505 Div. 1 + Div. 2
    [NOIp2015] 斗地主
    ☆ [NOIp2016] 天天爱跑步 「树上差分」
    [NOI2010] 超级钢琴
    [POI2000] 病毒
    [SCOI2010] 股票交易
    [NOI2002] 贪吃的九头龙
    [ZJOI2008] 骑士
    LeetCode 笔记系列 18 Maximal Rectangle [学以致用]
  • 原文地址:https://www.cnblogs.com/rusking/p/4259119.html
Copyright © 2020-2023  润新知