ORA-27046和ORA-1078错误

在利用srvctl启动ASM的时候碰到了这两个错误。

 

 

详细错误为:

[oracle@node1 dbs]$ srvctl start asm -n node1
PRKS-1009 : Failed to start ASM instance "+ASM1" on node "node1", [PRKS-1009 : Failed to start ASM instance "+ASM1" on node "node1", [node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 13 19:34:00 2011
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:Enter user-name: Connected to an idle instance.
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:SQL> ORA-01565: error in identifying file '/u01/app/oracle/product/10.2.0/db_1/dbs/init+ASM1.ora'
node1:ora.node1.ASM1.asm:ORA-27046: file size is not a multiple of logical block size
node1:ora.node1.ASM1.asm:Additional information: 1
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:ORA-01078: failure in processing system parameters
node1:ora.node1.ASM1.asm:SQL> Disconnected
node1:ora.node1.ASM1.asm:
CRS-0215: Could not start resource 'ora.node1.ASM1.asm'.]]
[PRKS-1009 : Failed to start ASM instance "+ASM1" on node "node1", [node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 13 19:34:00 2011
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:Enter user-name: Connected to an idle instance.
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:SQL> ORA-01565: error in identifying file '/u01/app/oracle/product/10.2.0/db_1/dbs/init+ASM1.ora'
node1:ora.node1.ASM1.asm:ORA-27046: file size is not a multiple of logical block size
node1:ora.node1.ASM1.asm:Additional information: 1
node1:ora.node1.ASM1.asm:
node1:ora.node1.ASM1.asm:ORA-01078: failure in processing system parameters
node1:ora.node1.ASM1.asm:SQL> Disconnected
node1:ora.node1.ASM1.asm:
CRS-0215: Could not start resource 'ora.node1.ASM1.asm'.]]

可以看到,关键错误包括三个,分别是ORA-1565ORA-27046ORA-1078。其中ORA-1565错误指出错误的文件,而ORA-1078指出是在处理系统参数时报错。只有ORA-27046错误比较奇怪,对于一个文本文件而言,Oracle为什么回去检查文件是否满足逻辑块的整数倍呢。

检查对应的初始化文件,并未发现任何的错误,尝试手工启动ASM

[oracle@node1 dbs]$ export ORACLE_SID=+ASM1
[oracle@node1 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 13 19:22:10 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup
ASM instance started

Total System Global Area 130023424 bytes
Fixed Size 2082208 bytes
Variable Size 102775392 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup pfile=/u01/app/oracle/product/10.2.0/db_1/dbs/init+ASM1.ora
ASM instance started

Total System Global Area 130023424 bytes
Fixed Size 2082208 bytes
Variable Size 102775392 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Oracle Label Security, OLAP,
Data Mining and Real Application Testing options

无论是直接启动,还是指定参数启动,都没有问题。那么说明并非是初始化参数的问题,也不是ASM的问题,而应该是srvctl的配置问题。

于是删除了asm的配置,然后重新添加,问题解决:

[oracle@node1 oracle]$ srvctl remove asm -n node1
[oracle@node1 oracle]$ srvctl add asm -n node1 -i +ASM1 -o /u01/app/oracle/product/10.2.0/db_1
[oracle@node1 oracle]$ srvctl start asm -n node1

那么是什么原因导致了错误的出现呢,询问了执行asm信息添加的人,发现在添加ASM的时候指定-p参数,并且指定的文件就是刚才的那个pfile文件。

对于srvctl add asm命令,-p指定的是spfile文件,如果这时指定的是一个pfile文件,那么Oracle会安装spfile的格式去检查这个文件文件,那么出现上面的ORA-27046的错误也是再正常不过了。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-697848/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-697848/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值