然后,现在要解决的话,需要先把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:硬盘出现坏道,这种问题比较并敬严重,你可以用效率源之类的工具来扫描它是否有坏道,
如果真的有坏道那你就只能更换新的硬盘,
有一种方法可以隐藏坏道的但不推荐,(问题是硬盘有绝做慎坏道是硬件问题,物理的坏道,毕竟隐藏了,用久了也会出现问题,到时候可能会导致重要数据丢失找补回来
简单来说就是趁你是新买叫商家给你换硬盘数据,或检查硬盘坏道,不然胡棚时间长了过了保修期
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)