五. 是否使用了spfile
判断是否使用了SPFILE,可以使用以下方法:
1.查询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:
SQL> SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;
COUNT(*)
----------
32
或者使用以下查询,如果true值返回非0值,那么说明我们使用的是spfile.
SQL> select isspecified, count(*) from v$spparameter group
2 by isspecified;
ISSPECIFIED COUNT(*)
------------ ----------
FALSE 226
TRUE 33
更为直接的:
SQL> select decode(count(*), 1, 'spfile', 'pfile' ) USED
2 from v$spparameter
3 where rownum=1 and isspecified='TRUE'
4 /
USED
------------
spfile