怎样用rman备份的表空间来恢復

已举报 回答
怎样用rman备份的表空间来恢復
问在线客服
扫码问在线客服
  • 回答数

    4

  • 浏览数

    1,680

4个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
1、创建表空eygle
2、创建用户eygle,隶属于eygle表空间;赋予用户DBA权限
3、egyle用户登录DB,创建表test_egyle
4、rman备份egyle表空间
RMAN backup tablespace eygle tag=ey_first;
Starting backup at 15-FEB-14
using target database control file instead of recovery catalog ----使用目标库控制文件替代恢复目录
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=317 device type=DISK
channel ORA_DISK_1: starting full datafile backup set ----启动full数据文件备份集
channel ORA_DISK_1: specifying datafile(s) in backup set ----指定备份集中的数据文件
input datafile file number=00029 name=/home/Oracle/oradata/temp/eygle.f ----输入数据文件
channel ORA_DISK_1: starting piece 1 at 15-FEB-14
channel ORA_DISK_1: finished piece 1 at 15-FEB-14
piece handle=/home/oracle/app/flash_recovery_area/ORA11G/backupset/2014_02_15/o1_mf_nnndf_EY_FIRST_9hxyglp2_.bkp tag=EY_FIRST comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-FEB-14
Starting Control File and SPFILE Autobackup at 15-FEB-14 ----库结构发生变化时,controlfile和spfile将自动备份
piece handle=/home/oracle/app/flash_recovery_area/ORA11G/autobackup/2014_02_15/o1_mf_s_839597011_9hxygn23_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 15-FEB-14
6、sys用户登录DB,修改表空间egyle状态offline
SQL alter tablespace eygle offline;
7、破坏表空间egyle对应数据文件,如删除或改名
oracle@linux:~/oradata/temp mv eygle.f eygle_bak.f
8、修改表空间egyle状态online,报错
SQL alter tablespace eygle online;
alter tablespace eygle online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 29 - see DBWR trace file
ORA-01110: data file 29: '/home/oracle/oradata/temp/eygle.f'
9、rman恢复
RMAN restore tablespace eygle; 将备份文件恢复到原先位置
Starting restore at 15-FEB-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=261 device type=DISK
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 00029 to /home/oracle/oradata/temp/eygle.f
channel ORA_DISK_1: reading from backup piece /home/oracle/app/flash_recovery_area/ORA11G/backupset/2014_02_15/o1_mf_nnndf_EY_FIRST_9hxyglp2_.bkp
channel ORA_DISK_1: piece handle=/home/oracle/app/flash_recovery_area/ORA11G/backupset/2014_02_15/o1_mf_nnndf_EY_FIRST_9hxyglp2_.bkp tag=EY_FIRST
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 15-FEB-14
RMAN recover tablespace eygle; 执行恢复操作
Starting recover at 15-FEB-14
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 15-FEB-14
10、检验恢复结果
SQL alter tablespace eygle online;
Tablespace altered.
取消 评论
不是自己用过的、、、、
你参考一下
RMAN run
2 {
3 restore database;
4 recover database;
5 }

这样恢复的话,rman会应用你备份的所有归档日志。你2点到10点归档日志是自动备份的。
如果你要恢复到某个时间点的话,使用until scn 子句
取消 评论
Recovery Manager(RMAN),是一种用于集备份(backup)、还原(restore)和恢复(recover)数据库于一体的Oracle 工具。能够备份整个数据库、表空间、数据文件、控制文件、归档文件以及Spfile参数文件。支持增量数据块级别的备份 和块级别的介质恢复,可以保存频繁执行的备份恢复脚本,可以实现数据库的克隆、使用RMAN建立备用数据库, 支持镜像备份与备份集,可以备份到磁盘与磁带, 管理备份与恢复任务,可增加备份并发度或限制I/O减少备份给数据库带来的影响,在备份期间检查损坏的数据块,支持在备份期间使用压缩特性来减少磁盘空间的占用。
在Windows操作系统中为rman.exe,在Unix系统中为rman。
在用rman做备份时要确定数据库archive处于Enabled状态sqlplusarchive log list如果不是要打开shutdown immediate;startup mount;alter database archivelog;RMAN backup format '/u01/app/oracle/rmanbak/lf_%d_%U' archivelog all delete input; --delete input 删除所有已经备份过的归档日志RMAN backup archivelog all delete input format '/u01/app/oracle/rmanbak/lf_%d_%U';full备份:backup format 'u01/rmbak/full_%T_%u.bak' database plus archivelog;0级增量备份:run{ allocate channel ch1 type disk; backup incremental level 0 database format '/u01/bk/rmbk/Inc_0_%U' tag=Inc_0; release channel ch1;}1级增量备份:run{ allocate channel ch1 type disk; backup incremental level 1 database format '/u01/bk/rmbk/Inc_1_%U' tag=Inc_1; release channel ch1;}一个典型的增量备份案例:星期天晚上 - level 0 backup performed星期一晚上 - level 2 backup performed星期二晚上 - level 2 backup performed星期三晚上 - level 1 backup performed星期四晚上 - level 2 backup performed星期五晚上 - level 2 backup performed星期六晚上 - level 2 backup performed做到自动一周备份计划:1.自动备份:备份脚本+crontab 三个脚本名字: bakl0 bakl1 bakl22.执行脚本: rman target / msglog=bak_0.log cmdfile=bakl0 rman target / msglog=bak_1.log cmdfile=bakl1 rman target / msglog=bak_2.log cmdfile=bakl2脚本:run{ allocate channel ch1 type disk; --备份到硬盘上,分配一个通道 backup incremental level 0 database --0级备份 format '/u01/bk/rmbk/Inc_0_%u_%T' --存放的位置 tag=Inc_0; --标签 release channel ch1; --释放通道}
取消 评论
可以用恢复工具看一下
装个电脑管家在你的电脑上面
然后打开工具箱,找到文件数据恢复工具或者文件找回功能
用这个功能对丢失文件位置进行检测,然后看能不能找回
取消 评论
ZOL问答 > 电源 > 其他 > 怎样用rman备份的表空间来恢復

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?