Oacle 断电数据库恢复

作者:神秘网友 发布时间:2020-09-27 07:25:16

Oacle 断电数据库恢复

Oacle 断电数据库恢复

简介:打开数据库时提示系统表空间需要介质恢复,但恢复系统表空间文件后数据库仍然不能打开,最终通过修复控制文件恢复了数据库。

 

社保药店客户操作系统为windows XP,数据库为ORACLE 8.1.7企业版上运行着城镇医疗保险MIS系统。一日用户正在切换发电机供电与正常电时导致计算机突然断电,机器重新启动后业务系统不能运行,经过确认得知ORACLE数据库崩溃,需要修复。经过多次尝试,我终于恢复了数据,现将此次恢复过程总结如下: 一、我在DOS下运行ORACLE中的服务器管理命令SVRMGRL,先连接到ORACLE,通过查询视图V$DATABASE中字段namelog_modeopen_mode得知数据库只能打开到MOUNT(装载)状态,由于数据库已经损坏,为了防止恢复数据造成新的损坏,所以我首先对数据库进行冷备份;其次我对硬盘进行了检查确认硬盘没有坏道;再次我运行STARTUP命令打开数据库,系统提示:“ORA-01113ORA-011101:‘D:\ORACLE\ORADATA\WNYB\SYSTEM.DBF’”错误,初步判断因系统表空间文件损坏导致无法打开数据库。由于数据库能装载所以我执行命令RECOVER以恢复数据库,执行完系统提“示完成介质的恢复”,但在打开数据库时系统又提示ORA-03113错误,同时在wnybALRT.log日志文件中找到“ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [0], [], [], [],”数据库依然没有打开;第一步详细诊断过程如下: SVRMGRL>connect internal 连接成功 SVRMGRL>select name,log_mode,open_mode from v$database; Name    log_mode         open_mode -------    -----------          ------------- WNYB   NOARCHIVELOG  MOUNTED SVRMGRL>shutdown immediate; ORA-01109:数据库未打开 已卸下数据库 已关闭ORACLE 实例 SVRMGRL>startup  已启动ORACLE实例。 系统全局区域合计有   87962676个字节 Fixed Size          75804个字节 Variable Size           55967744个字节 Database  Buffers      31842304个字节 Redo Buffers           77824个字节 已装入数据库 ORA-01113?? 1 ?????? ORA-011101:‘D:\ORACLE\ORADATA\WNYB\SYSTEM.DBF’ SVRMGRL>shutdown immediate; ORA-01109:数据库未打开 已卸下数据库 已关闭ORACLE 实例 SVRMGRL>STARTUP MOUNT 已启动ORACLE实例。 系统全局区域合计有   87962676个字节 Fixed Size          75804个字节 Variable Size           55967744个字节 Database  Buffers      31842304个字节 Redo Buffers           77824个字节 已装入数据库 SVRMGRL>RECOVER DATABASE 完成介质的恢复。 SVRMGRL>ALTER DATABASE OPEN 系统提示: ORA-3113   end-of-file on communication channel SVRMGRL> Oacle 断电数据库恢复                      1ORA-600错误 Oacle 断电数据库恢复              2:方案一恢复过程 二、通过查找资料得知系统出现ORA-600错误并且当第一个变量为[3705],则控制文件有损坏,于是我写了一个创建控制文件的脚本,把首次备份的数据库恢复后用执行该脚本,然后以重置日志的方法打开数据库,恢复了数据库,具体的步骤如下: SVRMGRL>connect internal SVRMGRL>shutdown immediate SVRMGRL>startup mount SVRMGRL>alter database backup controlfile to trace; SVRMGRL>shutdown immediate; SVRMGRL>startup nomount SVRMGRL>@d:\c_ctrl.txt SVRMGRL>shutdown immediate; 修改INIT.ORA文件增加_allow_resetlogs_corruption=TRUE一行 SVRMGRL>startup mount SVRMGRL>alter database open resetlogs 注释INIT.ORA文件中_allow_resetlogs_corruption=TRUE一行。 脚本c_ctrl.txt内容如下:create controlfile reuse set database wnyb datafile 'D:\oracle\oradata\wnyb\system01.dbf', 'D:\oracle\oradata\wnyb\temp01.dbf', 'D:\oracle\oradata\wnyb\rbs01.dbf', 'D:\oracle\oradata\wnyb\indx01.dbf', 'D:\oracle\oradata\wnyb\tools01.dbf', 'D:\oracle\oradata\wnyb\dr01.dbf', 'D:\oracle\oradata\wnyb\users01.dbf' logfile 'D:\oracle\oradata\wnyb\redo01.log' size 1M, 'D:\oracle\oradata\wnyb\redo02.log' size 1M, 'D:\oracle\oradata\wnyb\redo03.log' size 1M resetlogs Oacle 断电数据库恢复             图三:方案二恢复过程 至此系统提示数据库恢复已经完成。

