ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ODM故障一则

ODM故障一则

原创 Linux操作系统 作者:BTxigua 时间:2009-03-19 21:23:32 0 删除 编辑

同事报数据库连接不上:
检查了一下,发现数据库没有open。
tail -f alert*.log
alter database open
Wed Mar 18 17:04:16 2009
ORA-1507 signalled during: alter database open ...
Wed Mar 18 17:04:20 2009
alter database mount
Wed Mar 18 17:04:20 2009
ORA-00202: control file: '/dbdata1/ngdb/dbdg1_1_ctl1'
ORA-17503: ksfdopn:3 Failed to open file /dbdata1/ngdb/dbdg1_1_ctl1
ORA-17500: ODM err:ODM ERROR V-41-3-2-180-2 Filesystem not mounted with ODM/QIO support
ORA-205 signalled during: alter database mount ...

因为这个是BCV库,怀疑BCV没成功,文件系统没有挂上来或者出现了坏块,以前就出现过几次逻辑坏块,导致数据库无法打开的情况,当然报错不是这个样子的。
检查文件系统已经挂载。
# bdf
Filesystem          kbytes    used   avail %used Mounted on
/dev/vx/dsk/dbdg1/dg1_lv
                   926720000 356302284 534767115   40% /dbdata1

检查BCV的日志也没有异常。

测试了控制文件也可以读取,文件系统也能正常读写。
dbbcv:/dbdata1/ngdb>cp dbdg1_1_ctl1 dbdg1_1_ctl1.bak
dbbcv:/dbdata1/ngdb>ls
dbdg1_1_ctl1      dbdg1_1_rd51      dbdg1_8_tmp1      dbdg1_8_udo31
dbdg1_1_ctl1.bak  dbdg1_1_rd91      dbdg1_8_udo11     dbdg1_8_udo41
dbdg1_1_rd11      dbdg1_4_sys       dbdg1_8_udo21     spfilengdb.ora

dbv检查控制文件也正常
>dbv file=dbdg1_1_ctl1
 
DBVERIFY: Release 10.2.0.4.0 - Production on Wed Mar 18 16:52:50 2009
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 

DBV-00103: Specified BLOCKSIZE (8192) differs from actual (16384)
dbbcv:/dbdata1/ngdb>dbv file=dbdg1_1_ctl1 blocksize=16384
 
DBVERIFY: Release 10.2.0.4.0 - Production on Wed Mar 18 16:53:06 2009
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
DBVERIFY - Verification starting : FILE = dbdg1_1_ctl1
 

DBVERIFY - Verification complete
 
Total Pages Examined         : 1804
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 466
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 1338
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Highest block SCN            : 602871 (65535.602871)

 

结果后来才发现,原来是Veritas 的license过期了,导致ODM无法使用。
原来以为License过期会导致文件系统也mount不上来,但这里有几个巧合。
因为这里的环境是HP11.31,自带的vxfs,自己本身也带了vxfs一些基本功能的unlimited license。
所以实际mount的时候是hp vxfs mount上来的,对文件系统的读写也是基于HP的vxfs的。
但是Oracle启用了ODM,所以oracle读取数据文件的时候,是需要通过ODM的,ODM已经过期,所以无法读写控制文件。
如果我们把ODM给disable掉,也就能读取了。
测试如下:
/oracle/app/oracle/product/10.2.0/db/lib>rm libodm10.so
/oracle/app/oracle/product/10.2.0/db/lib>cp libodm10.so.orig libodm10.so
/oracle/app/oracle/product/10.2.0/db/lib>sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 19 21:07:12 2009

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

Connected to an idle instance.

SQL> startup ;
ORACLE instance started.

Total System Global Area 5771362304 bytes
Fixed Size                  2064504 bytes
Variable Size            1275072392 bytes
Database Buffers         4462739456 bytes
Redo Buffers               31485952 bytes
Database mounted.
Database opened.
SQL>
SQL> select count(*) from v$session;

  COUNT(*)
----------
        19

SQL> create table test as select * from dba_objects;

Table created.

SQL> drop table test ;

Table dropped.

SQL>   

在alert日志中也没有出现Oracle instance running with ODM信息,可以确认没有使用ODM。

 

 

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

上一篇: ODM enable on Veritas
请登录后发表评论 登录
全部评论

注册时间:2008-01-31

  • 博文量
    101
  • 访问量
    286862