诗檀软件专业数据库修复团队
ORA-01115 oerr ora 1115
01115, 00000, "IO error reading block from file %s (block # %s)"
// *Cause: Device on which the file resides is probably offline
// *Action: Restore access to the device
ORA-27091 oerr ora 27091
27091, 00000, "unable to queue I/O"
// *Cause: read/write/readv/writev system call returned error, additional
// information indicates starting block number of I/O
// *Action: check errno
ORA-27069 oerr ora 27069
27069, 00000, "attempt to do I/O beyond the range of the file"
// *Cause: internal error, the range of blocks being read or written is
// outside the range of the file, additional information indicates
// the starting block number, number of blocks in I/O, and the
// last valid block in the file
// *Action: check for trace file and contact Oracle Support
适用于:
Oracle Database - Enterprise Edition –版本10.2.0.4及以上
本文信息适用于任何平台。
10.2.0.1 到 10.2.0.5
有可能 11.1
11.2中修正
症状
以下任一错误显示在alert.log 和/或 跟踪文件中
alert log中通用示例:
文件<trace file name>中错误:
- ORA-19883: Unused Block Optimization stopped for datafile <data file name>
- ORA-01115: IO error reading block from file <data file name> (block # <Block#>)
- ORA-27091: unable to queue I/O
- ORA-27069: attempt to do I/O beyond the range of the file
- Additional information: <Block#>
- Additional information: 1
- Additional information: <Incorrect last Block#>
跟踪文件也可能显示:
- "Error: Bitmap <bitmap#> for file <file#> at block <block#> of datafile <file#>
has incorrect block type, expected: 30, got:<different block type like 6>"
在备份时,该错误可能出现在任意几个数据文件和表空间中。
例如
...
ORA-01115: IO error reading block from file +MT_DATA_01/MT/datafile/abd.451.677765651 (block # 2899969)
ORA-17510: Attempt to do i/o beyond file size
另一个症状是备份后TAIL BITMAP块优化的证据
*** ACTION NAME:(0000145 STARTED16) 2010-12-30 23:09:54.192
*** MODULE NAME
:(backup full datafile) 2010-12-30 23:09:54.192
*** SERVICE NAME:
(abc_backup) 2010-12-30 23:09:54.192
...
...
Bitmap 2 for file xx at block xxxx of datafile ...
Rereading bitmap...
Backup Optimization context dump (krbodmpcx)
你可以在跟踪文件中找到一些关键指标
粗体表示问题的关键标识符或特性
*** 2010-12-30 23:09:54.192
*** ACTION NAME:(0000145 STARTED16) 2010-12-30 23:09:54.192
*** MODULE NAME:
(backup full datafile) 2010-12-30 23:09:54.192
*** SERVICE NAME:
(abc_backup) 2010-12-30 23:09:54.192
*** SESSION ID:(939.28844) 2010-12-30 23:09:54.192
Bitmap 2 for file 179 at block 2891777 of datafile 179 has
incorrect block type, expected: 30, got:6
Rereading bitmap 2 for file 179
relocated at block 2899969
in datafile 179
Backup Optimization context dump (krbodmpcx)
============================================
Information about file being optimized
Datafile name : +ABC_DATA_01/ABC/datafile/X2_idx_h1.451.677765651
Absolute file number : 179
Relative file number : 179
Tablespace number : 176
Tablespace blocksize : 16384
Tablespace is SFT : FALSE
Chkpoint SCN of datafile: 193955971853
Last block in backup : 2891776 <
Information about datafile holding bitmaps
Absolute file number : 179
Relative file number : 179
Chkpoint SCN bitmap file: 193955971853
Blocks mapped per bit : 4
Blocks mapped per byte : 32
Blocks mapped per bitmap: 516096
Bitmaps related information
Number of bitmaps used : 6
Number of head bitmaps : 2
Number of tail bitmaps : 4 <
Number of bitmaps read : 2
Space header related information
SCN of Space Header : 193956083782
Last deallocation scn : 170474335925
Last block in file : 2899972
Space header rel-fno(hc): 179
Size of file in blocks : 2899972
End of data blocks : 2899968 <969 reporting the ORA-1115 and ORA-17510
Max size of file : 3276804
Information about current bitmap
SCN bitmap : 172874328713
Current bitmap number : 2
Valid bitmap? : NO
First block in bitmap : 516101
Last block in bitmap : 1032196
First block in bytemap : 1032165
Statistics fields
Number of blocks read : 1030943
Number of unread blocks : 64
Status fields
All bitmaps processed? : NO
============================================
ORA-19883: Message 19883 not found; product=RDBMS; facility=ORA
; arguments: [+ABC_DATA_01.../X2_idx_h1.451.677765651]
ORA-01115: IO error reading block from file +ABC_DATA_01.../X2_idx_h1.451.677765651 (block # 28999
69)
ORA-17510: Attempt to do i/o beyond file size
原因
该问题是由于
bug: 8354642
如果在备份操作时有LMT数据文件的控制,你可能发现LMT使用的位图被错误计算,导致
ORA-17510: Attempt to do i/o beyond file size error.
该错误不影响备份:问题发生在备份完成后的文件大小计算期间,且在数据文件扩展和备份后,我们使用不正确的信息来确定数据文件的大小
解决方案
修正
最好是到11.2或更高版本
或者如果有,对8354642应用单个补丁
参阅MOS文档ID12827745.8
解决方法
One possible simple workaround is to pre-allocate extents in LMTs that may be likely to extend during a backup time window.一种可能的简单解决方法是在可能会在备份时间窗口期间扩展的LMT中预分配extent。
参考
BUG:8354642 - INTERMITTENT ORA-01115/ORA-27091/ORA-27069 WHILE RUNNING RMAN BACKUPS
NOTE:1088018.1 - Master Note for Handling Oracle Database Corruption Issues