PFileandSPFile文件的管理和使用

一、摘要
ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型PFile and SPFile。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网页空间、营销软件、网站建设、坊子网站维护、网站推广。

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

  1. 概念

初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件。

服务器参数文件(Server Parameter Files),从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改。

  1. 修改spfile参数的三种模式

scope=both 立即并永久生效(默认模式)
scope=spfile 下次启动才能生效
scope=memory 立即生效但下次启动时失效

  1. 如何查看SPFILE与PFILE的目录位置

方法1. 查看动态视图

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

方法2. 查看参数

SQL> show parameter spfile
SQL> show parameter pfile

  1. 判断数据库从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;

此v$spparameter的值来自于spfile文件定义,并在动态性能视图中显示

二、PFile 和 SPFile的区别

1:PFILE是文本文件的,而SPFILE是二进制格式的。

 PFILE文件可以用文本编辑器打开手工配置、而SPFILE不行,只能通过SQL命令在线修改。

 从操作系统上可以看到这两者的区别,初始化参数文件为ASCII文本文件,SPFILE为数据文件。

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

3:手动创建数据库而不是通过DBCA,则开始创建数据库时,只能定义PFILE。

创建数据库完成后再通过PFILE定义SPFILE
三、Oracle启用参数文件顺序
Step1. spfile.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/

Step2. spfile.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/

Step3. init.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/
PFile and SPFile文件的管理和使用
使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句
select name,value,ISSYS_MODIFIABLE from v$parameter;


名称栏目:PFileandSPFile文件的管理和使用
网页链接:http://pwwzsj.com/article/pijhgc.html