Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11590451
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-16 14:19:40

一段时间数据库都工作的很好,但最近一周,它经常是莫名的在晚上的一个好像特定的时间关闭,分析不出原因。在时间管理器上,没有什错误的提示

alert里报

ORA-00345: redo log write error block 38023 count 2
ORA-00312: online log 3 thread 1: 'E:ORACLEORADATAAUPIDREDO03.LOG'
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.

于是,我以Oracle "The process cannot access the file because another process has locked a portion of the file." 为关键字,在google搜索了一下,发现了一个很reasonable 的解释

quote:
--------------------------------------------------------------------------------

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.
--------------------------------------------------------------------------------





不禁感慨,google是最好的老师。

问题就在:当时Windows对数据文件进行Backup,不幸的是,Backup时Lock住了datafile,导致DB无法正常运行。

解决方法就是不要用一般的文件备份的形式来备份Oracle的文件,包括redolog/datafile/controlfile……

阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~