ITPub博客

首页 > 数据库 > Oracle > 判断ORACLE启动时使用spfile还是pfile

判断ORACLE启动时使用spfile还是pfile

原创 Oracle 作者:kisslfcr 时间:2017-08-14 15:04:11 0 删除 编辑
自Oracle 9i以后启动的时候默认使用的初始化文件是spfile,我们可以通过如下三种方式来判断是SPFILE还是PFILE方式启动数据库。
1、show parameter spfile
2、show parameter pfile
3、看v$spparameter视图

1、通过查看spfile、pfile视图
用spfile启动数据库:
SQL> show parameter pfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string   C:\ORACLE\PRODUCT\10.2.0\DB_1\
                                              DATABASE\SPFILEWWL.ORA
SQL> show parameter spfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string   C:\ORACLE\PRODUCT\10.2.0\DB_1\
                                              DATABASE\SPFILEWWL.ORA
用pfile启动数据库
SQL> startup pfile=c:\initwwl.ora
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size                  2066080 bytes
Variable Size             385878368 bytes
Database Buffers         1207959552 bytes
Redo Buffers               14708736 bytes
Database mounted.
Database opened.
SQL> col type format a8
SQL> show parameter pfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string
SQL> show parameter spfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string
SQL> 


我们在这里可以很明显的发现,使用spfile启动数据库,在查看show parameter pfile和show parameter spfile 都能看到spfile参数文件的路径。
反之使用pfile启动的数据库,我们无论是查看show parameter pfile还是show parameter spfile 都无法看到pfile参数文件的路径。


2、通过v$spparameter视图
   使用spfile启动数据库,我们可以看到查询出来的结果是spfile
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified = 'TRUE';

DECODE(COUNT
------------
spfile


使用pfile启动数据库,我们可以看到查询出来的结果是pfile。
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';
DECODE(COUNT
------------
pfile



转自ITpub论坛

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29135257/viewspace-2143483/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 批量生成DDL脚本
请登录后发表评论 登录
全部评论

注册时间:2015-01-12

  • 博文量
    246
  • 访问量
    426059