oracle undo表空间被删除,数据库无法启动,请问如何恢复

oracle undo表空间被删除,数据库无法启动,请问如何恢复,第1张

首先,undo表空间满是正常的,oracle自然会重用或者扩展它,一般不用管它。

然后,现在要解决的话,需要先把undo tablespace设置成手动,启动数据库,创建新的undo tablespace。把新的设置成默认的。

假设你的库现在是mounted状态

1 创建PFILE(如果已有就是更新)

SQL>create pfile from spfile

2 关闭数据库

SQL>shutdown immediate

3 在你的$ORACLE_HOME/dbs目录下面找个叫做

init<数据库>.ora的文件,把其中有undo_management=AUTO的一行改成

undo_management=MANUAL

如果没有就在文件末尾填一行

4 以sysdba身份连接数据库

SQL>connect "/ as sysdba"

用刚才改过的文件启动数据库

SQL>startup pfile=<刚才的文件全路径和名字>

这步是最关键的,如果成功,后面就没问题了

5 drop掉原来的表空间

SQL>仿芹 drop tablespace <原来的undo表空间名字>including contents

6 创饥大旅建新的undo表空间

SQL>create UNDO tablespace undotbs2 datafile '/u01/app/oracle/烂凳oradata/orcl/undotbs02.dbf' size 100M autoextend on

7 关闭数据库,

SQL>shutdown immediate

在开始那个init文件里设置UNDO_MANAGEMENT=AUTO

和 UNDO_TABLESPACE=UNDOTBS2

8 再做一次第四步

9 更新spfile

SQL>create spfile from pfile

10 关闭数据库,正常重新启动

SQL>shutdown immediate

SQL>startup

11 去网上教你删undo那个地方骂它。非常想当然的做法。没有任何理由这么做

12 让你的工程师去学oracle 培训

以上步骤的中的第5步可能会出问题。我不确认。。。 但是即使第5步不成功,问题应该也不大

Oracle DBA神器:PRM-DUL灾难恢复工具可以直接从这种受损的Oracle数据库中将数据拯救出来。

当你的数据库因为ORA-00600/ORA-07445或其他ORA-报错,或丢失关键的system表空间数据文件,或ASM diskgroup损坏时均可以考虑采用PRM-DUL来碧陪亩做恢复。PRM-DUL采用独创的DataBridge恢复技术,直接从数据文件中抽取数据悔森后可以像DBLINK那样直接插入到新建数据库中,而无需数据落地成为乱颤DMP文件占用空间。

照你说的情况,

我的经验告诉你

你的问题,肯怕是硬件,我遇到的问题,怎么解决的,

你说如果系统重装后用不到几天,或一段时间,系统出现启动失败,或找不到引导,文件丢失,

一般都是2个比较大的可能引起的,

1:是硬盘连接的数据线,电源线,

或主机电源供电不足,(不稳定运转会导致文件丢失)

这种情况只要更换硬盘的数据线或连接的电源线就好了,

电源供电不足就换一个功率大点的电源

2:硬盘出现坏道,这种问题比较并敬严重,你可以用效率源之类的工具来扫描它是否有坏道,

如果真的有坏道那你就只能更换新的硬盘,

有一种方法可以隐藏坏道的但不推荐,(问题是硬盘有绝做慎坏道是硬件问题,物理的坏道,毕竟隐藏了,用久了也会出现问题,到时候可能会导致重要数据丢失找补回来

简单来说就是趁你是新买叫商家给你换硬盘数据,或检查硬盘坏道,不然胡棚时间长了过了保修期


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12273263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存