OSD-04008: WriteFile() failure, unable to write to file (OS 33)
As the message indicates, this happens when a process other than oracle opens one of the database's files. I've personally only ever seen it happen on Windows servers. The first time I saw it, the problem turned out to be caused by the server's backup software. I've also known anti-virus software to cause it.
Sun Feb 08 23:08:32
Errors in file c:\oracle\admin\scr9w\bdump\scr9w_ckpt_2388.trc:
ORA-00221: error on write to controlfile
ORA-00206: error in writing (block 3, # blocks 1) of controlfile
ORA-00202: controlfile: 'c:\oracle\oradata\scr9w\control01.ctl'
ORA-27072: skgfdisp: 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.
Sun Feb 08 23:08:32
CKPT: terminating instance due to error 221
Sun Feb 08 23:08:37
Errors in file c:\oracle\admin\scr9w\bdump\scr9w_pmon_2332.trc:
ORA-00221: error on write to controlfile
If you are experiencing this problem and it is happening at seemingly random times, I'd check for the presence of anti-virus software. If you have some installed, configure it not to scan the databases data files.
If the problem is occurring at roughly the same time everyday, and that time just happens to fall during the host backup, then that is a likely candidate.
Most backup software has an option to allow files to be backed-up 'hot' or 'shared'. If yours hasn't you will need to find an alternative method of backing-up your database. You could choose to shut the database down, backup and then start it up again afterwards. Alternatively you could use RMAN to create a disk backup, and then copy that backup onto tape. Even better, you could use RMAN directly to tape - there are many, many options.
For more useful DBA queries click here.
|