[Oracle] 解析在没有备份的情况下undo损坏怎么办建
导读:1建站知识Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,但如果是在没有备份的情况下undo损坏怎么办?以下就网站seo优化网站建设教程。
如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数),如果此时undo包含未提交的事务,会造成一点点的数据丢失(一般都是可忍受的),如果没有未提交的事务,则不会有数据丢失。其主要步骤有:
1. 修改undo表空间管理为手动;2. 设置隐藏参数(_offline_rollback_segments或_c网站建设orrupted_rollback_segments)标识受影响的回滚段,使Oracle忽略其上的未提交事务;3. 手动删除受影响的回滚段和undo表空间,然后重建新的undo表空间;4. 还原undo表空间管理为自动。
实验如下:Step 1.如果undo数据文件损坏,数据库只能到mount状态,open时会出现以下错误:ORA-01157: cannot identify/lock data file 14 - see DBWR trace fileORA-01110: data file 14: 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0'说明该seo网站排名优化软件undo文件已经损坏或丢失,把该文件offline之后就可以打开数据库了:SQL> alter database datafile 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0' offline drop;SQL> alter database open;打开数据库的目的是为了找出受影响的回滚段:SQL> select segment_name,status from dba_rollback_segs;SEGMENT_NAME STATUS------------------------------ ----------------SYSTEM ONLINE_SYSSMU10_1201331463$ OFFLINE_SYSSMU9_2926456744$ OFFLINE_SYSSMU8_640224757$ OFFLINE_SYSSMU7_3984293596$ OFFLINE_SYSSMU6_3694658906$ OFFLINE_SYSSMU5_3475919656$ OFFLINE_SYSSMU4_168502732$ OFFLINE_SYSSMU3_1987193959$ OFFLINE_SYSSMU2_3908286755$ OFFLINE_SYSSMU1_3281912951$ OFFLINE
SQL> show parameter undo
NAME TYPE VALUE------------------------------------ ----------- -------------undo_management string AUTOundo_retention integer 900undo_tablespace string undo1关闭数据库:SQL> shutdown immediate;
声明: 本文由我的SEOUC技术文章主页发布于:2023-05-22 ,文章[Oracle] 解析在没有备份的情况下undo损坏怎么办建主要讲述备份,情况下,[Oracle] 解析在没有备份的情况下un网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_5215.html