欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ORA-27046: file size is not a multiple of logical block size

程序员文章站 2022-06-11 16:26:02
...

修改了Oracle 10g里面的SPFILE***.ORA文件,数据库就起不来了,抱错ORA-27046: file size is not a multiple of logical block s

修改了Oracle 10g里面的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;来修改

ORA-27046: file size is not a multiple of logical block size