Oracle数据库恢复案例

合集下载

oracle11g还原数据库步骤__概述说明以及解释

oracle11g还原数据库步骤__概述说明以及解释

oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。

数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。

在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。

1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。

- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。

- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。

- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。

- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。

1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。

通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。

我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。

2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。

由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。

因此,在这些情况下,数据库还原变得非常重要。

Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。

2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。

- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。

数据库恢复实例

数据库恢复实例

仅仅丢失一个普通用户数据文件的恢复A(联机恢复)(例如,丢失D:\BACKUPDB\USERS01.DBF)准备工作, 通过下面的工作,如果完全恢复,应该可以看到;insert into test1 values(2);SQL> conn lunar/lunarSQL> select * from tab;TESTBACKUP3 TABLESQL> create table test1 (a number);SQL> insert into test1 values(1);SQL> alter system switch logfile;SQL> commit;SQL> alter system switch logfile;SQL> insert into test1 values(2);SQL> commit;SQL> alter system switch logfile;SQL> conn internalSQL> archive log list数据库日志模式存档模式自动存档启用存档终点d:\BACKUPDB\archive最早的概要信息日志序列3下一个存档日志序列5当前日志序列5shutdown abort关闭例程,模拟数据文件丢失SQL> shutdown abortORACLE 例程已经关闭。

Mount数据库SQL> startup mount数据库装载完毕。

使损坏的数据文件脱机SQL> alter database datafile 'D:\BACKUPDB\USERS01.DBF' offline;打开数据库SQL> alter database open;拷贝刚才热备的数据文件(USERS01.DBF)恢复损坏的数据文件SQL> recover datafile 'D:\BACKUPDB\USERS01.DBF';ORA-00279: ?? 424116 (? 10/20/2002 20:42:04 ??) ???? 1 ????ORA-00289: ??: D:\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARCORA-00280: ?? 424116 ???? 1 ???? # 1 ???指定日志: {<RET>=suggested | filename | AUTO | CANCEL}autoORA-00279: ?? 424125 (? 10/20/2002 20:44:14 ??) ???? 1 ????ORA-00289: ??: D:\BACKUPDB\ARCHIVE\BACKUPT001S00002.ARCORA-00280: ?? 424125 ???? 1 ???? # 2 ???ORA-00278: ??????????? 'D:\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARC' ……………………..已应用的日志。

Oracle11g数据库热备份恢复的方法

Oracle11g数据库热备份恢复的方法

Oracle11g数据库热备份恢复的方法最近发现多个客户使用的Oracle11g数据库,数据备份恢复会有数据异常丢失的问题、用原先exp 和imp导入导出命令会发现,ecology系统当中的部分表和视图不能被导出。

且exp的导出命令不会出现错误日志。

后来查资料找到了另一种解决数据备份恢复的方法:用expdp和impdp命令导出导入数据则没有上述问题。

完整的从服务器创建数据库备份恢复到本机测试环境的脚本如下:注,红色部分可能环境不同需要调整的变量。

--按win+R键打开运行、输入cmd进入命令行--输入Oralce命令行命令:sqlplus /nolog--sysdba身份登录Oracle数据库conn sys/Oracle1234$@orcl as sysdba--更改oracle配置参数alter system set "_allow_level_without_connect_by"=true;--创建临时报空间create temporary tablespace ecology_temp tempfile'D:\Developer\oracle\oradata\orcl\ecology_temp.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建报空间create tablespace ecology logging datafile 'D:\Developer\oracle\oradata\orcl\ecology.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建备份输出目录(如果此目录在服务上不存在,则需要手动创建)create directory dmpdir as 'D:\ecology_data';--创建用户create user ecology identified by ecology default tablespace ecology temporary tablespace ecology_temp;--给ecology用户授权grant connect, resource, exp_full_database, imp_full_database to ecology;grant create session to ecology;grant create table to ecology;grant create tablespace to ecology;grant create view to ecology;grant resource, connect, RECOVERY_CATALOG_OWNER to ecology;--授权与ecology用户,解决用户数据导出的问题grant execute on SYS.DBMS_DEFER_IMPORT_INTERNAL to ecology;grant execute on SYS.DBMS_EXPORT_EXTENSION TO ecology;--授权与ecology用户读写备份目录的权限grant read, write on directory dmpdir to ecology;--提交数据commit;--Oracle数据库导出命令expdp ecology/ecology@orcl dumpfile=data0324.dmp(导出的文件) directory=dmpdir schemas=ecology(要导出的用户)--Oralce数据库导入命令impdp ecology/ecology@orcl directory=dmpdir dumpfile=data0324.dmp(要导入的文件,必须和服务器在同一目录下) schemas=ecology(要导入的用户)。

