ITPub博客

首页 > Linux操作系统 > Linux操作系统 > (转)Oracle中的启动参数文件:spfile和pfile

(转)Oracle中的启动参数文件:spfile和pfile

原创 Linux操作系统 作者:mahanso 时间:2011-08-04 17:13:35 0 删除 编辑

首先,说明SID是Oracle数据库的实例ID,用来唯一标识一个实例(通常也就是一个Oracle数据库)。 

1,pfile文件是Oracle8i以前的启动参数文件(之后的9i,10g,11g中也能找到它)。以文本形式存在,可以用vi编辑器对其中参数进行修改。文件格式为init.ora或 initSID.ora; 

     文件位置在:在10.0.2\admin\实例名\pfile\文件夹下有个init.ora.xxxxxxxxxxx 文件,后面的xxxxxxxxxxx 是时间戳。

2, spfile用于Oracle9i之后的版本,以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。文件格式为spfileSID.ora(spfile.ora的话就是所有实例通用的参数文件)。

    (1)如果要对spfile文件进行修改,可以在数据库运行时采用SQL语言: 

 

  SQL> ALTER SYSTEM SET PARAMETER = 'VALUES';进行修改。 

 

  ALTER SYSTEM还有选项:SCOPE。SCOPE参数有三个可选值:MEMORY ,SPFILE , BOTH
  MEMORY:只改变当前 实例运行
  SPFILE:只改变SPFILE的设置

  BOTH:改变实例及SPFILE

 

     用spfile以后,所有参数改变都可以写到spfile里面(只要定义scope=spfile或both):

      SQL> ALTER SYSTEM SET PARAMETER = 'VALUES' SCOPE=SPFILE; 

 

  (2)如果不方便使用SQL语句对spfile进行操作,可以先通过SQL语句: 
 

  SQL> CREATE Spfile FROM pfile; 这种方法将二进制文本形式的spfile转换成文本形式的pfile格式,然后再用vi编辑器对其中的参数进行直观修改,以达到方便的目的。

 

      修改完成之后还能通过语句 、将文本形式的pfile格式转换回二进制文本形式的spfile

  SQL> CREATE pfile FROM Spfile; 

 

      (3)Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。spfile保证服务器每次的启动都是一致的,pfile可能会导致启动不一致。因为pfile可以在客户端启动。

 

3,spfile  可以在数据库运行时动态修改参数,有些不需要重启数据库,特殊的还要重启才能生效。

而pfile 不能动态修改数据库参数,文本编辑后必须重启数据库

 

 

4,启动时的查找顺序:
spfile.ora > spfile.ora > init.ora  (也就是说spfile优先于pfile,而且本实例设置优先于全局设置)

 

也可以在启动时指定用哪个文件: 

SQL>startup pfile='Your_Pfile.ora'
SQL>startup spfile='\product\11.1.0\db_1\database\SPFILE_SINKA.ORA' force 

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

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

注册时间:2010-10-18

  • 博文量
    160
  • 访问量
    601109