Rman备份与恢复1之目标数据库

本文详细介绍了如何使用Rman进行数据库备份、恢复及重建的过程,包括设置备份位置、新建测试表、备份整个数据库(包括控制文件、归档日志、数据文件)、备份SPFILE、重建实例和数据库,以及日志文件的恢复与数据库的打开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rman备份与恢复之目标数据库

1.  设置备份的文件存放的位置,备份时自动备份控制文件

C:\Documents and Settings\wwang>rman target / --在目标数据库上备份

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 7 2 22:15:57 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: MDSP (DBID=663168021)

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

新的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

已成功存储新的 RMAN 配置参数

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\testrman\control\%F';

新的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\testrman\control\%F';

已成功存储新的 RMAN 配置参数

RMAN> configure channel device type disk format 'D:\testrman\%d_%u_%T';

新的 RMAN 配置参数:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   'D:\testrman\%d_%u_%T';

已成功存储新的 RMAN 配置参数

RMAN>

2.在raman备份前新建一张测试表并插入记录

SQL> create table rman(a varchar2(20));

表已创建。

SQL> insert into rman values('before raman backup');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system archive log current;

系统已更改。

SQL>

3.用rman备份整个数据库包括控制文件spfile归档日志

RMAN> backup database plus archivelog;

启动 backup 02-7 -12

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动归档日志备份集

通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程=1 序列=44 RECID=1 STAMP=787522131

输入归档日志线程=1 序列=45 RECID=2 STAMP=787522334

输入归档日志线程=1 序列=46 RECID=3 STAMP=787607657

输入归档日志线程=1 序列=47 RECID=4 STAMP=787611335

输入归档日志线程=1 序列=48 RECID=5 STAMP=787611478

输入归档日志线程=1 序列=49 RECID=6 STAMP=787611636

输入归档日志线程=1 序列=50 RECID=7 STAMP=787611800

通道 ORA_DISK_1: 正在启动段 1 02-7 -12

通道 ORA_DISK_1: 已完成段 1 02-7 -12

段句柄=D:\TESTRMAN\MDSP_0DNF404P_20120702 标记=TAG20120702T210321 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07

完成 backup 02-7 -12

启动 backup 02-7 -12

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件: 文件号=00001 名称=D:\APP\WWANG\ORADATA\MDSP\SYSTEM01.DBF

输入数据文件: 文件号=00002 名称=D:\APP\WWANG\ORADATA\MDSP\SYSAUX01.DBF

输入数据文件: 文件号=00003 名称=D:\APP\WWANG\ORADATA\MDSP\UNDOTBS01.DBF

输入数据文件: 文件号=00005 名称=D:\APP\WWANG\ORADATA\MDSP\IMUSE01.DBF

输入数据文件: 文件号=00006 名称=D:\APP\WWANG\ORADATA\MDSP\JACK.DBF

输入数据文件: 文件号=00004 名称=D:\APP\WWANG\ORADATA\MDSP\USERS01.DBF

输入数据文件: 文件号=00007 名称=D:\APP\WWANG\ORADATA\MDSP\TEST.DBF

通道 ORA_DISK_1: 正在启动段 1 02-7 -12

通道 ORA_DISK_1: 已完成段 1 02-7 -12

段句柄=D:\TESTRMAN\MDSP_0ENF4051_20120702 标记=TAG20120702T210329 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:03:08

完成 backup 02-7 -12

启动 backup 02-7 -12

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动归档日志备份集

通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程=1 序列=51 RECID=8 STAMP=787611999

通道 ORA_DISK_1: 正在启动段 1 02-7 -12

通道 ORA_DISK_1: 已完成段 1 02-7 -12

段句柄=D:\TESTRMAN\MDSP_0FNF40AV_20120702 标记=TAG20120702T210639 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01

完成 backup 02-7 -12

启动 Control File and SPFILE Autobackup 02-7 -12

handle=D:\TESTRMAN\CONTROL\C-663168021-20120702-01 comment=NONE

完成 Control File and SPFILE Autobackup 02-7 -12

RMAN>

4.备份完成以后再次向表空插入一条记录(注意这条记录没有在备份文件中)

SQL> insert into rman values('after raman backup');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from rman;

A

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

before raman backup

after raman backup

SQL>

5.构造破坏,用dbca把整个库删掉(在删掉之前把日志文件拷贝出来,最后我们插入的一条数据在日志文件中),实例删除完毕

恢复数据库

1.先建一个实例和原来实例名称相同,并建立相应的目录结构mdsp adump dpdump pfile

