O/S-Error: (OS 33) The process cannot access the file

tolywang發表於2010-06-21


Mon Jun 21 09:04:10 2010
Errors in file d:\oracle\product\10.2.0\admin\wsjhrm\bdump\wsjhrm_ckpt_2904.trc:
ORA-00206: error in writing (block 3, # blocks 1) of control file
ORA-00202: control file: 'E:\ORADATA\WSJHRM\CONTROL03.CTL'
ORA-27072: File I/O error
OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 33) The process cannot access the file because another process has locked a portion of the file.

Mon Jun 21 09:04:11 2010
Errors in file d:\oracle\product\10.2.0\admin\wsjhrm\bdump\wsjhrm_ckpt_2904.trc:
ORA-00221: error on write to control file
ORA-00206: error in writing (block 3, # blocks 1) of control file
ORA-00202: control file: 'E:\ORADATA\WSJHRM\CONTROL03.CTL'
ORA-27072: File I/O error
OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 33) The process cannot access the file because another process has locked a portion of the file.

 


Typically this error sequence is caused by 3rd party backup software that is configured to backup open files. This software places a lock on the Oracle files and if Oracle tries to access a file while this lock exists, the error you are seeing gets generated. These errors indicate that the database was open, so check your backup routines
In your case, O/S-Error: (OS 1167) is an operating system error which says the request could not be performed because of an I/O device error. ERROR_IO_DEVICE could be a hardware problem and you should check the NT Event log for additional information.

 

 

OSD-04008: WriteFile() failure  9 February 2000 
I realise this is a bit obscure, but would appreciate any hints. The following segment from an alert.log indicates that some non-Oracle process is locking portions of the datafiles at the O/S level.
KCF: write/open error block=0x4fd1 nline=1
     file=3 D:\ORANT\DATABASE\USR1WIND.ORA
     error=27072 txt: 'OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 33) The process cannot access the file because another process has locked a portion of the file.'
Instance terminating due to error 1242

Would you have any suggestions as to the most likely culprits in the O/S? What would be the best NT tool to use to track down the offending process? 
  This is a reasonably well known problem on NT. Generally the error is seen when a routine NT file system backup takes a byte-range lock on one of the Oracle datafiles in that file system in order to back it up. There are many solutions, such as configuring the backup software to skip open files, or at least not to lock them; or you can use ocopy to copy the datafiles and back those up instead; or you can shutdown the instance; and so on. 

 

  

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-665765/,如需轉載,請註明出處,否則將追究法律責任。

相關文章