如果数据库打开,有部分数据文件损坏,可以在不影响其他数据文件的情况下,对损坏的数据文件进行恢复。

--对数据库进行备份

RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;

Starting backup at 2016-01-18 23:33:13

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=8 RECID=4 STAMP=901495908

input archived log thread=1 sequence=9 RECID=5 STAMP=901495932

input archived log thread=1 sequence=10 RECID=6 STAMP=901495947

input archived log thread=1 sequence=11 RECID=7 STAMP=901496002

channel ORA_DISK_1: starting piece 1 at 2016-01-18 23:33:25

channel ORA_DISK_1: finished piece 1 at 2016-01-18 23:33:40

piece handle=/u01/app/oracle/flash_recovery_area/NEO/backupset/2016_01_18/o1_mf_annnn_TAG20160118T233324_c9t1g580_.bkp tag=TAG20160118T233324 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/oracle/flash_recovery_area/NEO/archivelog/2016_01_18/o1_mf_1_8_c9t1c26j_.arc RECID=4 STAMP=901495908

archived log file name=/u01/app/oracle/flash_recovery_area/NEO/archivelog/2016_01_18/o1_mf_1_9_c9t1crdx_.arc RECID=5 STAMP=901495932

archived log file name=/u01/app/oracle/flash_recovery_area/NEO/archivelog/2016_01_18/o1_mf_1_10_c9t1d6ym_.arc RECID=6 STAMP=901495947

archived log file name=/u01/app/oracle/flash_recovery_area/NEO/archivelog/2016_01_18/o1_mf_1_11_c9t1g2w2_.arc RECID=7 STAMP=901496002

Finished backup at 2016-01-18 23:33:40

--查看数据文件

[oracle@localhost neo]$ ls -trl

总计 1728264

-rw-r----- 1 oracle oinstall  10493952 01-18 22:30 users02.dbf_bk

-rw-r----- 1 oracle oinstall  30416896 01-18 23:23 temp01.dbf

-rw-r----- 1 oracle oinstall  52429312 01-18 23:33 redo02.log

-rw-r----- 1 oracle oinstall  52429312 01-18 23:35 redo03.log

-rw-r----- 1 oracle oinstall  10493952 01-18 23:35 users02.dbf

-rw-r----- 1 oracle oinstall 145498112 01-18 23:35 users01.dbf

-rw-r----- 1 oracle oinstall 104865792 01-18 23:35 example01.dbf

-rw-r----- 1 oracle oinstall  89137152 01-19 00:05 undotbs01.dbf

-rw-r----- 1 oracle oinstall 713039872 01-19 00:05 system01.dbf

-rw-r----- 1 oracle oinstall 503324672 01-19 00:05 sysaux01.dbf

-rw-r----- 1 oracle oinstall  52429312 01-19 00:07 redo01.log

-rw-r----- 1 oracle oinstall   9748480 01-19 00:07 control01.ctl

--将 USERS 表空间中的一个数据文件改名

[oracle@localhost neo]$ mv users02.dbf users02.dbf_bk

--验证数据文件

RMAN> validate datafile 6;

Starting validate at 2016-01-19 00:09:47

using channel ORA_DISK_1

channel ORA_DISK_1: starting validation of datafile

channel ORA_DISK_1: specifying datafile(s) for validation

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

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

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

RMAN-03009: failure of validate command on ORA_DISK_1 channel at 01/19/2016 00:09:47

ORA-01122: database file 6 failed verification check

ORA-01110: data file 6: '/ORADATA/neo/users02.dbf'

ORA-01565: error in identifying file '/ORADATA/neo/users02.dbf'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

--将损坏的表空间离线

RMAN> SQL "ALTER TABLESPACE users OFFLINE IMMEDIATE";

sql statement: ALTER TABLESPACE users OFFLINE IMMEDIATE

--查看损坏的数据文件

select name,status from v$datafile;

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

/ORADATA/neo/system01.dbf                                         SYSTEM

/ORADATA/neo/sysaux01.dbf                                         ONLINE

/ORADATA/neo/undotbs01.dbf                                        ONLINE