C:\Documents and Settings\wwang>oradim -NEW -SID mdsp

实例已创建。

C:\Documents and Settings\wwang>

2.登录到实例并启动实例到nomount

C:\Documents and Settings\wwang>set oracle_sid=mdsp

C:\Documents and Settings\wwang>sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 7 2 21:24:08 2012

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

已连接到空闲例程。

SQL> startup nomount;

ORA-01078: failure in processing system parameters

LRM-00109:???????????????? 'D:\APP\WWANG\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITMDSP.ORA'

报错构成一个简单pfile文件只包含dbname=mdsp

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  150667264 bytes

Fixed Size                  1373152 bytes

Variable Size              92277792 bytes

Database Buffers           50331648 bytes

Redo Buffers                6684672 bytes

ORA-00205: ?????????, ??????, ???????

3.Rman恢复spfile

C:\Documents and Settings\wwang>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 7 2 21:52:31 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: MDSP (未装载)

RMAN> restore spfile from 'D:\testrman\control\C-663168021-20120702-01';

启动 restore 02-7 -12

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=97 设备类型=DISK

通道 ORA_DISK_1: 正在从 AUTOBACKUP D:\testrman\control\C-663168021-20120702-01 还原 spfile

通道 ORA_DISK_1: AUTOBACKUP 还原 SPFILE 已完成

完成 restore 02-7 -12

RMAN>

4. 关闭数据库启动到nomount状态恢复控制文件:

RMAN> restore controlfile from 'D:\testrman\control\C-663168021-20120702-01';

启动 restore 02-7 -12

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在还原控制文件

通道 ORA_DISK_1: 还原完成, 用时: 00:00:01

输出文件名=D:\APP\WWANG\PRODUCT\11.2.0\DBHOME_1\DATABASE\CTL1MDSP.ORA

完成 restore 02-7 -12

RMAN>

5. 恢复整个数据库

RMAN> alter database mount;

使用目标数据库控制文件替代恢复目录

数据库已装载

RMAN> restore database;

启动 restore 02-7 -12

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=87 设备类型=DISK

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00001 还原到 D:\APP\WWANG\ORADATA\MDSP\SYSTEM01.DBF

通道 ORA_DISK_1: 将数据文件 00002 还原到 D:\APP\WWANG\ORADATA\MDSP\SYSAUX01.DBF

通道 ORA_DISK_1: 将数据文件 00003 还原到 D:\APP\WWANG\ORADATA\MDSP\UNDOTBS01.DBF

通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\WWANG\ORADATA\MDSP\USERS01.DBF

通道 ORA_DISK_1: 将数据文件 00005 还原到 D:\APP\WWANG\ORADATA\MDSP\IMUSE01.DBF

通道 ORA_DISK_1: 将数据文件 00006 还原到 D:\APP\WWANG\ORADATA\MDSP\JACK.DBF

通道 ORA_DISK_1: 将数据文件 00007 还原到 D:\APP\WWANG\ORADATA\MDSP\TEST.DBF

通道 ORA_DISK_1: 正在读取备份片段 D:\TESTRMAN\MDSP_0ENF4051_20120702

通道 ORA_DISK_1: 段句柄 = D:\TESTRMAN\MDSP_0ENF4051_20120702 标记 = TAG20120702T210329

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:01:36

完成 restore 02-7 -12

RMAN>

6. 把日志文件拷贝到原来的位置recover介质恢复:

RMAN> recover database;

启动 recover 02-7 -12

使用通道 ORA_DISK_1

正在开始介质的恢复

线程 1 序列 51 的归档日志已作为文件 D:\APP\WWANG\FLASH_RECOVERY_AREA\MDSP\ARCHIVELOG\2012_07_02\O1_MF_1_51_7Z376

YVT_.ARC 存在于磁盘上

线程 1 序列 52 的归档日志已作为文件 D:\APP\WWANG\ORADATA\MDSP\REDO01.LOG 存在于磁盘上

归档日志文件名=D:\APP\WWANG\FLASH_RECOVERY_AREA\MDSP\ARCHIVELOG\2012_07_02\O1_MF_1_51_7Z376YVT_.ARC 线程=1 序列=

51

归档日志文件名=D:\APP\WWANG\ORADATA\MDSP\REDO01.LOG 线程=1 序列=52

介质恢复完成, 用时: 00:00:03

完成 recover 02-7 -12

RMAN>

7. 打开数据库并查看记录;

SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from rman;

A

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

before raman backup

after raman backup

SQL>

两个记录都在,最后一条记录是利用日志文件进行恢复的

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值