spfile >= 9i 详见eygle
1 :
select name,value from v$parameter where name='SPFILE'; --返回空值在使用pfile;
2 :
sql>show parameter spfile; -- 同上;
3:
方法一:
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC
------
FALSE
TRUE
如果只有FALSE,使用的是PFILE,
如果有TRUE,说明用的是SPFILE
方法二:
SQL>show parameters spfile
如果有值说明使用spfile启动,反之pfile
测试一:spfile 启动情况
Oracle 默认是用spfile启动的。 直接启动实例,查询:
SQL> show parameters spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string F:\ORACLE\PRODUCT\DATABASE\SPFILEORCL.ORA
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPECIFIED
-----------
TRUE
FALSE
测试二: pfile 启动情况
先用spfile 创建pfile。 然后用pfile启动数据库。
SQL> create pfile ='D:\ORACLEPFILE.ORA' FROM SPFILE;
文件已创建。
SQL> shutdown immediate -- 只能在doc 下运行,工具不行
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup pfile=d:\orclpfile.ora -- 只能在doc 下运行,工具不行
ORACLE 例程已经启动。
Total System Global Area 849530880 bytes
Fixed Size 1377896 bytes
Variable Size 637536664 bytes
Database Buffers 205520896 bytes
Redo Buffers 5095424 bytes
数据库装载完毕。
数据库已经打开。
SQL> connect sys/orcl as sysdba
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as SYS
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPECIFIED
-----------
FALSE
SQL> show parameters spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
SQL>
参考:eylge and http://blog.csdn.net/tianlesoftware/archive/2010/08/11/5804902.aspx