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

Oracle 10g:备份失败,日志磁盘已满 - 如何恢复数据库?
  • 由于备份失败,用于事务日志的磁盘似乎已满。
  • 数据库不接受连接,所以我无法手动运行(HP Data Protector)备份作业。
  • Oracle 实例直接从 SAN 安装磁盘,因此 Windows 看不到任何文件系统。

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

假设没有 Oracle 知识转换;-)

来自警报_我的数据库.log文件, (<orahome>\admin\mydatabase\bdump\),

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

答案1

ORA-15041: 磁盘组空间耗尽

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

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

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

问候。

答案2

一些随机想法:

  1. 假设您有 Oracle 支持合同,我会让他们参与进来。不一定是因为这是一个不寻常或特别困难的问题;而是因为您对 Oracle 不熟悉。一旦出错,您的数据库就可能被搞砸。

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

  3. 您有数据库系统密码吗?

  4. 这是一个实时/生产系统吗?

  5. 还有其他方法可以访问 SAN 文件系统吗?

回答这些问题,然后我们就可以从那里开始。

答案3

以下是更多随机想法:

1)dba 在哪里?

2) 由于数据库卷在 Windows 中不可查看,我假设数据库正在使用原始分区或 ASM。您知道哪一个吗?如果不是 asm 或 raw,那么底层数据磁盘是什么文件系统?

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

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

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

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

相关内容