它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。
PFILE是文本文件的,而SPFILE是二进制格式的。但是pfile也可以通过more或者less查看
SPFILE的修改是可以通过SQL命令在线修改,不再需要通过手工修改,对于动态参数所有更改可以立即生效,而PFILE的修改必须重启实例才能生效。
oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错
spfile<sid>.ora --> spfile.ora -->init<sid>.ora
%ORACLE_HOME%\dbs
scope=both 立即并永久生效,(默认模式)
scope=spfile 下次启动才能生效。
scope=memory 立即生效但下次启动时失效
比如:
使用的是pfile
使用的spfile
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
create spfile[=‘xxxxx‘] from pfile[=‘xxxx‘];
create pfile[=‘xxxxx‘] from spfile[=‘xxxx‘];
通过spfile创建pfile文件(此时会在$ORACLE_HOME/dbs目录下生成pfile:initwgods.ora),
指定创建路径:
原文:http://www.cnblogs.com/zydev/p/6074268.html