pfile文件默认是“init.ora.时间”,存于%Oraclehome%\admin\SID\pfile\
spfile文件默认是“SPFILESID.ora”,存于%Oraclehome%\Db_1\database\
这两个文件中有部分参数都是相同的,请高手指点下两者的作用,联系与区别。
SPFILE是9以后的,大部分参数可以动态修改的,如果9以后SPFILE,PFILE共存的话系统会先看有无SPFILE有就用SPFILE,没有就找PFILE.
从ORACLE 9I开始 存在两种初始化文件,第一种通常称为‘PFILE’,它可以用任何文本编辑器打开如NOTEPAD 进行编辑的文本文件。
第二种称为‘SPFILE’ 是9I的第一个版本开始引入的,它是ORACLE服务器创建的一个二进制文件, 创建数据库时自动创建SPFILE,不能用文本编辑器直接编辑,可以用OEM 更改。
在默认情况下 将在启动实例时引用SPFILE 若没在找PFILE
pfile不能动态修改,修改后必须重启instance才使parameter生效;
spfile可以动态修改,一部分parameter修改后立即生效,不需重启instance。
oracle的趋势就是使参数能动态修改,而不需要重起数据库,对于spfile就是9i再次指导思想下的最新的产物。
alter system set xxx=xxx scope=spfile or memory or both;
对与init.ora 这个文件,在默认建库的情况下会带有时间撮
所以 startup pfile='%oracle_home%\admin\%ora_sid%\pfile\init.ora'
会提示无法找到参数文件。
关于spfile的使用,在eygle 的(spfile 的应运)一文中就详细的介绍了。