修改了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;来修改