转载于:https://blog.51cto.com/luweibo/350983

Oacle 断电数据库恢复相关教程

  1. Java通过JDBC 连接数据库

    Java通过JDBC 连接数据库 (实测 太好用了) 导入数据库用的jar包 导入jar包完成后 创建 一个DBUtil 类导入代码 代码如下: import java.sql.DriverManager;import java.sql.SQLException;import com.mysql.jdbc.Connection;public class DBUtil { //1、加载

  2. RAC 安装数据库软件与创建数据库 图解

    RAC 安装数据库软件与创建数据库 图解 开始安装数据库软件,不创建数据(只需要在一个节点安装即可): [[emailprotected] /]# xhost + access control disabled, clients can connect from any host [[emailprotected] /]# su - oracle [[emailprotected] datab

  3. 作为数据库核心成员,如何让淘宝不卡顿?

    作为数据库核心成员,如何让淘宝不卡顿? 简介: TDDL(Tabao Distributed Data Layer)是淘宝开源的一个用于访问数据库的中间件,集成了分库分表,主备,读写分离,权重调配,动态数据库配置等功能。本文以2007年TDDL初诞生时的视角,介绍TDDL是如何一步步设计

  4. MySQL 一个连接对应一个数据库

    MySQL 一个连接对应一个数据库 为什么80%的码农都做不了架构师? 需要用到MySQL的工具:Navicat 没有的小伙伴赶紧去下载一个,比起MySQL黑白的界面这货好用太多。 进入主题 首先使用 root 的账号密码登录一个连接 点击左上角的用户,右则出现“新建用户” 的

  5. NoSQL

    NoSQL NoSQL 一、什么是NoSQL 二、为什么使用NoSQL 三、NoSQL和关系型数据库对比 四、NoSQL的特点 五、NoSQL基本概念 5.1 CAP理论 5.2 BASE 5.3 最终一致性 六、索引和查询 七、MapReduce、Sharding 八、NoSQL分类 8.1 值存储数据库(Key-Value) 8.2 列存储

  6. eclipse下hibernate向数据库添加数据

    eclipse下hibernate向数据库添加数据 首先我们需要了解什么是hibernate框架。hibernate框架应用于JavaEE三层结构的dao层,主要实现对数据库的crud操作。 1. 创建项目并导入需要的jar包 首先我们创建一个java项目,命名为Hibernate_Practice右键项目,选择new

  7. Ubuntu下django 数据库配置

    Ubuntu下django 数据库配置 django 数据库配置 目录 django 数据库配置 前提 1 安装django 2 安装数据库 3 配置django对mariadb数据库的访问 前提 Ubuntu安装好python3,这里我使用的是python3.7。可以直接安装anaconda,里面包含了python3,numpy等常用的库

  8. Python 自动化管理Mysql数据库

    Python 自动化管理Mysql数据库 MySQL数据库一款非常优秀的开源数据库,很多人都在使用。我也不例外,数据库实例创建、数据库状态检测、数据库备份等,天天做着重复、枯燥的工作。为了减轻工作量,使用Python写了一个自动管理Mysql数据库的工具。 具体功能: M