pfile 参数文件可以用记事本打开,只能静态修改 init<sid>.ora spfile:参数文件可以在数据库里动态修改,下次重启生效: alter system set xxxx=xxx scope=spfile;ORACLE 在启动时,寻找参数文件的过程如下: 1>spfile<sid>.ora 2>init<sid>.ora 谁先找到优先用谁,都找不到的话 报ERROR
alter system set xxxx=xxx scope=both; --这种方式不需重启,both=memory,spfile
spfile是二进制的,不能通过文本编辑直接修改的,可以通过命令修改。 pfile是文本文件,可以通过文本编辑直接修改。 目前是用spfile,更好管理。 两者转换: create spfile form pfile; create pfile from spfile;oracle先会查找spfile,如果没有再找pfile,再没有再找init<sid>.ora,还没有就报错了
init<sid>.ora
spfile:参数文件可以在数据库里动态修改,下次重启生效:
alter system set xxxx=xxx scope=spfile;ORACLE 在启动时,寻找参数文件的过程如下:
1>spfile<sid>.ora
2>init<sid>.ora
谁先找到优先用谁,都找不到的话 报ERROR
--这种方式不需重启,both=memory,spfile
pfile是文本文件,可以通过文本编辑直接修改。
目前是用spfile,更好管理。
两者转换:
create spfile form pfile;
create pfile from spfile;oracle先会查找spfile,如果没有再找pfile,再没有再找init<sid>.ora,还没有就报错了
spfile 为二进制文件,它只能通过数据库命令进行修改,或者使用create语句在spfile和pfile之间进行转换。spfile加强了安全性,并且参数可以动态修改。在修改的时候,可以使用scope 指定范围。oracle 加载参数文件时的查找流程:
(1)spfile<ORACLE_SID>.ora ,其缺省目录如下:
UNIX:$ORALCE_HOME/dbs/
NT:%ORACLE_HOME%\database(2)spfile.ora,其缺省目录如下:
UNIX:$ORALCE_HOME/dbs/
NT:%ORACLE_HOME%\database(3)init<ORACLE_SID>.ora ,其缺省目录如下:
UNIX:$ORALCE_HOME/dbs/
NT:%ORACLE_HOME%\database
补充一下:
ORACLE 在启动时,一般在默认路径$ORACLE_HOME/dbs或$ORACLE_HOME/database下搜索参数文件
顺序是
spfile<SID>.ora->spfile.ora->init<SID>.ora->init.ora
当然在启动数据库时手工指定pfile
startup pfile=<pfile全路径>
spfile<SID>.ora->spfile.ora->init<SID>.ora->init.ora
spfile是二进制文件,pfile是文本文件,可以直接使用文本编译器编辑的