rman备份,备份后破坏数据文件,再利用备份的库还原数据文件。

rman备份,备份后破坏数据文件,再利用备份的库还原数据文件。测试如下:

1.进入rman,关闭数据库,启动加载状态
C:Documents and Settingspengwzh>rman target /

2.    执行备份脚本

run {

configure channel device type disk FORMAT='c:\ora_bak\%U' maxpiecesize = 2G;

sql  'alter system archive log current';

allocate channel disk1 type disk;

backup full as compressed backupset format='c:\ora_bak\%d_t%t_s%s_%U.bak' tag 'fullbak' (database);

release channel disk1;

 

allocate channel disk2 type disk;

BACKUP as compressed backupset  FORMAT 'c:\ora_bak\al_%d_t%t_s%s_%U.arcbak'  ARCHIVELOG ALL delete input;

release channel disk2;

 

allocate channel disk3 type disk;

backup current controlfile format='c:\ora_bak\ctl_%d_t%t_s%s_%U.ctlbak';

release channel disk3;

 

sql  'alter system archive log current';

 

}

 

3. --test用户进入sqlplus
C:Documents and Settingspengwzh>sqlplus test/test

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 4 3 14:29:52 2009

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


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
--
创建表及插入数据
SQL> create table tmp(a varchar(2));

表已创建。

SQL> insert into tmp values('1');

已创建 1 行。

SQL> insert into tmp values('2');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from tmp;

A
--
1
2
--
连接sysdba用户,关闭数据库,删除数据文件5
SQL> conn / as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。
SQL> host del D:oracleproduct10.2.0oradataorcltest01.ora;
--
启动数据库,启动失败,退出sqlplus操作如下:
SQL> startup;
ORACLE
例程已经启动。

Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 125829824 bytes
Database Buffers 155189248 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01157:
无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110:
数据文件 5: 'D:ORACLEPRODUCT10.2.0ORADATAORCLTEST01.ORA'


SQL> exit;

--进入rman命令提示符,利用rman备份的数据库来恢复删除的数据文件5
C:Documents and Settingspengwzh>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期五 4 3 14:34:52 2009

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

已连接到目标数据库: ORCL (DBID=1210922825, 未打开)

RMAN> shutdown immediate;

使用目标数据库控制文件替代恢复目录
数据库已卸载
Oracle
实例已关闭

RMAN> startup mount;

已连接到目标数据库 (未启动)
Oracle
实例已启动
数据库已装载

系统全局区域总计 289406976 字节

Fixed Size 1248576 字节
Variable Size 125829824
字节
Database Buffers 155189248
字节
Redo Buffers 7139328
字节

RMAN> restore datafile 5;

启动 restore 03-4 -09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00005恢复到D:ORACLEPRODUCT10.2.0ORADATAORCLTEST01.ORA
通道 ORA_DISK_1: 正在读取备份段 D:BACKUP3KBI3RK_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:BACKUP3KBI3RK_1_1 标记 = TAG20090403T142556
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:08
完成 restore 03-4 -09

RMAN> recover datafile 5;

启动 recover 03-4 -09
使用通道 ORA_DISK_1

正在开始介质的恢复
介质恢复完成, 用时: 00:00:03

完成 recover 03-4 -09

RMAN>
--
恢复成功,打开数据库,退出rman
RMAN> alter database open;

数据库已打开

RMAN> exit;

恢复管理器完成。
--
test用户连接sqlplus,刚备份之后新建的表及数据是否存在
C:Documents and Settingspengwzh>sqlplus test/test

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 4 3 15:01:47 2009

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


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


SQL> select * from tmp;

A
--
1
2

SQL>
Tmp
表存在,数据也没丢失,虽然数据文件被删了,但还原后可以恢复到被删数据文件时的数据库状态。

 

 

 

附:测试环境如下
查看数据库归档模式
SQL> conn / as sysdba;
已连接。
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
当前日志序列 3
SQL>
查看数据库版本
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

 

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

转载于:http://blog.itpub.net/16226179/viewspace-701686/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值