Oracle数据库数据发生丢失后的恢复方法

Oracle数据库数据发生丢失后的恢复方法

将 会丢 失 。因此 , 讨论不 完全恢 复 。 不
2 1 恢 复 过 程 .
al 数据 库数据 发 生 丢失 后 的恢 复方 法 , 供 同 仁 c e 谨
参考。
O al 数据库的恢复过程分两 步进行 , rc e 首先将 把 存放在重做 日志 文件中的所 有重 做运行 到数 据文件 , 之后对重做 中所有提 交的事 务进行 回滚 , 这样所有 数 据就恢复到发 生 灾难那 一 时刻 了。数 据 库 的恢复 只 能在 发 生 故 障 之 前 的 某 一 个 时 刻 。例 如 : 一 个 有 20// 0 1 1 1的数据 库备 份 , 2 0 / / 数 据库 中数 据 当 015 1 发生混 乱 , 望 将 数 据 库恢 复 到 2 0 / / 0时 的 状 希 0143 态, 只能先恢 复 2 O / / O l 1 1的数据库备 份 , 然后在 其运
环境 。随着 Wid ws系统 的广 泛应 用 , rce . 7 no O al 1 5 已 经 成 为 过 去 时 , 于 Wid ws的 Orc 8、 基 no al i e
2 恢 复
数 据库 的恢复 可分为两 大类 : 一是完 全恢复 ; 二
是 不完全 恢复 。
完 全恢 复 指 将数 据恢 复 到发 生 故 障 的时 间点 , 不丢失 任何数 据 。不完全 恢复指 将数据 恢 复到发生
维普资讯
第2 期




20 年1月 06 2
O al数据库数据发生丢失后的恢复方法 rc e
晓南矿 关明杰
摘 要 本文详 细介绍 了 Orc 数 据库发 生 灾难 性数 据丢 失后 的恢 复 方法 , al e 重点讲 述 了用 户操 作 失败 与存储 设备 失败 时数据库 管理员完全 恢复 的办 法。 关键 词 oa l 数据 库 备 份 恢 复 日志 文件 rce O al 数 据库环境 己成 为世界上 最流行 的数据 rc e 库平 台之一 , 占有 7 以上 的 数 据库 市 场 份 额 , O 并 法, 数据 库必须 处于 打开状态 , 而且 如果 数据库不 是

linux下oracle数据库文件丢失恢复

linux下oracle数据库文件丢失恢复

数据文件丢失之后的恢复错误现象:sql> startuporacle instance started.total system global area 7310Array664 bytesfixed size 73888 bytesvariable size 56086528 bytesdatabase buffers 16777216 bytesredo buffers 172032 bytesdatabase mounted.ora-03113: end-of-file on communication channel产生缘由分析:我的环境是linuxArray oracle 8.1.7.4出现问题的当时是,一台机器连到上面做insert into 操作,数据大概有63万条。

