Oracle学习笔记1-Oracle中的启动参数文件:spfile和pfile

来源:互联网 发布:足球数据智能分析 编辑:程序博客网 时间:2024/05/04 17:07

首先,说明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语句:  'Q4NR3

  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<sid>.ora > spfile.ora > init<sid>.ora  (也就是说spfile优先于pfile,而且本实例设置优先于全局设置)

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

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

原创粉丝点击