我看里面的内容都是一样的,为什么要分别设两个不同的参数文件呢?

解决方案 »

  1.   

    两者还是有很大差别的呵呵!!一个是文本文件,一个是字符流文件(二进制文件)理论上spfile不能修改的,有时手动修改了,不能正常启动数据库
    spfile能更好的支持数据库的动态参数配置而不用重新启动数据库
      

  2.   

    原来是这样,上次我用记事本修改了SPFILE(当时不知道是2进制文件不能直接修改),结果怎么也启动不了数据库了,无奈只好重新安装ORACLE。。PFILE是文本文档,也就是说可以直接修改对吧。
    但如果修改了PFILE的某个参数而SPFILE的对应参数没有做修改,岂不是设置冲突了?
    运行数据库时不会出问题吗?
      

  3.   

    oracle先找spfile,找不到spfile再使用pfile,spfile是二进制文件,不可以随便修改,pfile可以修改。
    使用spfile的好处是,可以在oracle已经使用过程中修改参数马上有效,而不用重启数据库,很有用的,可以实现动态修改参数。
      

  4.   

    那完全可以抛弃不用PFILE吧,还用它做什么
      

  5.   

    是可以不用pfile啊,这是以前老版本留下来的,但它也有它的好处,就是可以直接记事本打开修改使用!
      

  6.   


    --pfile=parameter file  init%SID%.ora init.ora文件,文本文件--spfile=sever parameter file spfile%SID%.ora, spfile.ora 二进制文件,
    --内容同init.ora,只是要求必须在服务器上
    oracle spfile
      

  7.   

    那请问oracle10g里可以只用PFILE而不用SPFILE吗?
    因为SPFILE不能手动修改。。
      

  8.   

    那你可以随时重启数据库吗?如果不能的话,尝试使用命令直接修改参数。
    通过show parameter spfile 
    可以看到到底使用的是哪个文件,value 有值 是spfile,否则是pfile.
      

  9.   

    pfile 是纯文本格式,spfile 是二进制格式。
    oracle8 以前都是用pfile(这个我不太确定),这样是直接启动的时候读入,无法修改,要修改只能是重启。
    spfile 是将参数置入内存中, 有一部分是可以直接修改的,而不用重启数据库。
    默认情况下是  有spfile先读取spfile,没有spfile 直接读取pfile
      

  10.   

    也就是说10g也可以没有SPFILE了,只要有SPFILE或PFILE其中一个就可以了
    我明白了,谢谢各位大侠指点