Oracle 10g:备份失败,日志磁盘已满-如何恢复数据库?


1
  • 由于备份失败,用于事务日志的磁盘似乎已满。
  • 该数据库不接受连接,因此无法手动运行(HP Data Protector)备份作业。
  • Oracle实例直接从SAN挂载磁盘,因此Windows没有可见的任何文件系统。

但是,数据库服务正在运行。是否有一种简单的方法来恢复数据库,也许可以重新运行备份作业并还原服务?

假设除tnsping之外没有Oracle知识;-)

alert_mydatabase.log文件中,(<orahome>\admin\mydatabase\bdump\),

ORA-15041: diskgroup space exhausted 
...
ARCH: Archival stopped, error occurred. Will continue retrying
...

Answers:


1

ORA-15041:磁盘组空间已耗尽

似乎您正在使用ASM来存储归档日志/备份,并且您可能已经将其填满(可能是因为旧的备份没有被清除)

正如cagcowboy告诉您的那样,数据库可能已挂起,因为它无法存档和切换其当前日志文件,但似乎您不必恢复/还原或其他操作。一旦能够释放一些空间,实例将继续其活动。

正如已经建议的那样,我应该尝试与Oracle支持联系以获得适当的建议。

问候。


你们都是正确的,但您得到了代表,因为您最起码
;;)

1

一些随机的想法:

  1. 假设您已获得Oracle支持合同,那么我会让他们参与其中。不一定因为这是一个不寻常的或特别困难的问题;但是很大程度上是由于您对Oracle不熟悉。弄错了,您很可能搞砸了数据库。

  2. 您为什么认为必须进行还原?当磁盘已满时,对数据库的写入将被“冻结”(如您所见),但是应该没有数据丢失/损坏。

  3. 您有db sys密码吗?

  4. 这是现场/制作系统吗?

  5. 还有其他访问SAN文件系统的方式吗?

回答这些问题,我们可以从那里解决。


1

这里有更多随机的想法:

1)dba在哪里?

2)由于无法在Windows中查看数据库卷,因此我假设数据库使用的是原始分区或ASM。你知道哪一个吗?如果不是asm或raw,那么基础数据磁盘是什么文件系统?

3)备份数据库时,如何处理归档日志的删除/归档?

4)如果不使用raw / asm而不是使用文件系统,则查看是否可以扩展/增加存档日志的san卷大小,以允许继续进行存档。然后立即进行备份并删除/存档较旧的存档日志。

5)您也可以尝试为存档日志创建一个新卷,进入数据库并更改数据库以存档到新的存档日志目标。

就您的存档日志而言,数据库似乎已停止等待空间,但尚未崩溃。如果您腾出空间,它将继续。最好的选择是让dba和san管理员在一起,并确定可以做些什么来腾出空间。如果遇到困难,请致电oracle支持寻求帮助。


我相信文件系统是ASM。DBA能够删除较旧的日志文件,释放空间,然后启动数据库(尽管一旦空间可用,它就应该自行启动)。然后可以运行备份作业,删除日志并解决问题。
nray

我真正想知道的是,在没有DBA的情况下,是否可以查看“ ASM”文件系统,确定是否存在可以移动/删除然后删除的文件?
nray

可以像访问其他任何oracle实例一样访问asm实例。有许多asm视图和命令可用于管理实例及其磁盘。 oracle-base.com/articles/10g/AutomaticStorageManagement10g.php的预览很好。可以从OTN下载有关asm的Oracle手册,以获取更多信息。我建议在进入asm实例并进行更改之前,对ASM非常熟悉。中断ASM实例将导致其所容纳的数据库损坏和破坏。
Michael_N
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.