Oracle7.X 回滚表空间数据文件误删除处理方法
来源:asp之家 发布时间:2010-07-28 12:54:00
---- 一、 引言:
---- 回滚段是数据库的一部分,它记录数据库变更的信息。使用这些信息实现数据库的读一致性及其恢复。若回滚段出现故障,则数据库不能正常启动,导致数据库瘫痪,用户无法读写数据。若能将回滚段的故障排除,则不会影响用户的实际数据。笔者最近在实际工作中遇到一个问题:用户将回滚段表空间(rbs)的数据库文件(rbs01.dbf)错误删除,以致使数据库无法正常运行,下面上笔者排除该方法的处理步骤。
---- 二、 步骤:
---- 1、 首先改参数文件init.ora,使数据库能mount上来。
---- 在system表空间内有一个system回滚段,该回滚段上数据库所必须的,当数据库第一次建立时,它就随之建立,并随数据库的打开而自动在线。我们通常使用的回滚段是公用回滚段,而非system回滚段,若公用回滚段出现故障,我们暂可用system回滚段替代,使数据库能mount上来。
svrmgrl >Shutdown abort
$ vi $ORACLE_HOME/dbs/init< sid >.ora
rollback_segments=(system)
_corrupted_rollback_segments=(r01,r02,r03,r04)
svrmgrl >Startup mount
---- 2、 对数据库实施恢复,再将它打开
---- 从数据库的控制文件中将回滚段表空间rbs的数据文件rbs01.dbf离线并去掉。
svrmgrl >alter database datafile
‘##/##/rbs01.dbf' offline drop;
---- 对数据库进行恢复。
svrmgrl >recover database using backup controlfile;
---- 此时屏幕上可能会出现:
ORA_00280 Change #### for thread# is in sequence#
specify log:[< RET > for suggested|AUTO|from
logsource|cancel]
---- 您可以根据sequence#号找到您需要的在线日志文件,并将日志文件输入(包括全路径),查找在线日志文件时可以使用svrmgrl >select * from v$log; 此时完成数据库恢复。 再将数据库打开。
svrmgrl >alter database open resetlogs;
---- 3、 重建新的回滚段
---- 将旧回滚段及回滚表空间删除。
svrmgrl >alter rollback_segment r01 offline drop;
svrmgrl >alter rollback_segment r02 offline drop;
svrmgrl >alter rollback_segment r03 offline drop;
svrmgrl >alter rollback_segment r04 offline drop;
svrmgrl >drop tablespace rbs including contents;
---- 重建新的回滚表空间及回滚段。
svrmgrl >connect internal
svrmgrl >create rollback segment ro tablespace system;
svrmgrl >alter rollback segment ro online;
svrmgrl >create tablespace rbs datafile
‘##/##/rbs01.dbf' size ##k;
svrmgrl >create rollback segment r01 tablespace rbs;
svrmgrl >create rollback segment r02 tablespace rbs;
svrmgrl >create rollback segment r03 tablespace rbs;
svrmgrl >create rollback segment r04 tablespace rbs;
svrmgrl >alter rollback segment r01 online;
svrmgrl >alter rollback segment r02 online;
svrmgrl >alter rollback segment r03 online;
svrmgrl >alter rollback segment r04 online;
---- 4、 使用新建的回滚段启动数据库
svrmgrl >Shutdown abort
$ vi $ORACLE_HOME/dbs/init< sid >.ora
rollback_segments=(r01,r02,r03,r04)
将参数_corrupted_rollback_segment去掉
svrmgrl >Startup normal
---- 三、 结束语:
---- 此故障的排除是数据库在归档方式上执行的,笔者已在HP-UX 10.20及Solaris2.5两种系统平台上成功通过。


猜你喜欢
- PyMySQL介绍PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb
- 今天的博客是直接来源于我自己的个人工具函数库。过去几个月,有些PyImageSearch读者电邮问我:“如何获取URL指向的图片并将其转换成
- 本文实例讲述了vue实现引入本地json的方法。分享给大家供大家参考,具体如下:当前需要使用的组件:import data from
- 之前看到Amily的一篇文章,用Excel快速实现分列转到行的操做。数据源大致是这样的:基于此,我动起了一个念头:看看如何用Python快速
- 前言其实就是个小问题,但是爆出来的时候也很莫名其妙。因为之前都跑得好好的,只是换了不同的文件去跑才出的问题,关键是不同的文件要处理的内容和格
- PyQt5 事件处理机制PyQt为事件处理提供了两种机制:高级的信号与槽机制,以及低级的事件处理机制。信号与槽可以说是对事件处理机制的高级封
- 情境问题小王是一名法务专员,工作中会处理所在公司的侵权事件并向侵权方发送法务函。他会按照【法务函模板.docx】 Word 文件给【封号名单
- 一、数据集爬取现在的深度学习对数据集量的需求越来越大了,也有了许多现成的数据集可供大家查找下载,但是如果你只是想要做一下深度学习的实例以此熟
- 1、什么是版本控制系统版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的
- 上一篇讲到了javascript的节流函数和防抖函数,那么我们在实际场合中该如何运用呢?首先,我们来理解一下:节流函数首先是节流,就是节约流
- 继上一篇计算checksum校验和,本章通过socket套接字,struct字节打包成二进制,select返回套接字的文件描述符的结合,实现
- 项目总体情况软件:Pycharm环境: Python 3.7.9(考虑到客户可能会有不同操作系统,为了兼容性考虑)技术库: requests
- 本文实例讲述了Python实现的质因式分解算法。分享给大家供大家参考,具体如下:本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须
- keras模型可视化:model:model = Sequential()# input: 100x100 images with 3 ch
- 这篇文章主要介绍了java连接mysql数据库代码实例程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 系统支持的语言是有类:Language表示;多语言资源对应的类为:LocalizedProperty;当先选择某种语言存储在类中:Gener
- 前言在使用MySQL数据库的时候,有时候需要客户机直接远程登陆服务器的数据库 ,而不是将请求发给数据库服务器。这时候就需要配置下MySQL的
- 零、配置Tomcat默认情况下Tomcat是没有配置用户角色权限的但是,后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat
- 在Python中一切都是对象。Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。对象之
- 再用PD建表完成后导成SQL脚本然后在SQL Server中运行后生成数据库后,就想到,可不可以将直接将数据库的内容生成PD文档?经过上网查