正在执行的过程中因为到了下班的时间,服务器设置的定时自动关机的功能,服务器在五点半的时候关机,导致insert into 操作中断,等服务器起来之后,提示一个表数据文件有问题,我就执行了shutdown immediatestartup mountrecover datafile /datafile.dbf提示恢复成功startup就出现上面的错误提示终于搞定了,采取的步骤是把,受到影响的表空间何数据文件drop 掉sql> startuporacle instance started.total system global area 7310Array664 bytesfixed size 73888 bytesvariable size 56086528 bytesdatabase buffers 16777216 bytesredo buffers 172032 bytesdatabase mounted.ora-03113: end-of-file on communication channelsql> conn system/manager as sysdbaconnected.sql> select name from datafiles2 ;select name from datafiles*error at line 1:ora-0121Array: database not open: queries allowed on fixed tables/views onlysql> select name from v$datafile2 ;name--------------------------------------------------------------------------------/u01/oradata/emcdb/system01.dbf/u01/oradata/emcdb/tools01.dbf/u01/oradata/emcdb/rbs01.dbf/u01/oradata/emcdb/temp01.dbf/u01/oradata/emcdb/users01.dbf/u01/oradata/emcdb/indx01.dbf/u01/oradata/emcdb/drsys01.dbf/u01/oradata/emcdb/emcbase.dbf/home/oracle/test.dbf/home/adonis/dwbx_wmstat.dbf//home/adonis/iwbx_wmindx.dbf11 rows selected.sql> alter database datafile //home/adonis/iwbx_wmindx.dbf offline2 ;alter database datafile //home/adonis/iwbx_wmindx.dbf offline*error at line 1:ora-01145: offline immediate disallowed unless media recovery enabled sql> alter database datafile //home/adonis/iwbx_wmindx.dbf offline drop; database altered.sql> alter database datafile /home/adonis/dwbx_wmstat.dbf offline drop;database altered.sql> alter database open;alter database open*error at line 1:ora-03113: end-of-file on communication channelsql> select name from v$tablespace;select name from v$tablespace*error at line 1:ora-03114: not connected to oraclesql> connect system/manager as sysdba; connected.sql> select name from v$tablespace;name------------------------------systemtemprbsindxusersdrsystoolsemcbasetest_userdwbx_wmstatiwbx_wmindx11 rows selected.sql> alter database tablespace dwbx_wmstat offline; alter database tablespace dwbx_wmstat offline*error at line 1:ora-02231: missing or invalid option to alter databasesql> drop tablespace dwbx_wmstat;drop tablespace dwbx_wmstat*error at line 1:ora-0154Array: tablespace not empty, use including contents option sql> drop tablespace dwbx_wmstat including contents; tablespace dropped.sql> drop tablespace iwbx_wmindx including contents; tablespace dropped.sql> alter database open2 ;alter database open*error at line 1:ora-01531: a database already open by the instancedatabase open success!!!!!。

ORACLE表备份恢复测试用例

ORACLE表备份恢复测试用例

1.准备工作在ORACLE中创建表SQL> create table test(name char(8),age int);Table created.SQL> select * from test;no rows selectedSQL> insert into test values('aaa',22);1 row created.SQL> commit;Commit complete.SQL> select * from test;NAME AGE-------- ----------aaa 222.准备工作在安腾普管理控制台创建Oracle备份应用添加ORACLE相关参数,包括ORACLE_HOME、ORALE_SID软件库文件等◆如果填写的各项参数都正确,点ORACLE应用图标右键还原和归档管理器就能展开ORACLE数据库结构如下◆定义ORACLE备份的介质池◆在作用管理器中可以查看ORACLE备份结果3.进行ORACLE表备份恢复测试◆恢复前将数据库的表dropSQL> drop table test;Table dropped.SQL> conn /as sysdbaConnected.SQL> shutdown immediate; Database closed.Database dismounted.ORACLE instance shut down.SQL>进入还原和归档管理器,启动还原操作数据库还原后,对数据库进行recoverSQL> startup mount;ORACLE instance started.Total System Global Area 5010685952 bytesFixed Size 2212936 bytesVariable Size 3221228472 bytesDatabase Buffers 1744830464 bytesRedo Buffers 42414080 bytesDatabase mounted.SQL> recover database using backup controlfile until cancel;ORA-00279: change 1040140 generated at 03/04/2015 02:54:36 needed for thread 1 ORA-00289: suggestion : /u01/app/11.2.0/arch/1_11_873425412.dbfORA-00280: change 1040140 for thread 1 is in sequence #11Specify log: {<RET>=suggested | filename | AUTO | CANCEL}ORA-00279: change 1040340 generated at 03/04/2015 02:55:15 needed for thread 1 ORA-00289: suggestion : /u01/app/11.2.0/arch/1_12_873425412.dbfORA-00280: change 1040340 for thread 1 is in sequence #12ORA-00278: log file '/u01/app/11.2.0/arch/1_11_873425412.dbf' no longer needed for this recoverySpecify log: {<RET>=suggested | filename | AUTO | CANCEL}Log applied.Media recovery complete.SQL>SQL> alter database open resetlogs;Database altered.4.检查还原的数据SQL> conn zwh/zwh Connected.SQL> select * from test; NAME AGE-------- ----------aaa 22SQL>。

