Oracle DataBase书中指出,在启动实例之前,Oracle默认的读取参数文件的顺序为:
    1、spfile<SID>.ora
    2、spfile.ora
    3、init<SID>.ora
    麻烦高手指教一下,这三个文件的区别是什么?还有,spfile文件与pfile文件的区别是什么?谢谢

解决方案 »

  1.   

    1、spfile<SID>.ora
    2、spfile.ora
    上面两除了文件名没有区别,都是二进制形式的参数文件,放在服务器端,不能直接编辑
    3、init<SID>.ora
    早期版本的参数文件,以文本形式,可直接编辑,可存在服务和客户端。
      

  2.   

    spfile---service parameter file服务器参数文件,见名知意,该文件放在服务器端
    pfile ----parameter file参数文件,应该放在服务器和客户端都可以。
      

  3.   


      1、spfile<SID>.ora
      2、spfile.ora
      3、init<SID>.ora这三个文件都是参数文件。 
    对于同一个实例而言,spfile 和pfile 里面的内容是一样的, 区别的是spfile是二进制文件,pfile 就是普通的文本文件。 把spfile弄成二进制文件,就是防止意外的修改。 不过我自己的经验是,spfile 也可以用editplus 等工具打开。 也能看到里面的内容。 不过文件开头有一段乱码。 spfile 和pfile 是可以相互转换的。  
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
      

  4.   

    首先,都是参数文件,一个是文本可编辑pfile,另一个是不可编辑spfile.pfile多半用来测试你最合适的参数组合
    你可以编辑多个pfile,逐个测试,选择一个能满足要求的转换为spfilepfile在RMAN做恢复spfile的时候有特殊用途.
    只有当你从pfile启动db之后,才可以从autobackup里面恢复spfile.
      

  5.   

    可以从spfile 创建pfile:
     create spfile [='xx/xx/xx/spfile$ORACLE_SID.ora'] from pfile;
    也可以从pfile 创建spfile:
     create pfile [='xx/xx/xx/filename.ora'] from spfile;还可以创建spfile和pfile从memory:
    create spfile from memory;
    create pfile from memory;
      

  6.   

    1.spfile是二进制文件,pfile是文本文件可以用记事本或者是linux的vi直接打开的;
    2.spfile可以用pfile来创建,同样的pfile也可以用spfile来创建;
    3.Oracle推荐使用spfile
    4.启动实例的时候,spfile是放在服务器端的,pfile是放在本地的(如果在别的机子上启动实例,就一定要有pfile),所以spfile要比pfile要好
      

  7.   

    spfile和pfile的区别启动时候搜索顺序:spfileSID.ora->spfile.ora->initSID.oraspfile以二进制文件存在。要修改需要使用sql语句,如:alter system set parameter='values';如果不方便使用SQL语句进行操作,可以通过SQL语句: 
      SQL> CREATE SPFILE FROM PFILE; 这种方法将二进制文本形式的spfile转换成文本形式的pfile格式,然后再用vi编辑器对其中的参数进行直观修改,以达到方便的目的。也有create pfile from spfile.pfile是文本文件。是静态文件。修改后不能立即生效。数据库必须重新启动读取这个文件才行。