- 由于备份失败,用于事务日志的磁盘似乎已满。
- 数据库不接受连接,因此我无法手动运行(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
...
一些随意的想法:
假设您有 Oracle 支持合同,我会让他们参与进来。不一定是因为这是一个不寻常或特别困难的问题;但同样是因为您不熟悉 Oracle。出了点问题,你很可能会搞砸你的数据库。
为什么你认为恢复是必要的?当磁盘已满时,对数据库的写入被“冻结”(如您所见),但应该没有数据丢失/损坏。
你有你的数据库系统密码吗?
这是一个现场/制作系统吗?
还有其他访问 SAN 文件系统的方法吗?
回答这些问题,我们可以从那里得到它。
好像您正在使用 ASM 来存储您的归档日志/备份,并且您可能已经将其填满(可能是因为旧备份没有被清除)
正如 cagcowboy 告诉您的那样,您的数据库可能已挂起,因为它无法存档和切换其当前日志文件,但似乎您不必恢复/恢复或其他东西。一旦您能够释放一些空间,实例将继续其活动。
正如已经建议的那样,我应该尝试与 Oracle 支持联系以获得适当的建议。
问候。
这里有更多随机的想法:
1) dba 在哪里?
2) 由于在 Windows 中无法查看数据库卷,因此我假设数据库正在使用原始分区或 ASM。你知道是哪一个吗?如果不是 asm 或 raw,那么底层数据磁盘是什么文件系统?
3)当你备份数据库时,你如何处理归档日志的删除/归档?
4) 如果不使用 raw/asm 并使用文件系统,则查看存档日志的 san 卷是否可以扩展/增大大小以允许存档继续进行。然后立即进行备份并删除/存档较旧的存档日志。
5)您也可以尝试为归档日志创建一个新卷,进入数据库并更改数据库以归档到新的归档日志目标。
就您的存档日志而言,数据库似乎已停止等待空间,但尚未崩溃。如果您腾出空间,它将继续。最好的办法是让 dba 和 san 管理员一起来确定可以做些什么来腾出空间。如果遇到困难,请致电 oracle 支持寻求帮助。