spfile 、pfile、db启动顺序 SQL> show parameter db_recovery_file_dest_size; SQL> show parameter spfile

本文介绍了Oracle数据库中PFILE(文本参数文件)和SPFILE(服务器参数文件)的区别,包括启动顺序、存放位置以及如何相互转换。详细解释了如何判断数据库是以PFILE还是SPFILE启动,并提供了修改参数文件的方法。此外,还通过实际操作展示了不同情况下创建、修改和使用PFILE与SPFILE的过程。
摘要由CSDN通过智能技术生成

 

pfile, spfile,参数文件,服务器参数文件

1、   PFILESPFILE定义

PFILE:文本参数文件(TEXT PARAMETER FILE)又叫静态参数文件,ASCII文本文件(可以直接编辑)

SPFILE:服务器参数文件(SERVER PARAMETER FILE)。二进制文件(不可以直接编辑,db启动后通过sql命令在线修改。)

 

Oracle启动过程中选择参数文件的顺序:

Oracle9i开始,spfile被引入Oracle数据库,Oracle首选spfile<ORACLE_SID>.ora文件作为启动参数文件;如果该文件不存在,Oracle选择spfile.ora文件;如果前两者都不存在,Oracle将会选择init<ORACLE_SID>.ora文件;如果以上三个文件都不存在,Oracle将无法创建和启动instance

Oracle在启动过程中,会在特定的路径中寻找参数文件,在Unix/Linux下的路径为$ORACLE_HOME/dbs目录,在WINDOWS上的路径为$ORACLE_HOME/database目录。

 

关于参数文件的详细说明:

 新建一个数据库以后,默认启动文件是/dbs目录下的spfile,,执行create pfile from spfile以后,重启数据库,执行show parameter spfile会显示value为空,说明这时不是以spfile启动的,这时执行create pfile from spfile,会出现错误,因为现在没有使用spfile,这里用命令create spfile frompfile ,再重启数据库,发现启动参数为spfile。在刚安装完oracle以后,spfilepfile会出 现在/dbs目录下,这时启动参数为spfile,执行create pfiel from spfile 以后,会在/database目录下产生一个pfile,这时重启数据库,会以/database目录下的pfile启动,重启后,执行create spfile from pfile,会在/database下产生一个spfile文件,这时重启数据库会以/database目录下的spfile启动。也就是说oracle会先找/database目录下的spfilepfile,再找/dbs目录下的spfilepfile

 

 

 

2、   存放位置,查询v$parameter视图,方式有两种。

1SQL> select vp.VALUE from v$parameter vp where vp.NAME = 'spfile';

VALUE

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

F:/ORACLE/PRODUCT/10.2.0/DB_3/DBS/SPFILEFFTEST.ORA

 

2SQL> show parameter spfile;

NAME   TYPE   VALUE

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

spfile   string   F:/ORACLE/PRODUCT/10.2.0/DB_3/DBS/SPFILEFFTEST.ORA

 

实际上,以上两种方式是一样的。方式2)是方式1)的封装语句,从告警文件中可以发现,show parameter其实是执行了方式1)的语句。

一般保存位置:

Spfile位置:$/oracle/product/10.2.0/db_1/dbs/spfile<sid>.ora

对于Windows其位置是:$ORACLE_HOME/database/spfile<SID>.ora

pfile位置:$oracle/oracle/product/10.2.0/admin/<sid>/init.ora.xxxxx

 

$ORACLE_BASE/admin/<sid>/pfile下,你很可能可以看到一个类似这样init.ora.1 92003215317]名字的文件,这就是初始化参数文件,只是跟上了时间戳。对于Oracle920 ,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来 ,你可以去掉这个长后缀,就是标准的pfile文件了。

 

 

3、   判断db系统以pfile还是spfile启动?

1)   show   parameter   spfile命令,如果Value为空,则表示使用以pfile启动db,未创建spfile

SQL> show parameter spfile;

SQL> select name, value from v$parameter where name = 'spfile';

--以下是变种方式:

SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"

       FROM sys.v_$parameter WHERE name = 'spfile';

 

2)   查询v$spparameter视图。如果isspecified

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值