ITPub博客

首页 > 数据库 > Oracle > Oracle中的spfile和 pfile

Oracle中的spfile和 pfile

原创 Oracle 作者:DB_SUN 时间:2014-01-20 18:48:48 0 删除 编辑

                                        Oracle中的spfile pfile

    在数据库启动时,要读参数文件,可以看到有spfile.ora initENMOEDU.ora,spfileENMOEDU.ora三个参数文件,那么数据库在启动的时候到底是读的哪一个参数文件呢?

(一)当三个文件都存在时

[oracle@ENMOEDU dbs]$ ls

hc_ENMOEDU.dat   init.ora    orapwENMOEDU       spfile.ora    initENMOEDU.ora  lkENMOEDU  spfileENMOEDU.ora

 [oracle@ENMOEDU ~]$ sqlplus / as sysdba

SYS@ENMOEDU > startup

SYS@ENMOEDU > show parameter spfile;

 

NAME                              TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      /u01/app/oracle/product/11.2.0
                                                
/dbhome_1/dbs/spfileENMOEDU.ora

  可以看到数据库将会优先读取spfileENMOEDU.ora文件

(二)那么在数据库启动的时候就找不到文件spfileENMOEDU.ora。那么数据库将会怎么样呢?

[oracle@ENMOEDU dbs]$ mv spfileENMOEDU.ora spfileENMOEDU.ora.bak

[oracle@ENMOEDU dbs]$ ls

hc_ENMOEDU.dat   init.ora   orapwENMOEDU           spfile.ora

initENMOEDU.ora  lkENMOEDU  spfileENMOEDU.ora.bak

 

[oracle@ENMOEDU ~]$ sqlplus / as sysdba

SYS@ENMOEDU > startup

SYS@ENMOEDU > show parameter spfile;

 

NAME                               TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      /u01/app/oracle/product/11.2.0

                                                    /dbhome_1/dbs/spfile.ora

  我们可以看到数据库是通过spfile.ora开启的;

(三)当没有spfileENMOEDU.oraspfile.ora文件的时候数据库是怎么启动的呢?

 

[oracle@ENMOEDU dbs]$ mv spfile.ora  spfile.ora.bak

[oracle@ENMOEDU dbs]$ ls

hc_ENMOEDU.dat   init.ora   orapwENMOEDU           spfile.ora.bak

initENMOEDU.ora  lkENMOEDU  spfileENMOEDU.ora.bak

 

[oracle@ENMOEDU ~]$ sqlplus / as sysdba

 

SYS@ENMOEDU > startup

SYS@ENMOEDU > show parameter spfile;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string

 

SYS@ENMOEDU > select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified = 'TRUE';

 

DECODE

------

Pfile

 
spfileENMOEDU.oraspfile.ora都没有的时候,oracle就会执行initENMOEDU.ora文件。

总结:在oracle启动数据库的时候,默认优先读spfileENMOEDU.ora,其次是spfile.ora,最后是initENMOEDU.ora



2014.1.20

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29435844/viewspace-1073226/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-14

  • 博文量
    41
  • 访问量
    190529