oracle不支持dia,DIA-48216 错误

在使用ADRCI命令的时候,碰到了这个错误。

错误信息如下:

bash-3.00$ adrci

ADRCI: Release 11.1.0.6.0 - Beta on星期五4月3 00:57:35 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

ADR base = "/data/oracle"

adrci> show home

ADR Homes:

diag/rdbms/test11g/test11g

diag/clients/user_oracle/host_1520143511_11

diag/clients/user_unknown/host_411310321_11

diag/tnslsnr/netdb1/listener

adrci> set home diag/rdbms/test11g/test11g

adrci> show alert

ADR Home = /data/oracle/diag/rdbms/test11g/test11g:

*************************************************************************

DIA-48216: Field Len Exceeds Max Field Length [5] [0] [20] [20]

这时就报了这个错误,如果在执行其他的命令,比如show incident,那么刚才没有显示的show alert的部分内容就会显示出来:

adrci> show incident

chived

ORA-19502: write error on file "", block number  (block size=)

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance test11g - Archival Error

ORA-16014: log 1 sequence# 1351 not archived, no available destinations

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

Errors in file /data/oracle/diag/rdbms/test11g/test11g/trace/test11g_arc1_2030.trc:

ORA-16014: log 1 sequence# 1351 not archived, no available destinations

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

2008-07-07 16:48:19.564000 +08:00

ARC2: Closing local archive destination LOG_ARCHIVE_DEST_1: '/data/oradata/test11g/archivelog/1_1351_639087572.dbf' (error 19502)

(test11g)

Errors in file /data/oracle/diag/rdbms/test11g/test11g/trace/test11g_arc2_2032.trc:

ORA-19502: write error on file "/data/oradata/test11g/archivelog/1_1351_639087572.dbf", block number 18433 (block size=512)

ORA-27063: number of bytes read/written is incorrect

SVR4 Error: 28: No space left on device

Additional information: -1

Additional information: 1048576

ORA-19502: write error on file "/data/oradata/test11g/archivelog/1_1351_639087572.dbf", block number 1 (block size=512)

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance test11g - Archival Error

ORA-16038: log 1 sequence# 1351 cannot be archived

ORA-19502: write error on file "", block number  (block size=)

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

Errors in file /data/oracle/diag/rdbms/test11g/test11g/trace/test11g_arc2_2032.trc:

ORA-16038: log 1 sequence# 1351 cannot be archived

ORA-19502: write error on file "", block number  (block size=)

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance test11g - Archival Error

ORA-16014: log 1 sequence# 1351 not archived, no available destinations

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

Errors in file /data/oracle/diag/rdbms/test11g/test11g/trace/test11g_arc2_2032.trc:

ORA-16014: log 1 sequence# 1351 not archived, no available destinations

ORA-00312: online log 1 thread 1: '/data/oracle/oradata/test11g/redo01.log'

ADR Home = /data/oracle/diag/rdbms/test11g/test11g:

*************************************************************************

INCIDENT_ID  PROBLEM_KEY                 CREATE_TIME

------------ --------------------------- ----------------------------------

18318        ORA 7445 [_memcpy()+120]    2008-12-26 00:18:15.238140 +08:00

18199        ORA 7445 [_memcpy()+120]    2008-12-26 00:15:13.928626 +08:00

18198        ORA 7445 [_memcpy()+120]    2008-12-26 00:11:11.145517 +08:00

15989        ORA 600 [17092]             2008-10-14 02:32:16.507569 +08:00

15973        ORA 600 [kupdls_rdData-01]  2008-10-05 08:00:23.783814 +08:00

15960        ORA 600 [kupdls_rdData-01]  2008-10-14 02:07:26.658728 +08:00

15959        ORA 600 [kupdls_rdData-01]  2008-10-08 01:05:53.160055 +08:00

15958        ORA 600 [kupdls_rdData-01]  2008-10-08 01:02:03.092177 +08:00

15957        ORA 600 [kupdls_rdData-01]  2008-10-05 08:01:30.902312 +08:00

15910        ORA 600 [kupdls_rdData-01]  2008-10-08 01:09:02.958271 +08:00

15909        ORA 600 [kupdls_rdData-01]  2008-10-08 01:01:20.237790 +08:00

15893        ORA 600 [729]               2008-09-25 18:23:24.133284 +08:00

11019        ORA 600 [15851]             2008-06-24 16:39:06.831932 +08:00

13 rows fetched

执行一些查询的操作也会报错:

adrci> show alert -p "message_text like 'ORA-00600%'"

ADR Home = /data/oracle/diag/rdbms/test11g/test11g:

*************************************************************************

DIA-48216: Field Len Exceeds Max Field Length [5] [0] [20] [20]

查询了一下metalink文档,Oracle确认是bug,Oracle在文档Doc ID:784840.1中进行了比较详细的描述,问题是XML文档/alert/log.xml文件的格式出现了错误导致了这个问题。

Oracle给出的一个解决问题的办法是备份这个文件,然后清空里面错误的结构,从而避免这个错误的产生。

根据上面显示的错误信息,基本上确认是由于数据库中无法归档错误,导致了同一个时间点产生了大量的错误信息,导致Oracle在处理这些错误时,超过了MESSAGE_TEXT text(2049)的长度限制。

备份老的log.xml,取原文件的后10000条记录作为新的log.xml:

bash-3.00$ mv log.xml log.xml.bak

bash-3.00$ tail -10000 log.xml.bak > log.xml

编辑新的log.xml文件,删除文件开头部分xml不对应的部分,然后退出adrci,重现登陆:

adrci> exit

bash-3.00$ adrci

ADRCI: Release 11.1.0.6.0 - Beta on星期五4月3 01:43:29 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

ADR base = "/data/oracle"

adrci> set home diag/rdbms/test11g/test11g

adrci> show alert -p "message_text like 'ORA-00600%'"

ADR Home = /data/oracle/diag/rdbms/test11g/test11g:

*************************************************************************

问题消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值