ITPub博客

首页 > 数据库 > Oracle > spfile与pfile有何不同?

spfile与pfile有何不同?

原创 Oracle 作者:烟花丶易冷 时间:2016-06-21 14:33:05 0 删除 编辑
pfile和spfile有什么不同?
一、从者的文件内容上区别为:spfile是二进制文件,pfile是文本文件;且spfile比pfile用起来更灵活。
二、相同点:二者均为Oracle数据库参数文件,主要运用于存储系统的配置信息。
三、二者之间的相互联系:
   这些参数文件的形式可能为以下两种之一:
    <1>、pfile,ASCII文本文件,可用文件编辑器进行修改,在系统启动时会用到;
    <2>spfile(服务器参数文件),Oracle可读文件,只能在Oracle服务器内部修改,这是目前推荐的配置方式 。
spfile是存储初始参数的文件,oracle中有大约200多个初始参数,都存在这里,spfile是Oracle数据库的默认启动方式,发出启动命令后,Oracle实例将查找名为$Oralce_home/dbs/initSID.org的服务器参数。
在RAC(Real Application Cluster,Oracle 真正应用集群)环境下,这个文件只包含一个指向共享spfile文件(要么是raw(裸)设备上,要么在共享文件系统上,如OCFS)的链接。pfile的文件也是存储初始参数的文件,两者的区别是,spfile是server端维护的,pfile是客户端维护的,spfile只能通过系统更改,pfile 可以使用文本文件打开后手工修改。9i后才有spfile,以前的版本是没有spfile只有pfile,后来的颁本,两个文件并存。
 在linux AS 4 update5下,实现创建两者如下:
 可以从pfile创建spfile,反之亦可。创建spfile的命令如下:
 Create spfile='/u01/ORCL/spfileORCL.ora'  From Pfile='opt/oracle/admin/orcl/ORCL/pfile/initORCL.ora';
反过来,也可用类似的命令从spfile创建pfile:
Create pfile='opt/oracle/admin/orcl/ORCL/pfile/initORCL.ora'  From spfile='/u01/ORCL/spfileORCL.ora';
有些时候,可以很方便地按以下步骤重新配置Oracle实例:
 (1)、创建pfile.
 (2)、通过编辑pfile来修改Oracle系统。
 (3)、使用pfile启动实例。
 (4)、进行所需的修改,如设置归档等。
 (5)、创建spfile。
 (6)、使用spfile重启实例。

四、Oracle的启动顺序
用startup(默认)启动的顺序
1、直接在默认路径下查找spfileSID.ora --(spfile)
如果没有再查找2
2、直接在默认路径下查找spfile.ora      
如果没有再查找3
3、直接在默认路径下查找initSID.ora --(pfile) 
如果还没有 就会报错……
 
用startup pfile= 的方式启动。
1、指定的pfile:
startup pfile=$ORACLE_HOME/dbs/initSID.ora
2、使用spfile启动,需要变通一下如:vi一个pfile文件XXX.ora,包含以下内容:
spfile=$ORACLE_HOME/dbs/spfileSID.ora
再用startup pfile=$ORACLE_HOME/dbs/aaa.ora启动即可。
若使用这两种方式,级别会高于直接用startup启动的方式。

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

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

注册时间:2014-04-20

  • 博文量
    135
  • 访问量
    270001