/ORADATA/neo/users01.dbf                                          RECOVER

/ORADATA/neo/example01.dbf                                        ONLINE

/ORADATA/neo/users02.dbf                                          RECOVER

--进行表空间恢复

RMAN> RESTORE TABLESPACE users;

Starting restore at 2016-01-19 00:11:23

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore

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

channel ORA_DISK_1: restoring datafile 00004 to /ORADATA/neo/users01.dbf

channel ORA_DISK_1: restoring datafile 00006 to /ORADATA/neo/users02.dbf

channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/NEO/backupset/2016_01_18/o1_mf_nnndf_TAG20160118T233340_c9t1gsmg_.bkp

channel ORA_DISK_1: piece handle=/u01/app/oracle/flash_recovery_area/NEO/backupset/2016_01_18/o1_mf_nnndf_TAG20160118T233340_c9t1gsmg_.bkp tag=TAG20160118T233340

channel ORA_DISK_1: restored backup piece 1

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

Finished restore at 2016-01-19 00:11:48

RMAN>  RECOVER TABLESPACE users;

Starting recover at 2016-01-19 00:12:03

using channel ORA_DISK_1

starting media recovery

media recovery complete, elapsed time: 00:00:01

Finished recover at 2016-01-19 00:12:04

--将表空间置为在线状态

RMAN> SQL "ALTER TABLESPACE users ONLINE";

sql statement: ALTER TABLESPACE users ONLINE

--查看数据文件的状态

select name,status from v$datafile;

NAME                                                              STATUS

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

/ORADATA/neo/system01.dbf                                         SYSTEM

/ORADATA/neo/sysaux01.dbf                                         ONLINE

/ORADATA/neo/undotbs01.dbf                                        ONLINE

/ORADATA/neo/users01.dbf                                          ONLINE

/ORADATA/neo/example01.dbf                                        ONLINE

/ORADATA/neo/users02.dbf                                          ONLINE

--下面是告警日志中的信息

[oracle@localhost trace]$ tailf alert_neo.log

Mon Jan 18 23:23:06 2016

Errors in file /u01/app/oracle/diag/rdbms/neo/neo/trace/neo_m001_3398.trc:

ORA-01116: error in opening database file 6

ORA-01110: data file 6: '/ORADATA/neo/users02.dbf'

ORA-27041: unable to open file

Linux Error: 2: No such file or directory

Additional information: 3

Mon Jan 18 23:25:09 2016

ALTER TABLESPACE users OFFLINE IMMEDIATE

Completed: ALTER TABLESPACE users OFFLINE IMMEDIATE

Mon Jan 18 23:27:17 2016

Checker run found 2 new persistent data failures

Mon Jan 18 23:27:18 2016

Full restore complete of datafile 6 /ORADATA/neo/users02.dbf.  Elapsed time: 0:00:00

checkpoint is 846683

Full restore complete of datafile 4 /ORADATA/neo/users01.dbf.  Elapsed time: 0:00:01

checkpoint is 846683

Mon Jan 18 23:27:46 2016

alter database recover datafile list clear

Completed: alter database recover datafile list clear

alter database recover if needed

tablespace USERS

Media Recovery Start

Serial Media Recovery started

Recovery of Online Redo Log: Thread 1 Group 1 Seq 7 Reading mem 0

Mem# 0: /ORADATA/neo/redo01.log

Recovery of Online Redo Log: Thread 1 Group 2 Seq 8 Reading mem 0

Mem# 0: /ORADATA/neo/redo02.log

Media Recovery Complete (neo)

Completed: alter database recover if needed

tablespace USERS

Mon Jan 18 23:28:42 2016

ALTER TABLESPACE users ONLINE

Completed: ALTER TABLESPACE users ONLINE

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-1978740/,如需转载,请注明出处,否则将追究法律责任。