oracle 集群故障处理案例

oracle 集群故障处理案例

标题:Oracle 集裙故障处理案例正文:一、概述Oracle 数据库在企业应用中扮演着重要的角色,为了保障数据的安全性和稳定性,很多企业都会采用集裙的方式来部署 Oracle 数据库。

然而,即使采用了集裙部署,也无法完全避免故障的发生。

在实际运维中,处理集裙故障是数据库管理员必须面对的挑战之一。

本文将以实际案例为例,探讨在 Oracle 集裙中常见的故障处理方法。

二、故障现象描述我们的案例是发生在一家电商企业的 Oracle 数据库集裙上。

在一天凌晨的数据库备份过程中,其中一台节点的数据库突然宕机,无法对外提供服务。

这导致部分业务受到影响,需要尽快将故障排除恢复服务。

三、排查故障原因1. 查看日志信息我们登入到集裙中的其他正常节点,查看日志信息。

日志中显示了一些关于存储和网络异常的报警信息。

2. 检查存储状态我们通过存储管理工具查看存储的状态。

发现存储设备上的部分磁盘出现了异常,可能是造成数据库宕机的原因之一。

3. 检查网络连接我们也检查了集裙节点之间的网络连接状态,发现了某个节点与存储之间的网络连接存在异常。

四、故障处理过程1. 修复存储设备针对存储设备上的异常,我们立即通联存储设备厂家进行了紧急维护。

通过他们的帮助,我们成功修复了存储设备上的磁盘异常,并恢复了存储的正常状态。

2. 修复网络连接我们对节点与存储之间的网络连接进行了调试和修复。

最终找到了网络连接异常的原因,并采取相应措施进行了修复。

3. 数据库恢复在经过以上步骤的处理之后,我们重新启动了故障节点上的数据库实例,并进行了数据完整性检查和恢复操作。

故障节点顺利恢复,并重新加入到了集裙中,正常对外提供服务。

五、故障处理总结通过以上的故障处理过程,我们总结了以下几点经验和教训:1. 定期检查存储设备的健康状态,及时排除潜在风险。

2. 注意集裙节点之间的网络连接状态,及时发现并解决异常。

3. 在处理集裙故障时,要有条不紊地逐步排查,不要操之过急。

数据库备份与恢复技术的实践与案例分析

数据库备份与恢复技术的实践与案例分析

数据库备份与恢复技术的实践与案例分析近年来,随着互联网的蓬勃发展和大数据时代的到来,数据库备份与恢复技术在企业和个人的数据管理中扮演了至关重要的角色。

数据库备份是指将数据库中的数据复制到其他存储介质以防止数据丢失的过程,而数据库恢复则是在数据库的原始数据不可用时将备份数据恢复为可用状态的过程。

本文将首先介绍数据库备份与恢复技术的基本原理和常用方法,然后通过案例分析来深入探讨该技术在实践中的应用。

数据库备份是一项重要的数据管理措施,旨在防止数据丢失造成的损失。

数据丢失的原因可以是硬件故障、人为错误、软件故障、病毒攻击等。

因此,定期进行数据库备份并将备份数据存储在安全的地方是非常重要的。

常见的数据库备份方式包括完全备份、增量备份和差异备份。

完全备份是指将整个数据库的所有数据复制到备份介质中,它最为简单和可靠,但备份时间较长,占用磁盘空间大。

增量备份是基于完全备份的基础上进行的,只备份发生变化的数据,备份时间较短,占用磁盘空间较少,但在恢复时需要使用完整备份和之后的增量备份一起恢复。

差异备份则是备份上次完全备份之后发生过修改的数据,备份和恢复的时间都比增量备份短,但备份时占用的磁盘空间会随着时间的推移增加。

数据库恢复是在数据库数据不可用或异常时将备份数据恢复为可用状态的过程。

恢复的方法与备份的方法相似,需要根据备份类型和备份策略来选择合适的方法。

基于完全备份的恢复方式最为简单,只需要将完整备份的数据覆盖到目标数据库即可。

