今天有朋友問(wèn)到如下一則案例,ORA-01114,ORA-27067以及OSD-04026錯(cuò)誤同時(shí)出現(xiàn):
*** 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: 將塊寫(xiě)入文件 201 時(shí)出現(xiàn) IO 錯(cuò)誤 (塊 # 492)
ORA-27067: I/O 緩沖區(qū)的大小無(wú)效
OSD-04026: Invalid parameter passed. (OS 1318912)
ORA-01114: 將塊寫(xiě)入文件 201 時(shí)出現(xiàn) IO 錯(cuò)誤 (塊 # 492)
ORA-27067: I/O 緩沖區(qū)的大小無(wú)效
OSD-04026: Invalid parameter passed. (OS 1318912)
ORA-01114: 將塊寫(xiě)入文件 201 時(shí)出現(xiàn) IO 錯(cuò)誤 (塊 # 492)
ORA-27067: I/O 緩沖區(qū)的大小無(wú)效
OSD-04026: Invalid parameter passed. (OS 1318912)
ORA-01114: 將塊寫(xiě)入文件 201 時(shí)出現(xiàn) IO 錯(cuò)誤 (塊 # 9)
ORA-27067: I/O 緩沖區(qū)的大小無(wú)效
OSD-04026: Invalid parameter passed. (OS 1318912)
No current SQL statement being executed.
這個(gè)錯(cuò)誤在9i的某些版本中,是因?yàn)槲募笮〕搅薕S的限制時(shí)會(huì)出現(xiàn)的一個(gè)問(wèn)題,多數(shù)出現(xiàn)在Windows平臺(tái)上。
Metalink上的Notes:317174.1,記錄了一個(gè)類似的問(wèn)題,這是Oracle Server - Enterprise Edition - Version: 9.2.0.1.0 Microsoft Windows (32-bit)上的一個(gè)Bug:
Its a Bug specific to NT platform only. Cannot AUTOEXTEND to 4Gb boundary,This bug is fixed in 9203.
317174.1 記錄的錯(cuò)誤信息如下:
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)
但是這個(gè)數(shù)據(jù)庫(kù)是64位Windows上的10.2.0.4,問(wèn)題出現(xiàn)在臨時(shí)表空間文件上。
查詢過(guò)幾個(gè)相關(guān)的問(wèn)題原因都是類似的:CTAS處理大批量的數(shù)據(jù)導(dǎo)致異常。
這個(gè)問(wèn)題的CTAS SQL有600多個(gè)Case When判斷,SQL文本有47K,強(qiáng)烈用戶建議改寫(xiě)SQL。