ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-27046和ORA-1078错误

ORA-27046和ORA-1078错误

原创 Linux操作系统 作者:yangtingkun 时间:2011-06-13 23:58:48 0 删除 编辑

在利用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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10543529