爪哇一角

共同探讨STRUTS#HIBERNATE#SPRING#EJB等技术
posts - 3, comments - 6, trackbacks - 0, articles - 99
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

刚改了oracle10g里面的SPFILE***.ORA文件,数据库就起不来了,抱错ORA-27046: file size is not a multiple of logical block size 。原因是动态服务器参数文件(SPFILE)是一个二进制文件,是不可以手工修改的,如果手工改了,该文件就成为了无效文件。

此时可以通过以下方法解决:

1。将SPFILE中的参数拷贝到init***.ora文件中

2。删除DATABASE目录下的SPFILE***.ORA文件。

3。启动数据库 (现在应该可以成功启动)

4。SQL> create spfile from pfile 生成SPFIEL

使用startup命令启动数据库,Oralce将会按照以下顺序在缺省目录中(9i,10i在oracle_home/database目录下)搜索参数文件:(1)spfile***.ora文件 (2)如果没有spfile***.ora文件就用spfile.ora文件(3) 如果没有spfile.ora文件就用init***.ora(4)如果没有init***.ora文件就用 pfile.ora

所以上面我们采取的解决方法是将破坏的SPFILE中的参数复制到init***.ora中,然后删除SPFILE文件,这样启动时就会用init***.ora文件启动,然后用create spfile from pfile 命令生成SPFIEL

以后如果要修改SPFILE中的参数绝对不能在手工修改SPFILE文件了,用下面命令:alter system set parameter=Value scope=spfile|both|memory 例如:alter system set db_cache_size=24M scope=both;来修改


只有注册用户登录后才能发表评论。


网站导航: