Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数。
SPfile(Server ParameterFile,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。
区别:
- 启动次序 Spfile优先于Pfile。
- PFILE是静态文件,修改之后不会马上生效,数据库必须重新启动读取这个文件才行。
- SPFILE是动态参数文件,是二进制文件,不可以直接用记事本等等程序做修改,可以用ALTER命令做修改,不用重起数据库也能生效。
修改spfile方法:
#查看参数信息
sql>show parameter;
#修改参数
sql>alter system set 参数名=值 scope=参数2;
参数2取值有如下三种:
1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。适用于动态和静态初始化参数。
2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。在重启DB后会丟失,会复原为修改前的参数值。
3. scope=both: 对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效。
修改pfile方法:
直接找到pfile,然后用vi命令进行修改;
#用pfile启动数据库
sql> startup pfile=‘..init..ora’
#根据pfile创建spfile
sql> create spfile from pfile;
Oracle的启动顺序
用startup(默认)启动的顺序
1、直接在默认路径下查找spfileSID.ora--(spfile)
如果没有再查找2
2、直接在默认路径下查找spfile.ora
如果没有再查找3
3、直接在默认路径下查找initSID.ora--(pfile)
如果还没有就会报错……
用startuppfile= 的方式启动。
1、指定的pfile:
startup pfile=$ORACLE_HOME/dbs/initSID.ora
2、使用spfile启动,需要变通一下如:vi一个pfile文件aaa.ora,包含以下内容:
spfile=$ORACLE_HOME/dbs/spfileSID.ora
再用startup pfile=$ORACLE_HOME/dbs/aaa.ora启动即可。
若使用这两种方式,级别会高于直接用startup启动的方式。