oracle rman恢复表空间,rman备份恢复表空间

rman备份恢复表空间

1 创建数据表空间

SQL> create tablespace test_tablespace logging datafile '/u01/app/oracle/oradata/orcl/test_tablespace.dbf'

size 10M autoextend on next 10M maxsize 100M;

2 创建用户test_user,隶属于test_tablespace表空间,赋予用户DBA权限

SQL> create user test_user identified by 123456 default tablespace test_tablespace;

SQL> grant dba to test_user;

3 登录test_user用户并建立新表test_table

SQL> conn test_user/123456;

已连接。

SQL> create table test_table(id number);

SQL> insert into test_table values(1001);

SQL> insert into test_table values(1002);

4 进RMAN环境并备份表空间

SQL> host

$ rman

RMAN> connect target /

连接到目标数据库: ORCL (DBID=1402553115)

RMAN> backup tablespace test_tablespace tag='test001';

启动 backup 于 20-3月 -15

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

分配的通道: ORA_DISK_1

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

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

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

输入数据文件: 文件号=00005 名称=/u01/app/oracle/oradata/orcl/test_tablespace.dbf

通道 ORA_DISK_1: 正在启动段 1 于 20-3月 -15

通道 ORA_DISK_1: 已完成段 1 于 20-3月 -15

段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_20/o1_mf_nnndf_TEST001_bjqr25yy_.bkp 标记=TEST001 注释=NONE

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

完成 backup 于 20-3月 -15

5 用sys用户登录数据库,修改表空间test_tablespace状态为offline

RMAN> exit

$ exit

SQL> conn / as sysdba;

SQL> alter tablespace test_tablespace offline;

表空间已更改。

6 新开一个终端,破坏表空间test_tablespace(删除此文件或改名)

# cd /u01/app/oracle/oradata/orcl/

# mv test_tablespace.dbf test_tablespace_bak.dbf

7 试图恢复表空间test_tablespace的状态为online,报错

SQL> alter tablespace test_tablspace online;

alter tablespace test_tablspace online

*

第 1 行出现错误:

ORA-00959: 表空间 'TEST_TABLSPACE' 不存在

8 将备份文件恢复到原先位置

SQL> host

$ rman

RMAN> restore tablespace test_tablespace;

启动 restore 于 20-3月 -15

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

分配的通道: ORA_DISK_1

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

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

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

通道 ORA_DISK_1: 将数据文件 00005 还原到 /u01/app/oracle/oradata/orcl/test_tablespace.dbf

通道 ORA_DISK_1: 正在读取备份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_20/o1_mf_nnndf_TEST001_bjqr25yy_.bkp

通道 ORA_DISK_1: 段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_20/o1_mf_nnndf_TEST001_bjqr25yy_.bkp 标记 = TEST001

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

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

完成 restore 于 20-3月 -15

9 在另一个终端中查看表空间test_tablespace是否已经恢复到原先的位置

# ls

control01.ctl  redo03.log    temp01.dbf               test_temp.dbf

redo01.log     sysaux01.dbf  test_tablespace_bak.dbf  undotbs01.dbf

redo02.log     system01.dbf  test_tablespace.dbf      users01.dbf

10 执行恢复操作

RMAN> recover tablespace test_tablespace;

启动 recover 于 20-3月 -15

使用通道 ORA_DISK_1

正在开始介质的恢复

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

完成 recover 于 20-3月 -15

11 验证恢复结果

SQL> alter tablespace test_tablespace online;

表空间已更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值