rman备份mysql_rman备份与还原

本文详细介绍了如何使用RMAN进行Oracle数据库的备份,包括全备、增量备份和差异备份,以及如何设置时间点恢复。还涉及到在恢复过程中遇到的问题及解决方法,如重置incarnation和恢复误删数据的步骤。
摘要由CSDN通过智能技术生成

备份方案与流程

目前有test1 , test2 ,CN_test是用户建立的表

1.建立一个catalog表空间,和即将要备份和恢复的数据不能为一个表空间

SQL> create tablespace recover1 datafile

'/db/oracle/oradata/recover1' size 1024M;

2.建立一个rman2用户

c01aea2f7a592c18f39fbf8edabd30e2.png

授权:

dee3b5891c3adee90d995a833e68f685.png

3.登录创建目录

630cdcf9a98c5abc89b4a7fe6e63f508.png

备份的时候自动备份控制文件:

Configure controlfile autobackup on;

4.注册目标数据库

cb97c559eb266cbd2f83f0d7f19f1d44.png

69bedace6f5571cfe671af53b98b1142.png

5.分配通道,设置备份路径:

0f08b6e65c3943c6b914965460ef1d35.png

打开控制文件自动备份,并储存到/control目录下:

rman>configure controlfile

autobackup on;

rman>configure controlfile

autobakcup format for device type disk to '/control/%F';

6.开始备份:backup

database plus archivelog;

增量0级备份:backup

incremental level 0 database;

增量1级差异备份:backup

incremental level 1 database;

增量1级累计备份:backup

incremental level 1 cumulativedatabase;

常见的备份策略(差异备份):

星期

差异增量

累积增量

星期天

0级

0级

星期一

2级

2级

星期二

2级

2级

星期三

1级

1级

星期四

2级

2级

星期五

2级

2级

星期六

2级

2级

星期天

0级

0级

还原步骤

1.因为有可能需要按时间点做还原,所以需要设置oracle用户的环境变量

NLS_DATE_FORMAT='mm/dd/yyyy

hh24:mi:ss';

export NLS_DATE_FORMAT

2.使用rman登录

rman target=rman2/rman2@test

3.将数据库变更为挂载状态

startup mount;

强制更改:startup force mount;

4.以下为按照时间点不完全恢复

run{

set until time "to_date('2011/06/2814:00:30','yyyy/mm/dd hh24:mi:ss')";

restore

database;

recoverdatabase;

}基于时间点的不完全恢复

5.完成后重新挂载

alter database open

resetlogs;

其他:

1.按时间点还原时候出现:

until time or recovery window is before

resetlogs time错误

需要将原型重置到恢复时间节点之前的resetlogs

list incarnation of database "test";

reset database to incarnation数字;

恢复误删除数据:

1.做全备份,归档当前日志:

e688a531c14e61bcafcfe27f01309979.png

2.备份一个pfile:

3fcdb85f260840eca331c89f68b3a789.png

3efeb84e3f036ec53857f2e88dd2d905.png

3.备份当前数据库

关闭数据库

SQL> shut immediate

数据库文件夹改名备份,并创建一个原库名文件夹

8f225cb663692bc7a0572f0601fdebd5.png

$mkdir test

4.启动数据库到nomount

4bb9b0183918d1467105800acb0d1df2.png

5.恢复controlfile

c9fabf6fc5c29c3610306622924273c2.png

59f3866f76e4c84dd9bbaba45a32684d.png

run

{

allocate

channel t1 type disk;

restore

controlfile from 'c-2053343983-20110630-01';

release

channel t1;

}

6.启动数据库mount,恢复归档日志:

SQL> startup mount;

RMAN> list backup of archivelog all;

找到最近2两天的seq,进行恢复

run

{

allocate

channel t1 type disk;

set

archivelog destination to '/db/oracle/flash_recovery_area/TEST/archivelog';

restore archivelog sequence6thread 1;

release

channel t1;

}

7.恢复数据库

run

{

allocate

channel t1 type disk;

set untilscn916578;

restore

database;

recoverdatabase;

release

channel t1;

}

alter database open

resetlogs;

scn用最后一个日志的next scn

exp按照用户导出

exp

software/software  rows=y indexes=n

compress=n buffer=65536 feedback=100000 volsize=0 owner=software

file=/oraexp/exp_software_201107.dmp log=/oraexp/exp_software_201107.log

Imp按用户导入

imp

software/software fromuser=software touser=software rows=y indexes=n commit=y

buffer=65536 feedback=100000 ignore=y volsize=0 file=exp_software_201107.dmp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值