Oralce 9i版本数据库使用DBCA创建完成数据库AAA之后,在C:\oracle\admin\AAA\pfile文件夹内有一个init.ora.762011181145的文件
然后执行create pfile from spfile语句,又会在C:\oracle\ora92\database中生成一个initAAA.ora的文件,请问以上两个文件是什么关系,哪个才是pfile,那另一个又是什么???

解决方案 »

  1.   

    这个还真得希望有个人来讲清楚,仔细想想自己也不太清楚。
    只知道init.ora.xxxx这个文件,当数据库异常关闭的时候会出现:
    could not open parameter file initORACLE_SID.ora --ORACLE_SID 是你的数据库名
    错误信息的时候,将init.ora.xxxxx这个文件copy到相应的目录然后把名字改成initORACLE_SID.ora就可以正常启动了。
      

  2.   

    这个使用DBCA创建数据库后就自动产生了,而且文件内容看起来比所谓的pfile格式更加清晰,就是不知道他两的关系,刚接触oracle,就被这个弄晕了~
      

  3.   

    了解 pfile,spfile,initSID.ORA这几个文件之间的关系~
      

  4.   

    能不能解释一下pfile和initSID.ORA的区别呢?大哥
      

  5.   

    其实我主要的意思是想弄明白pfile和initSID.ORA.XXX的来龙去脉   
    两个都是初始化参数文件,而且initSID.ORA.XXX 好像更方便直接修改  真搞不清他们之间的区别
     惆怅啊   - -!
      

  6.   

    pfile(Parameter File)从oracle8i开始使用,在oracle9i中也可以用。它以文本文件的形式存在,可以用vi等编辑器对其中数据库参数进行修改。文件格式为initSID.ora。Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例程名.ora”。   Oracle8i使用pfile存储初始化参数配置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效。   spfile专用于oracle9i及以后版本,以二进制文件形式存在,含有数据库及例程的参数和数值,能够使用RMAN进行备份,但不能用文本编辑工具打开,不能用vi编辑器对其中数据库参数进行修改。文件格式为spfileSID.ora。        Oracle9i及以后版本,使用spfile存储初始化参数配置,支持使用ALTER SYSTEM或ALTER SESSION来动态修改那些可动态修改的参数,任何更改能够立即生效,您能够选择使更改只应用于当前实例还是同时应用到spfile。这就使得任何对spfile的修改都能够在命令行完成,我们能够完全告别手工修改初始化参数文档,这就大大减少了人为错误的发生。   除了第一次启动数据库需要pfile(然后根据pfile创建spfile),我们能够不再需要pfile,ORACLE强烈推荐使用spfile,应用其新特性来存储和维护初始化参数配置。   spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。这是个烦琐的过程。 用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both),参数配置有个权威的来源。
      

  7.   

    大哥,我的疑问不在spfile和pfile,而是不明白init.ora.xxx和pfile的区别?
    我新建好数据库后,默认的存放pfile的目录(ORACLE_HOME\database)中好像是没有initSID.pfile文件的,是我后来通过create pfile from spfile手工才建立好的
    然后在ORACLE_BASE\admin\DB_NAME\pfile目录中倒是有一个init.ora.xxx的初始化文件,不知道他们之间的关系是怎样?
      

  8.   

    正解。
    init.ora.762011181145--后面加一串数字的是Oracle 的自动备份
      

  9.   


    init<SID>.ora就是pfile
    init<SID>.ora.***是pfile的备份文件。比如你手动改了它的内容之后,oracle会将改动之前的内容进行备份。pfile是完全明文的。spfile则有些内容是二进制的。