oracle ORA-01114、ORA-27067错误解决方法

今天有朋友问到如下一则案例,ora-01114,ora-27067以及osd-04026错误同时出现:

*** action name:() 2009-04-01 09:31:00.762
*** module name:(jdbc thin client) 2009-04-01 09:31:00.762
*** service name:(sys$users) 2009-04-01 09:31:00.762
*** session id:(145.9) 2009-04-01 09:31:00.762
*** 2009-04-01 09:31:00.762
ksedmp: internal or fatal error
ora-01114: 将块写入文件 201 时出现 io 错误 (块 # 492)
ora-27067: i/o 缓冲区的大小无效
osd-04026: invalid parameter passed. (os 1318912)
ora-01114: 将块写入文件 201 时出现 io 错误 (块 # 492)
ora-27067: i/o 缓冲区的大小无效
osd-04026: invalid parameter passed. (os 1318912)
ora-01114: 将块写入文件 201 时出现 io 错误 (块 # 492)
ora-27067: i/o 缓冲区的大小无效
osd-04026: invalid parameter passed. (os 1318912)
ora-01114: 将块写入文件 201 时出现 io 错误 (块 # 9)
ora-27067: i/o 缓冲区的大小无效
osd-04026: invalid parameter passed. (os 1318912)
no current sql statement being executed.

这个错误在9i的某些版本中,是因为文件大小超越了os的限制时会出现的一个问题,多数出现在windows平台上。

metalink上的notes:317174.1,记录了一个类似的问题,这是oracle server – enterprise edition – version: 9.2.0.1.0 microsoft windows (32-bit)上的一个bug:
its a bug specific to nt platform only. cannot autoextend to 4gb boundary,this bug is fixed in 9203.
317174.1 记录的错误信息如下:

ora-283: recovery session canceled due to errors
ora-1115: io error reading block from file 11 (block # 204802)
ora-1110: data file 11: ‘e:oracleora92borgmaximo.ora’
ora-27069: skgfdisp: attempt to do i/o beyond the range of the file
osd-4026: invalid parameter passed. (os-204802)

但是这个数据库是64位windows上的10.2.0.4,问题出现在临时表空间文件上。

查询过几个相关的问题原因都是类似的:ctas处理大批量的数据导致异常。

这个问题的ctas sql有600多个case when判断,sql文本有47k,强烈用户建议改写sql。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