oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办

如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数),

如果此时undo包含未提交的事务,会造成一点点的数据丢失(一般都是可忍受的),如果没有未提交的事务,则不会有数据丢失。其主要步骤有:

1. 修改undo表空间管理为手动;

2. 设置隐藏参数(_offline_rollback_segments或_corrupted_rollback_segments)标识受影响的回滚段,使Oracle忽略其上的未提交事务;

3. 手动删除受影响的回滚段和undo表空间,然后重建新的undo表空间;

4. 还原undo表空间管理为自动。

实验如下:如果undo数据文件损坏,数据库只能到mount状态,open时会出现以下错误:

ORA-01157: cannot identify/lock data file 14 - see DBWR trace file

ORA-01110: data file 14: 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0'

说明该undo文件已经损坏或丢失,把该文件offline之后就可以打开数据库了:

sql> alter database datafile 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0' offline drop;

sql> alter database open;

打开数据库的目的是为了找出受影响的回滚段: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 AUTO

undo_retention integer 900

undo_tablespace string undo1shutdown immediate;

创建一个临时的pfile:

sql> create pfile='H:\initO06DMS0.ora' from spfile;

修改pfile如下:*.undo_management='manual' -- undo表空间管理方式修改为手动

*.undo_tablespace='undo2' --指定一个新的undo表空间

*._offline_rollback_segments=('_SYSSMU10_1201331463$','_SYSSMU9_2926456744$','_SYSSMU8_640224757$','_SYSSMU7_3984293596$','_SYSSMU6_3694658906$','_SYSSMU5_3475919656$','_SYSSMU4_168502732$','_SYSSMU3_1987193959$','_SYSSMU2_3908286755$','_SYSSMU1_3281912951$') --把所有受影响的回滚段都列在这里

并以改pfile重新启动数据库:startup pfile='H:\initO06DMS0.ora'

手动删除受影响的回滚段:

sql>drop rollback segment "_SYSSMU10_1201331463$";

sql>drop rollback segment "_SYSSMU9_2926456744$";

sql>drop rollback segment "_SYSSMU8_640224757$";

sql>drop rollback segment "_SYSSMU7_3984293596$";

sql>drop rollback segment "_SYSSMU6_3694658906$";

sql>drop rollback segment "_SYSSMU5_3475919656$";

sql>drop rollback segment "_SYSSMU4_168502732$";

sql>drop rollback segment "_SYSSMU3_1987193959$";

sql>drop rollback segment "_SYSSMU2_3908286755$";

sql>drop rollback segment "_SYSSMU1_3281912951$";

手动删除旧的undo表空间:drop tablespace undo1 including contents;

重建新的undo表空间:create undo tablespace undo2 datafile 'I:\INTEL_DATA\O06DMS0\UNDO2.O06DMS0' size 100m;

创建新的spfile,覆盖旧的spfile:create spfile from pfile='H:\initO06DMS0.ora';shutdown immediate;

以原来的spfile启动数据库:startup;

还原undo表空间管理为自动:alter system set undo_management='auto' scope=spfile;

取消隐藏参数的设置:alter system reset "_offline_rollback_segments" scope=spfile;

重启使其生效:shutdown immediate;

sql> startup

sql> show parameter undo

NAME TYPE VALUE

------------------------------------ ----------- -------------------

undo_management string AUTO

undo_retention integer 900

undo_tablespace string undo2

最终检查一下:select segment_name,status from dba_rollback_segs;

SEGMENT_NAME STATUS

------------------------------ ----------------

SYSTEM ONLINE

_SYSSMU40_1968985325$ ONLINE

_SYSSMU39_4040503138$ ONLINE

_SYSSMU38_4059847715$ ONLINE

_SYSSMU37_2692202156$ ONLINE

_SYSSMU36_2617425201$ ONLINE

_SYSSMU35_1133967719$ ONLINE

_SYSSMU34_1916939664$ ONLINE

_SYSSMU33_99444166$ ONLINE

_SYSSMU32_162619813$ ONLINE

_SYSSMU31_830375278$ ONLINE

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

String s=hello;s+=world;s变化了吗?原始的String对象的内容变了吗?

分析: String s"hello";s"world"; 引用变量s 一开始指向String对象("hello" :0x001); ("world":0x002); s拼接后,就重新指向String对象("helloworld":0x003); 答:s改变了,原始的String对象 "hello" 内容并没有改变…

科技部部长:基础研究是科技创新“总开关”

来源:中国新闻网中新社北京5月19日电 (记者 孙自法)“基础研究是科技创新的‘总开关’!”言及基础研究在中国科技发展、增强原始创新能力中的地位与作用,中国科学技术部部长王志刚这样概括道。国务院新闻办公室19日下午在北京举行加快建设创新…

php评论获取时间,WordPress函数comment_date获取评论发布时间

重要:本文最后更新于2019-01-10 08:41:31,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗。一般来说任何一条信息发布,发布时间就是它的重要组成部分。当评论者在你的WordPress网站发布评论留言时&…

从通用到专用,5G时代IP核的新故事

