判断是否使用了SPFILE,可以使用以下方法:
1.查询v$parameter动态视图,如果以下查询返回空值,那么你在使用pfile.
SQL> SELECT name,value FROM v$parameter WHERE ; 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 2 GROUP 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 /
------------ spfile |
评论