关于oracle pfile和spfile文件说明



•Pfile(Parameter File,参数文件):是基于文本格式的参数文件,含有数据库的配置参数。 默认的名称为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。

•SPfile(Server Parameter File,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。属于二进制文件.

•1oracle实例启动时,寻找参数文件的顺序为
      spfileSID.ora----->spfile.ora------>initSID.ora

•2.spfile与pfile的区别  (1)pfile是文本文件,可以使用文本编辑器进行编辑,而spfile是二进制文件,不能使用任何编辑器进行修改,但是可以使用strings查看文件的内容  (2)pfile里面是静态参数,不能在线修改,而spfile里面有动态参数,可以在线修改,而不用重启oracle;

PS:什么是静态参数,动态参数,如何用?

•动态修改参数 alter system set parameter=Value scope={spfile|both|memory};SCOPE参数有三个可选值:MEMORY:内存中,只改变当前实例运行,重启失效;SPFILE:硬盘中,只改变SPFILE的设置,需要重启生效(如果修改的是静态参数,则必须指定SCOPE=SPFILE,否则将会报ORA-02095错。);BOTH:改变内存及SPFILE(使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句)。

•静态级:pfile,只能通过create pfile from spfile,来编辑修改文件,只有重启数据库才能生效;

•动态级:spfile,会话级:alter session,当前会话生效;

                            系统级:alter system +scope

3用startup(默认)启动的顺序

•1、直接在默认路径下查找spfileSID.ora --(spfile)如果没有再查找2

•2、直接在默认路径下查找spfile.ora      如果没有再查找3

•3、直接在默认路径下查找initSID.ora --(pfile) 如果还没有 就会报错……

4startup pfile= <> 的方式启动。

•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启动的方式。

5可以通过以下命令查看oracle使用pfile启动,还是spfile启动

6.oracle的spfile,pfile存放位置

• pfile:$ORACLE_HOME/dbs目录下,如果数据库是用dbca创建的话,则在$ORACLE_BASE/admin/ora/pfile还有一个pfile文件,并且   在$ORACLE_HOME/dbs目录下创建一个spfileSID.ora的spfile文件

• spfile:$ORACLE_HOME/dbs目录下

7spfile与pfile互相创建

•(1)如果oracle是从pfile启动,则可以使用如下命令创建spfile    

• SQL> create spfile from pfile

•(2)如果oracle是从spfile启动,则可以使用以下命令创建pfile     

•SQL> create pfile from spfile

8利用pfile启动oracle实例

•SQL>STARTUP PFILE = $ORACLE_HOME/dbs/initORCL.ora
————————————————
版权声明:本文为CSDN博主「qiu_zhi_liao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qiu_zhi_liao/java/article/details/83660533

相关推荐