Oracle pfile和spfile启动

 PFILE是文本文件的,而SPFILE是二进制格式的。PFILE文件可以用文本编辑器打开手工配置、而SPFILE不行,只能通过SQL命令在线修改。从操作系统上可以看到这两者的区别,初始化参数文件为ASCII文本文件,SPFILE为数据文件。

  

在此期间只能pfile启动:

SYS@orcl>startup pfile='/opt/oracle/admin/orcl/pfile/init.ora.421201433344';
ORACLE instance started.
Total System Global Area  413372416 bytes
Fixed Size                  2253784 bytes
Variable Size             327158824 bytes
Database Buffers           79691776 bytes
Redo Buffers                4268032 bytes
Database mounted.
Database opened.

在创建spfile:

create spfile from pfile;

在关闭数据库:

SYS@orcl>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

再启动数据库:

SYS@orcl>startup
ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist [/opt/oracle/product/OraHome/dbs/<ORACLE_BASE>]
ORA-48187: specified directory does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 1

用pfile就可以启动为啥创建了spfile还是不能用呢?

后来发现问题了:

启动的pfile并不是默认路径的pfile,而oracle默认路径的pfile在$ORACLE_HOME/dbs下。
于是,当你create spfile from pfile的时候,spfile其实是根据默认路径下的pfile建立出来的。
而很有可能,你默认路径下的pfile参数设置时有问题的,所以我用下面这个方法创建spfile:

SYS@orcl>create spfile from pfile='/opt/oracle/admin/orcl/pfile/init.ora.421201433344';


File created.

再次启动数据库就可以了:

SYS@orcl>startup
ORACLE instance started.
Total System Global Area  413372416 bytes
Fixed Size                  2253784 bytes
Variable Size             327158824 bytes
Database Buffers           79691776 bytes
Redo Buffers                4268032 bytes
Database mounted.
Database opened.

所以在使用create pfile / spfile  from spfile / spfile 时都是创建默认路径



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值