oracle rman恢复表空间,Oracle RMAN 表空间的完全恢复相关推荐

  1. Oracle数据库恢复应SQL,Oracle数据库数据恢复验证笔记

    这些年做数据恢复单子,经常碰到Oracle案例,当我们把数据恢复出来以后,我们怎样才能让用户看到oracle数据库里的东西,而不是一个一个oracle数据文件,以下是我总结出来的,对oracle初学者 ...

  2. oracle增量恢复dg备库,rman增量恢复DG备库出现GAP的情况

    主库归档被意外删除,备库复制出现问题,alter日志如下: Wed Apr 01 10:16:15 2015 Media Recovery Log /tol/archivelog/1_587399_7 ...

  3. oracle数据库恢复aul_[数据库]oracle从dbf文件中恢复数据(通过AUL工具实现)

    [数据库]oracle从dbf文件中恢复数据(通过AUL工具实现) 0 2013-09-27 00:00:18 背景故事:前几天,硬盘故障导致oracle崩溃.重要数据丢失,只剩下孤零零的dbf文件. ...

  4. oracle重新恢复数据库,重新安装oracle根据原数据文件恢复数据库

    个人重新安装系统,数据文件保留,在重新安装oracle 后,需要根据现有文件恢复现有数据库. 假设我的数据库数据文件在D:\oracle\product\10.2.0\oradata\orcl\目录下 ...

  5. oracle的恢复管理器概述与配置(600大神讲课)

    备份恢复: 备份:把有效的文件copy出来 1. 使用RMAN进行恢复 Data files------数据损失(data files数据丢失) 2 Control files 数据库的名字,数据文件 ...

  6. Oracle 实例恢复--转自沙弥的世界

    --======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭 ...

  7. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复

    示例一:表空间的数据文件被误删除 open状态下删除表空间对应的所有数据文件. 在open状态下使用alter tablespace ... offline for recover 脱机表空间. 使用 ...

  8. oracle 恢复表关联,ORACLE 12C使用RMAN进行表恢复

    ORACLE 12C使用RMAN进行表恢复 在12C以前的版本中,rman可以进行db,tablespace,datafile,block级别和TSPITR的恢复,12C引入了table级别的恢复 在 ...

  9. oracle 恢复用户表空间,Oracle以TSPITR方式恢复表空间数据一例

    SQL> show user USER is "" SQL> conn zlm/zlm@ora10g213 Connected. SQL> ! --创建一个RMA ...

最新文章

  1. docker mysql镜像连接不上_Mysql安装-Docker版
  2. Python中字符串的介绍以及常见操作
  3. centos恢复图形界面_centos7安装图形界面
  4. Sitecore安全性第1部分:自定义角色和权限
  5. 洛谷 P2163 [SHOI2007]园丁的烦恼 (离线sort,树状数组,解决三维偏序问题)
  6. 密码中不能包含全角字符的正则表达式
  7. 飞鸽传书2007的java学习感想
  8. 【IPC通信】匿名管道
  9. 牛客小白月赛8: I. 路灯孤影(区间DP)
  10. 手机浏览器自动播放视频video(设置autoplay无效)的解决方案
  11. 2022年PMP考试模拟题1(含答案解析)
  12. 免费试用CRM的高效方式
  13. 等价类划分法写测试用例练习
  14. 3D建模最常用的是那三款软件?
  15. 搞死SAP系统系列 让系统无法连接数据库
  16. linux创建桥接接口,Linux创建桥接网络
  17. 小米全国高校编程大赛 正式赛题解
  18. 护眼灯国a和国aa的区别有哪些?2022如何选择真正能护眼的台灯
  19. LDA模型中文文本主题提取丨可视化工具pyLDAvis的使用
  20. WinHex数据恢复新手入门

热门文章

  1. 七夕约课吗?优惠劵大放送
  2. d3.js mysql_d3js是什么
  3. idea安装与配置(2019版本)
  4. 2022年高处安装、维护、拆除考题模拟考试平台操作
  5. 稻盛和夫--经营理论
  6. stetho 调试数据库_stetho是适用于android应用程序的最佳调试工具
  7. 随机森林matlab降维,七种降维方法
  8. 物理专业出身的Flash业余爱好者喜获Adobe Flash开发大赛一等奖
  9. 小游戏之扫雷(uniapp)
  10. 安全帽佩戴识别系统介绍