Oracle 初始化参数文件pfile和spfile

pfile和spfile的区别

pfile :Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件,可以在操作系统级别修改。当spfile文件修改出现错误导致oracle无法启动时,可以使用 pfile文件启动数据库

spfile:从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改,只能在sql下通过alter system set 修改其中的参数。

              如 ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE = SPFILE 

      其中 scope有三个参数,分别为

      scope=both       立即并永久生效,(默认模式)
      scope=spfile     下次启动才能生效。
      scope=memory     立即生效但下次启动时失效


查看spfile的位置

1.SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

2.show parameter spfile


验证是否是spfile启动

1.执行SELECT ISSPECIFIED,count(*) FROM v$spparameter group by  ISSPECIFIED; 

   如果结果又true值,说明是spfile启动

2.show parameter spfile 如果value值不为空,则为spfile启动


pfile文件的创建和使用pfile文件启动数据库

1.创建pfile文件

  create pfile from spfile; 创建的pfile默认位置在 $ORACLE_HOME/dbs/ initorcl.ora ,initorcl.ora是默认的pfile文件名

  create pfile='/home/oracle/pfile' from spfile;  指定pfile的路径和文件名

2.使用pfile文件启动数据库

startup force pfile='?/dbs/initorcl.ora'


从pfile创建spfile

create spfile from pfile='/home/oracle/pfile';

因为spfile在数据库没有启动的情况下也能创建,所有通过pfile和spfile的互转,可以在数据库无法启动的情况下修改spfile文件


查看spfile参数是否可以动态修改

以log_buffer为例

select NAME,ISSES_MODIFIABLE, ISSYS_MODIFIABLE from v$parameter where name like '%log_b%';
NAME ISSES ISSYS_MOD
-------------------- ----- ---------
log_buffer FALSE FALSE
可以看出log_buffer参数不可以动态修改

spfile启动,查找spfile文件的顺序

• 按以下顺序搜索$ORACLE_HOME/dbs中具有特定名称的文件:
1. 搜索spfile<SID>.ora。
2. 如果未找到spfile<SID>.ora,则搜索spfile.ora。
3. 如果未找到spfile.ora,则搜索init<SID>.ora。



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值