网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  pfile创建spfile后数据库无法启动的问题     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:56次  录入:管理员--2008-02-27  
 

问题:使用pfile可以正常启动数据库,利用这个pfile创建spfile后,数据库竟然无法启动。 style="text-indent:2em">

解答:问题的根源很简单,oracle启动处理pfile的机制和创建spfile时候的机制不一样。

重现的问题:

[oracle@yangtk ~]$ sqlplus "/ as sysdba"

sql*plus: release 11.1.0.6.0 - production on thu jan 10 13:20:10 2008

copyright (c) 1982, 2007, oracle. all rights reserved.

connected to an idle instance.

sql> startup
oracle instance started.

total system global area 267825152 bytes
fixed size 1299316 bytes
variable size 176163980 bytes
database buffers 88080384 bytes
redo buffers 2281472 bytes
database mounted.
database opened.
sql> show parameter spfile

name type value
----------------------------- -----------------spfile string /data/oracle/product/11.1/dbs/
spfileora11g.ora
sql> shutdown immediate
database closed.
database dismounted.
oracle instance shut down.

以下创建一个可以使oracle正常启动的pfile:

sql> host
[oracle@yangtk ~]$ echo "spfile=/data/oracle/product/11.1/dbs/spfileora11g.ora" >> initora11g.ora
[oracle@yangtk ~]$ exit
exit

sql> startup pfile=initora11g.ora
oracle instance started.

total system global area 267825152 bytes
fixed size 1299316 bytes
variable size 176163980 bytes
database buffers 88080384 bytes
redo buffers 2281472 bytes
database mounted.
database opened.
sql> shutdown immediate
database closed.
database dismounted.
oracle instance shut down.

以下通过create spfile from pfile的方式根据刚刚建立的pfile创建默认的spfile文件:

sql> create spfile from pfile='/home/oracle/initora11g.ora';

file created.

sql> startup

oracle永远处于startup的状态,数据库的实例无法启动。

中止oracle启动进程,检查最后创建的spfile文件:

[oracle@yangtk ~]$ strings /data/oracle/product/11.1/dbs/spfileora11g.ora 
*.spfile='/data/oracle/product/11.1/dbs/spfileora11g.ora'

文件中仅包含一行记录,且这个参数指向当前文件本身,oracle在试图读取参数文件时碰到了死循环,因此启动一直没有反应。

从这里也可以看到启动和create spfile时对pfile处理的区别:启动的时候,如果参数文件中指定spfile的位置,则oracle会根据配置找到相应的spfile,读取其中的配置;而对于create spfile语句,仅仅是将pfile中所有的内容转化为spfile中二进制的内容,不会根据参数值的设置寻找其他文件。

注释:在创建spfile时,不能仅仅参考pfile能否启动数据库这个条件,还要检查pfile的内容,否则很可能造成初始化参数设置丢失的情况。

 
 
上一篇: oracle所进行的回滚仅针对用户发出的事务 (1)    下一篇: 如何利用oracle的全文索引实现切词功能
  相关文档
讲解oracle数据库ora-00257故障的解决过程 (1) 07-15
详细讲解oracle数据库灾难防护的核心技术 02-29
调整Oracle应用系统性能的原则和方法 04-12
详细讲解oracle中isnumeric的三种实现 03-06
oracle数据库连接池下如何跟踪终端会话 (1) 04-16
Oracle数据库应用系统调优方法介绍 04-11
教你轻松掌握如何用toad或oem管理job 02-28
多方面讲解pl/sql编程存在的几个缺点 (1) 04-16
详细讲解oracle数据库中不同的恢复特性 04-11
实例解析将审计跟踪保存在一个系统表内 09-01
关于Oracle数据库各种存储形式的概述 04-11
oracle数据库定时jobs作业的使用方法 08-04
影响oracle数据库系统性能的初始化参数 11-19
Oracle中用脚本跟踪存储过程实例讲解 04-11
监控Oracle数据库的常用shell脚本 01-15
相关的技术培训(oracle) 01-15
实例讲解表碎片的具体起因及解决的办法 (1) 02-25
实例解析:怎样获得当前 数据库的scn值 11-15
在oracle中重新编译所有无效的存储过程 03-14
细化解析如何共享Oracle数据库身份空间 09-01
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息