oracle数据库在启动和恢复都涉及这二个参数文件,
特别是修改重要参数是
遇到几个问题,小记一下。
spfile是服务器参数二进制文件,不可直接修改,而pfile可直接修改
create spfile from pfile 指的是将二进制文本形式的spfile转换成文本形式的pfile,
再直接修改其中的参数。
create pfile from spfile 将文本pfile格式转换成二进制pfile。
Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。spfile保证服务器每次的启动都是一致的,pfile可能会导致启动不一致。因为pfile可以在客户端启动。
启动时的查找顺序:
spfile<sid>.ora > spfile.ora > init<sid>.ora (也就是说spfile优先于pfile,而且本实例设置优先于全局设置)
a. spfile${ORACLE_SID}.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
b. spfile.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
c. init${ORACLESID}.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database or
${ORACLE_HOME}\admin\db_name\pfile\
创建了spfile,重新启动数据库,Oracle 会按顺序搜索以上目录,spfile 就会自动生效。