问这个没有意思,只要能够使用具体其中一个就可以了,也可以根据其中一个创建另一个。
create spfile from pfile;
create pfile from spfile;

解决方案 »

  1.   

    缺省的,ORACLE 使用PFILE 启动数据库,SPFILE 必须由PFILE 创建,新创建的SPFILE
    在下一次启动数据库时生效,CREATE SPFILE 需要SYSDBA 或者SYSOPER 的权限:
      

  2.   

    如果SPFILE 已经存在,那么创建会返回以下错误:
    SQL> create spfile from pfile;
    create spfile from pfile
    *
    ERROR 位于第 1 行:
    ORA-32002: 无法创建已由例程使用的 SPFILE
    这也可以用来判断当前是否使用了SPFILE 文件。
      

  3.   

    .查询v$parameter 动态视图,如果以下查询返回空值,那么你在使用pfile.
    SQL> SELECT name,value FROM v$parameter WHERE name='spfile';
    NAME ------------------------------------------------------------------ VALUE ------------------------------------------------------------------ spfile
    %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA
    2 .或者你可以使用SHOW 命令来显示参数设置,如果以下结果value 列返回空值,那
    么说明你在使用pfile:
    SQL> SHOW PARAMETER spfile
    NAME TYPE
    ------------------------------------ ----------------------
    VALUE ------------------------------ spfile
    string
    %ORACLE_HOME%\DATABASE\SPFILE%
    ORACLE_SID%.ORA
    3 .查询v$spparameter 视图
    如果以下查询返回0 值,表示你在使用pfile,否则表明你使用的是spfile: