首页 > 代码库 > oracle的参数文件(pfile,spfile)

oracle的参数文件(pfile,spfile)

参数文件的作用:

   它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。

参数文件分为两类:

  1. 初始化参数文件pfile(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件。文件名通常为init<sid>.ora
  2. 服务器参数文件spfile(Server Parameter Files),从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改。  文件名通常为spfile<sid>.ora,支持RMAN备份。

区别:

  PFILE是文本文件的,而SPFILE是二进制格式的。但是pfile也可以通过more或者less查看

  SPFILE的修改是可以通过SQL命令在线修改,不再需要通过手工修改,对于动态参数所有更改可以立即生效,而PFILE的修改必须重启实例才能生效。

  

优先级别:

oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错

    spfile<sid>.ora --> spfile.ora -->init<sid>.ora

缺省目录:

  %ORACLE_HOME%\dbs

 

修改spfile参数的三种模式:


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

  scope=spfile         下次启动才能生效。

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

比如:

技术分享

 

判断数据库从SPFILE还是PFILE启动?

方式1:

使用的是pfile

技术分享

使用的spfile

技术分享

方式2:

SQL> set linesize 120
SQL> col name format a10
SQL> col value format a60
SQL> select name,value from v$parameter where name=spfile;

NAME             VALUE
-------------------- ------------------------------------------------------------
spfile             /opt/oracle11g/app/db/product/11.2/dbs/spfileyldev.ora

 

重建PFILE或SPFILE

create spfile[=‘xxxxx‘] from pfile[=‘xxxx‘];

create pfile[=‘xxxxx‘] from spfile[=‘xxxx‘];   


通过spfile创建pfile文件(此时会在$ORACLE_HOME/dbs目录下生成pfile:initwgods.ora),
技术分享

指定创建路径:

技术分享

 

oracle的参数文件(pfile,spfile)