来源:半导体行业观察如同芯片在不断迭代,IP核也在不断进步。集成电路技术60年来基本遵循摩尔定律的演进规律。随着进入后摩尔时代,即两年一代技术更换的节奏开始放缓,设计和制造企业开始更加重视产品的多样化发展,而不…

连续信号与系统频域分析的matlab实现,实验十三 连续信号与系统频域分析的MATLB实现...

实验十三 连续信号与系统频域分析的MATLB实现 实验十三 连续信号与系统频域分析的 MATLAB 实现70实验十三 连续信号与系统频域分析的 MATLAB 实现一、实验目的 1. 掌握连续时间信号频谱特性的 MATLAB 分析方法;2.掌握连续系统的频率响应 MATLAB 分析方法方法。二、实…

[机器学习] Apriori算法

适用场合 Apriori算法包含两部分内容:1,发现频繁项集 2,挖掘关联规则。 通俗地解释一下,就是这个意思:1.发现哪些项目常常同时出现 2.挖掘这些常常出现的项目是否存在“如果A那么B”的关系。 举个例子:网店…

华为发布《自动驾驶网络解决方案白皮书》

来源:华为近日,全球分析师大会HAS 2020期间,华为面向全球发布《自动驾驶网络解决方案白皮书》,系统阐述未来网络架构、运维架构和其关键技术,通过网元、网络和云端的三层AI能力协同,使能网络走向极简超宽、…

linux服务器运维操作命令,Windows和Linux系统服务器运维基本操作指令

原标题:Windows和Linux系统服务器运维基本操作指令服务器总归是机械化设备,在运行过程中难免会出现一些问题,遇到这些问题怎么办?请运维人员代维修?即使请也会造成,运维人员维护不及时和成本太高的问题&…

百度大脑城市白皮书

来源 | 百度智能云(转载请注明来源)编辑 | 蒲蒲5月18日,百度智能云在大会上正式发布《百度城市大脑白皮书》。白皮书结合未来我国智慧城市发展重点,深入分析研究了我国智慧城市发展的背景和发展中的机遇,重点阐述了百度…

Python开发基础--- 进程间通信、进程池、协程

进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的。 进程队列queue 不同于线程queue,进程queue的生成是用mu…

linux中sed命令用例,Linux中使用sed命令或awk命令修改常规配置文件

一、方案:Linux中使用sed命令或awk命令修改常规配置文件二、步骤:1、假设有一个a.txt,内容如下:#!/bin/bashaabbbccc#ddd2、如果想要把里面的内容bbb23输出成bbb55,可以这样做:sed s/bbb23/bbb55/g a.txt说…

当AI主播和人越来越像,我们该怎么办?

这个视频还原了一个有趣,但又值得思考的事情。当AI主播的声音变得和真人几乎一样,且富有情感,我们的阅读习惯是否会发生翻天覆地的改变?毕竟,相比图文类资讯,“聆听模式”不仅能给用户提供更沉浸式的阅读体…

linux 禁用 内核 驱动程序,Linux设备驱动程序学习----5.模块的初始化和关闭

模块的初始化和关闭1. 初始化函数模块的初始化函数负责注册模块所提供的任何设施,即可以被应用程序访问的新功能,可能是一个完整的驱动程序或者仅仅是一个新的软件抽象。初始化函数的定义通常如下所示:static int __init initialization_func…

python数据分析笔记中panda(2)

1 将手机号码分开为运营商,地区和号码段 1 from pandas import read_csv;2 3 df read_csv("H:\\pythonCode\\4.6\\data.csv");4 5 6 #转换成字符数据 方便用slice7 df[tel] df[tel].astype(str);8 9 #字符的抽取:根据已知列数…

刘忠范院士:新型研发机构建设成了口号

来源:科学网作者 | 郑金武编辑 | 宗华排版 | 华园● 刘忠范认为,如果只是单纯地再建一两所研究机构,在机制、理念上与现有的高校和研究院所没有差别,那就是在“1000”的基础上再加“1”,对现有的科研格局不会带来任何改…

launchMode

launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象&…

linux属性表示的文件,Linux基础入门:文件和目录属性的含义

比如 :[rootistester isTester]# lltotal 12drwxr-xr-x 2 root root 4096 May 21 17:58 21Day-rw-r-xr-- 1 root root 6 May 14 16:04 idoxu.ini-rw-r--r-- 1 root root 0 May 21 17:12 istester.ini-rw-r--r-- 1 root root 10 May 14 16:02 README.md解释&…

一线工程师如何看待《没了美国的EDA软件,我们就不能做芯片了》

来源:真视界这些天看了不少讲国内EDA情况的帖子,有客观的也有极其离谱的,作为一名从业十余年的芯片设计工程师,我以一线从业者的角度来谈谈我们在实际工作中的EDA软件使用情况究竟是怎样的吧。先回答个很常见的问题:没…

2015Cocos游戏开发大赛作品——人鱼塞壬

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 消失了一个月,干啥去了捏? 就是做这个游戏了(事实上 考试课设北京。。。) 游戏背…

linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

博文说明【前言】:本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点【2017年6月21号】下,所掌握的技术水平有限&#x…