码迷,mamicode.com
首页 > 数据库 > 详细

数据库参数文件PFILE和SPFILE

时间:2018-06-04 23:21:49      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:count   cells   动态   lin   oracle   文件   linu   database   odi   

PFILE和SPFILE都是Oracle 数据库的参数文件;PFILE格式为文本文件,可以直接编辑文件修改,Oracle 9i 以前只能用PFILE来指定和修改数据库初始化参数;SPFILE 格式为二进制文件,只能通过SQL命令修改,Oracle从 9i 开始,引入了SPFILE.

 

1. 如何确定数据库用的是PFILE还是SPFILE?

     a. 执行如下命令,结果为非空, 用的是SPFILE      

Show parameter spfile;

    b.  执行如下查询,结果为非空, 用的是SPFILE

SELECT NAME, VALUE, FROM V$PARAMETER WHERE NAME =‘spfile‘;

    c. 执行如下查询,结果>0, 用的是SPFILE    

SELECT count(*) FROM v$spparameter where isspecified = true;

  

2. 当使用PFILE时,修改数据库初始化参数,重启之后才能生效,非常不方便;

    当使用SPFILE时,如果修改的是静态的数据库初始化参数,重启之后才能生效;如果修改的是动态的数据库初始化参数,可以不用重启,即可生效。具体见下图:     

参数类型

Scope=spfile

Scope=memory

Scope=both

deferred

静态参数

可以,重启服务器生效

不可以

不可以

不可以

动态参数(issys_modifiable为immediate)

可以,重启服务器生效

可以,立即生效,重启服务失效

可以,立即生效,重启服务器仍然有效果

可以

动态参数(issys_modifiable为deferred)

 可以

 不可以

 不可以

 可以

           

 3. 创建PFILE 和 SPFILE      

create spfile[=’spfile_name] from pfile[=pfile_name];

create pfile[=pfile_name] from spfile[=spfile_name];

 

4.参数文件的搜索顺序

     a. spfile<sid>.ora      

Unix/Linux缺省目录    $ORACLE_HOME/dbs/ 
Windows缺省目录       %ORACLE_HOME%\database

    b. spfile.ora

Unix/Linux缺省目录   $ORACLE_HOME/dbs/ 
Windows缺省目录      %ORACLE_HOME%\database

    c.  init<sid>.ora

Unix/Linux缺省目录   $ORACLE_HOME/dbs/ 
Windows缺省目录      %ORACLE_HOME%\database

 

数据库参数文件PFILE和SPFILE

标签:count   cells   动态   lin   oracle   文件   linu   database   odi   

原文地址:https://www.cnblogs.com/dbexpert/p/9136338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!