欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-12 20:08:28
今天有朋友问到如下一则案例,ora-01114,ora-27067以及osd-04026错误同时出现: *** action name:() 2009-04-01 09:...

今天有朋友问到如下一则案例,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。