怎么判断数据库启动用的是spfile还是pfile
1个回答
展开全部
突然想到了这个问题就做了个测试
sql> startup
--操作(操作就是下列的方法,可以判断是否是pfile启动的)
sql> create pfile='/home/oracle/init.ora' from spfile;
sql> shutdown immediate
sql> startup pfile=/home/oracle/init.ora
--操作(操作就是下列的方法,可以判断是否是pfile启动的)
------------------------------------------------------------方法一查询v$parameter动态视图,如果查询结果为空,则为pfile启动,反之则为spfile
select name,value from v$parameter where name='spfile';
------------------------------------------------------------方法二使用show命令,如果查询结果为空,则为pfile启动,反之则为spfile
show parameter spfile
------------------------------------------------------------方法三查新v$spparameter视图,返回值为0,则为pfile启动,反之则为spfile
select count(*) from v$spparameter where value is not null;
------------------------------------------------------------方法四还是v$spparameter视图,如果true返回为0,则为pfile启动,反之为spfile
select isspecified,count(*) from v$spparameter group by isspecified;
------------------------------------------------------------方法五使用下边的语句直接判断
select decode(count(*),1,'spfile','pfile') USED
from v$spparameter where rownum=1 and isspecified='TRUE';USED------pfile------------------------------------------------------------
方法大同小异,相互学习吧
sql> startup
--操作(操作就是下列的方法,可以判断是否是pfile启动的)
sql> create pfile='/home/oracle/init.ora' from spfile;
sql> shutdown immediate
sql> startup pfile=/home/oracle/init.ora
--操作(操作就是下列的方法,可以判断是否是pfile启动的)
------------------------------------------------------------方法一查询v$parameter动态视图,如果查询结果为空,则为pfile启动,反之则为spfile
select name,value from v$parameter where name='spfile';
------------------------------------------------------------方法二使用show命令,如果查询结果为空,则为pfile启动,反之则为spfile
show parameter spfile
------------------------------------------------------------方法三查新v$spparameter视图,返回值为0,则为pfile启动,反之则为spfile
select count(*) from v$spparameter where value is not null;
------------------------------------------------------------方法四还是v$spparameter视图,如果true返回为0,则为pfile启动,反之为spfile
select isspecified,count(*) from v$spparameter group by isspecified;
------------------------------------------------------------方法五使用下边的语句直接判断
select decode(count(*),1,'spfile','pfile') USED
from v$spparameter where rownum=1 and isspecified='TRUE';USED------pfile------------------------------------------------------------
方法大同小异,相互学习吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询