RMAN恢复数据库实战

简介:

预设场景:

一般企业数据库的数据都用rman工具进行了全库备份,那么当数据库里面的控制文件,重做日志文件等全部丢失了之后怎么办呢?以下是解答思路:

1、利用全库备份的备份片恢复控制文件

2、恢复数据文件

3、挂载数据库

以下是详细步骤:

1 、先用rman restore备份的全库,找回控制文件:

RMAN>  restore controlfile from '/u01/app/oracle/flash_recovery_area/JIAGULUN/backupset/2016_02_01/o1_mf_ncsnf_TAG20160201T122728_cbxqp0go_.bkp';


Starting restore at 01-FEB-16

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=155 devtype=DISK


channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:03

output filename=/u01/app/oracle/oradata/jiagulun/control01.ctl

output filename=/u01/app/oracle/oradata/jiagulun/control02.ctl

output filename=/u01/app/oracle/oradata/jiagulun/control03.ctl

Finished restore at 01-FEB-16


RMAN> alter database mount;


database mounted

released channel: ORA_DISK_1

##########################################################################################################################################################################################################################################################################################################################################################################################

验证:

[oracle@oracle ~]$ cd /u01/app/oracle/oradata/jiagulun/

[oracle@oracle jiagulun]$ ll                             ----控制文件已找回

total 20688

-rw-r----- 1 oracle oinstall 7061504 Feb  1 12:32 control01.ctl

-rw-r----- 1 oracle oinstall 7061504 Feb  1 12:32 control02.ctl

-rw-r----- 1 oracle oinstall 7061504 Feb  1 12:32 control03.ctl

#############################################################################################################################################################################################

#############################################################################################################################################################################################

#############################################################################################################################################################################################

2、恢复数据文件

RMAN> restore database;


Starting restore at 01-FEB-16

Starting implicit crosscheck backup at 01-FEB-16

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=155 devtype=DISK

Crosschecked 1 objects

Finished implicit crosscheck backup at 01-FEB-16


Starting implicit crosscheck copy at 01-FEB-16

using channel ORA_DISK_1

Crosschecked 8 objects

Finished implicit crosscheck copy at 01-FEB-16


searching for all files in the recovery area

cataloging files...

cataloging done


List of Cataloged Files

=======================

File Name: /u01/app/oracle/flash_recovery_area/JIAGULUN/backupset/2016_02_01/o1_mf_ncsnf_TAG20160201T122728_cbxqp0go_.bkp


using channel ORA_DISK_1


channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /u01/app/oracle/oradata/jiagulun/system01.dbf

restoring datafile 00002 to /u01/app/oracle/oradata/jiagulun/undotbs01.dbf

restoring datafile 00003 to /u01/app/oracle/oradata/jiagulun/sysaux01.dbf

restoring datafile 00004 to /u01/app/oracle/oradata/jiagulun/users01.dbf

restoring datafile 00005 to /u01/app/oracle/oradata/jiagulun/example01.dbf

channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/JIAGULUN/backupset/2016_02_01/o1_mf_nnndf_TAG20160201T122728_cbxqok7r_.bkp

channel ORA_DISK_1: restored backup piece 1

piece handle=/u01/app/oracle/flash_recovery_area/JIAGULUN/backupset/2016_02_01/o1_mf_nnndf_TAG20160201T122728_cbxqok7r_.bkp tag=TAG20160201T122728

channel ORA_DISK_1: restore complete, elapsed time: 00:00:25

Finished restore at 01-FEB-16

##########################################################################################################################################################################################################################################################################################################################################################################################

验证:

[oracle@oracle ~]$ cd /u01/app/oracle/oradata/jiagulun/

[oracle@oracle jiagulun]$ ll

total 911612

-rw-r----- 1 oracle oinstall   7061504 Feb  1 12:40 control01.ctl

-rw-r----- 1 oracle oinstall   7061504 Feb  1 12:40 control02.ctl

-rw-r----- 1 oracle oinstall   7061504 Feb  1 12:40 control03.ctl

-rw-r----- 1 oracle oinstall 104865792 Feb  1 12:37 example01.dbf

-rw-r----- 1 oracle oinstall 262152192 Feb  1 12:37 sysaux01.dbf

-rw-r----- 1 oracle oinstall 503324672 Feb  1 12:37 system01.dbf

-rw-r----- 1 oracle oinstall  36708352 Feb  1 12:37 undotbs01.dbf

-rw-r----- 1 oracle oinstall   5251072 Feb  1 12:37 users01.dbf

#############################################################################################################################################################################################

#############################################################################################################################################################################################

#############################################################################################################################################################################################

RMAN> alter database open resetlogs;


RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of alter db command at 02/01/2016 12:41:48

ORA-01152: file 1 was not restored from a sufficiently old backup 

ORA-01110: data file 1: '/u01/app/oracle/oradata/jiagulun/system01.dbf'


RMAN> recover database;


Starting recover at 01-FEB-16

using channel ORA_DISK_1


starting media recovery


unable to find archive log

archive log thread=1 sequence=11

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 02/01/2016 12:42:06

RMAN-06054: media recovery requesting unknown log: thread 1 seq 11 lowscn 653723


RMAN> alter database open resetlogs;                  -------------与可以打开数据库


database opened

##########################################################################################################################################################################################################################################################################################################################################################################################

验证是否恢复成功:

[oracle@oracle jiagulun]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 1 12:45:31 2016


Copyright (c) 1982, 2005, Oracle.  All rights reserved.



Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options


SQL> startup force;

ORACLE instance started.


Total System Global Area 1174405120 bytes

Fixed Size                  2020288 bytes

Variable Size             301993024 bytes

Database Buffers          855638016 bytes

Redo Buffers               14753792 bytes

Database mounted.

Database opened.


已能打开数据库,恢复成功



     本文转自陈继松 51CTO博客,原文链接:http://blog.51cto.com/chenjisong/1740385,如需转载请自行联系原作者





相关文章
|
29天前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
48 3
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
102 0
|
1月前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
45 5
|
2月前
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
51 0
|
1天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
5天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
|
11天前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。