基于增量备份的恢复较为复杂,需要将完整备份和之后的增量备份一起恢复,保证数据的一致性。

而基于差异备份的恢复则只需恢复上次完全备份之后的差异备份即可。

此外,灾难恢复、数据库复制和日志恢复等高级恢复技术也是企业中常用的手段,可以提高恢复速度和可用性。

案例一:小型企业数据库的备份与恢复实践某小型企业使用MySQL作为其主要的数据库管理系统。

为了保证业务数据的安全性与可用性,企业定期使用mysqldump命令对数据库进行了完全备份,并将备份文件存储在安全的地方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle数据库恢复案例
当我们在使用Oracle数据库时,突然断电,造成很多问题,致使旧数据丢失,影响了数据的正确性,破坏了数据库。

此时,用户急切需求恢复数据。

本文以此为例,讲述数据库数据恢复。

一、案例描述:
数据库因突然断电,数据库启库报system01.dbf需要更多的恢复来保持一致性,数据库无法打开;数据库没有备份,归档日志也不连续。

客户提供了数据库的在线文件,急需恢复zxfg用户下的数据。

二、恢复流程:
1 数据库的故障检测
2 尝试挂起数据库并修复数据库
3解析数据文件
4验证数据
5导出数据与交付数据(导入)
三、恢复数据
1数据库的故障检测
利用DBV 命令检测数据文件的完整性
结果如下:
分析结果发现SYSAUX01.DBF文件数据块(Data)检测失败40页,索引页(Index)检测失败29页,说明SYSAUX01.DBF存在坏块。

结论:通过dbv对数据文件的完整性检验,SYSAUX01.DBF存在坏块,其他检测的文件完整。

2 用客户的数据库本地挂起数据库,尝试修复数据库。

2.1创建新的OS :windows server 2008 x86,安装oracle 11.2.0.1.0 for 32-bit
版本数据库,挂起数据库
起库报ORA-01110错误,System01.dbf需要更多一致性恢复。

使用recover database 命令,利用在线日志做介质恢复。

数据库的控制文件已被修改,需要使用控制文件恢复数据库
恢复数据库需要2016_01_19的11号归档日志。

由于归档日志丢失,使用cancel 参数进行不完全恢复。

再次执行alter database open 命令,数据库打开。

2.2 查询实例状态,数据库报ora_00600错误;进行其他查询,其中一些查询可以进行,一些查询报错,而且报错都是ora_00600错误。

2.4查看警告日志追踪文件查看内部错误代码;
警告日志部分内容如下:
ORA-00600: internal error code, arguments: [13013], [5001], [267], [8456009], [5], [8456009], [17], [], [], [], [], []
Non-fatal internal error happenned while SMON was doing logging scn->time mapping. 进行各种尝试,查阅大量资料。

数据库的这种内部错误,不能通过命令修复。

尝试导出数据库。

2.3 用expdp/exp工具导出数据库;
2.3.1使用expdp导出数据库
expdp导出数据库报错,和上面查询报同样的错误。

sysaux01.dbf文件损坏导致expdp工具不可用,导出数据库失败。

尝试使用exp导出数据库
2.3.2使用exp导出数据库
exp导出数据库,和上面报同样的错误。

数据库报严重的内部错误,导致导出工具exp不能使用,甚至一些查询都不能进行,导出数据库失败。

3解析数据文件,获取用户数据
由上可知,数据库的恢复已不可能。

底层解析,解析数据文件,获取用户对象。

3.1使用北亚自主研发DBF解析工具的,获取数据。

结果如下:
3.2 迁移对象到数据库中
创建数据库,在数据库中创建用户,为用户分配表空间,解锁用户并授权。

然后,通道数据的搭桥的方式,将解析到的用户对象迁移到数据库中。

四、验证数据
使用toad for oracle工具验证数据
五、导出数据,交付用户
5.1使用exp或者expdp导出zxfg用户下的所有对象,本例采用exp导出数据命令如下:
exp system/abcfile=C:\test\dump\zxfg.dmp log=C:\test\dump\zxfg.log owner=zxfg
查看导出数据库的dmp文件及导出日志,确保导出文件没有问题。

5.2用户导入数据,查看导入数据的完整性。

用户验证数据后,全部正确,并表示非常满意。

相关文档
最新文档