菜鸟学习之今日实验:rman备份恢复

今日实验:模拟 rman备份数据库之后,example表空间存储坏掉,然后将example表空间做恢复,并修改恢复后的路径到另外一个磁盘上。以及恢复后路径不变的情况,实验的过程中要监视rman备份的过程和查看关于坏块的几个视图。

步骤:
1,检查数据库的物理结构,一共有几个表空间,对应那些数据文件。
2,用户ning的animal表是建立在example表空间上的,查询animal表空间的内容,只有一行dog,可以查看到,没有问题。
3,使用rman对数据库数据文件做full backup;对数据文件作level为0的增量备份。
4,登陆ning用户,增加一行数据到cat到animal表中
5,使用rman对数据库数据文件做level为1的增量备份,查询v$session_longops视图监视进度,查询v$session视图查看每个channel对应的sid和user,(client-infro from)。
6,对数据库shutdown immediate,干净的关闭,然后将example表空间的数据文件移动到另外一个目录d:\backup-lab\test下。
7,打开数据库到mount状态,在rman中运行更改数据文件路径的命令 renew观察到同时对控制文件做了备份。
8,更改数据库到open状态,查看数据库的物理结构的视图,已经修改成功。
9,增加一行数据pig到animal表中。
10, 使用rman再对数据库文件做level为1的增量备份。查询v$backup_corruption,v$database_block_corruption,查看坏块的情况。查询v$archived_log,v$backup_datafile,v$backup_redolog,v$backup_set,v$backup_piece查看备份情况。
11,删除example表空间的数据文件,再查询animal表没有办法查到。(这一步的小实验 由于我是在windows下装的oracle,介于windows程序对文件的保护,我没有办法在数据库打开的情况下删除example数据文件来完成这个实验,由于这个实验也比较简单,那就明天在linux系统下再做吧)
12,使用rman恢复数据库,将该数据文件恢复出来,再查询animal表和表的内容,可以正常查询。

实现:
1、
SQL> col tablespace_name format a15;
SQL> col file_name format a40;
SQL> select file_name,tablespace_name from dba_data_files;

FILE_NAME                                TABLESPACE_NAME
---------------------------------------- ---------------
E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF      USERS
E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF     SYSAUX
E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF       UNDO
E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF     SYSTEM
E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF  EXAMPLE

 

2、
SQL> conn ning/ning
已连接。
animal建立在example表空间上
SQL> select table_name,tablespace_name from user_tables;

TABLE_NAME              TABLESPACE_NAME
----------------------- ---------------
ANIMAL                  EXAMPLE

SQL> select * from animal;

NAME
-------------------------------------------------
dog

3、

RMAN> backup database plus archivelog delete all input format 'd:\backup-lab\ning_%U';


启动 backup 于 29-10月-10
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =32 记录 ID=5 时间戳=733696305
输入存档日志线程 =1 序列 =33 记录 ID=6 时间戳=733696385
输入存档日志线程 =1 序列 =34 记录 ID=7 时间戳=733701984
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=D:\BACKUP-LAB\NING_0CLRMPR1_1_1 标记=TAG20101029T220625 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_10_29\O1_MF_1_32_6DOHOJQX_.ARC
存档日志文件名 =E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_10_29\O1_MF_1_33_6DOHR0YR_.ARC
存档日志文件名 =E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_10_29\O1_MF_1_34_6DOO6ZQG_.ARC
完成 backup 于 29-10月-10

启动 backup 于 29-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
输入数据文件 fno=00001 name=E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
输入数据文件 fno=00002 name=E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
输入数据文件 fno=00004 name=E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
输入数据文件 fno=00005 name=E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\BACKUPSET\2010_10_29\O1_MF_NNNDF_TAG20101029T220630_6DO
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:05
完成 backup 于 29-10月-10

启动 backup 于 29-10月-10
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =35 记录 ID=8 时间戳=733702055
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=D:\BACKUP-LAB\NING_0ELRMPT8_1_1 标记=TAG20101029T220735 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_10_29\O1_MF_1_35_6DOO97LK_.ARC
完成 backup 于 29-10月-10

启动 Control File Autobackup 于 29-10月-10
段 handle=E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\2010_10_29\O1_MF_N_733702058_6DOO9C5V_.BK
完成 Control File Autobackup 于 29-10月-10

RMAN> list backup;


备份集列表
===================

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
10      16.92M     DISK        00:00:02     29-10月-10
        BP 关键字: 10   状态: AVAILABLE  已压缩: NO  标记: TAG20101029T220625
段名:D:\BACKUP-LAB\NING_0CLRMPR1_1_1

  备份集 10 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    32      916841     29-10月-10 924133     29-10月-10
  1    33      924133     29-10月-10 924166     29-10月-10
  1    34      924166     29-10月-10 928518     29-10月-10

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
11      Full    726.52M    DISK        00:01:02     29-10月-10
        BP 关键字: 11   状态: AVAILABLE  已压缩: NO  标记: TAG20101029T220630
段名:E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\BACKUPSET\2010_10_29\O1_MF_NNNDF_TAG20101029T220630_6DOO7
  备份集 11 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 928523     29-10月-10 E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
  2       Full 928523     29-10月-10 E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
  3       Full 928523     29-10月-10 E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
  4       Full 928523     29-10月-10 E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
  5       Full 928523     29-10月-10 E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
12      38.50K     DISK        00:00:01     29-10月-10
        BP 关键字: 12   状态: AVAILABLE  已压缩: NO  标记: TAG20101029T220735
段名:D:\BACKUP-LAB\NING_0ELRMPT8_1_1

  备份集 12 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    35      928518     29-10月-10 928551     29-10月-10

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
13      Full    6.77M      DISK        00:00:01     29-10月-10
        BP 关键字: 13   状态: AVAILABLE  已压缩: NO  标记: TAG20101029T220738
段名:E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\2010_10_29\O1_MF_N_733702058_6DOO9C5V_.BKP
  包括的控制文件: Ckp SCN: 928557       Ckp 时间: 29-10月-10

RMAN>

 

 

SQL> select sid,username,client_info from v$session order by 2;

       SID USERNAME        CLIENT_INFO
---------- --------------- ------------------------------
        23 SYS
        33 SYS             rman channel=ORA_DISK_1
        21 SYS
        20 SYS
        37
 

已选择20行。


SQL> select sid,sofar,totalwork from v$session_longops;

RMAN> backup  incremental level 0 database format 'd:\backup-lab\ning0_%U';

启动 backup 于 29-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
输入数据文件 fno=00001 name=E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
输入数据文件 fno=00002 name=E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
输入数据文件 fno=00004 name=E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
输入数据文件 fno=00005 name=E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=D:\BACKUP-LAB\NING0_0GLRMQFN_1_1 标记=TAG20101029T221727 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:05
完成 backup 于 29-10月-10

启动 Control File Autobackup 于 29-10月-10
段 handle=E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\2010_10_29\O1_MF_N_733702712_6DOOXSLK_.BKP comment=NONE
完成 Control File Autobackup 于 29-10月-10

 

4、

SQL> insert into animal values('cat');

已创建 1 行。

SQL> select * from animal;

NAME
--------------------------------------------------------------------------------
cat
dog

5、完成增量备份
RMAN> backup  incremental level 1 database format 'd:\backup-lab\ning1_%U';

启动 backup 于 29-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
输入数据文件 fno=00001 name=E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
输入数据文件 fno=00002 name=E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
输入数据文件 fno=00004 name=E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
输入数据文件 fno=00005 name=E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=D:\BACKUP-LAB\NING1_0ILRMQMF_1_1 标记=TAG20101029T222103 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 29-10月-10

启动 Control File Autobackup 于 29-10月-10
段 handle=E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\2010_10_29\O1_MF_N_733702888_6DOP39N0_.BKP comment=NONE
完成 Control File Autobackup 于 29-10月-10

RMAN>

6、
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

 

 

 


7、


C:\>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期五 10月 29 22:28:41 2010

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

已连接到目标数据库 (未启动)

RMAN> startup mount

Oracle 实例已启动
数据库已装载

系统全局区域总计     599785472 字节

Fixed Size                     1288820 字节
Variable Size                176162188 字节
Database Buffers             419430400 字节
Redo Buffers                   2904064 字节

SQL> select file#,name from v$datafile;

     FILE# NAME
---------- --------------------------------------------------
         1 E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
         2 E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
         3 E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
         4 E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
         5 E:\ORA-PRODUCT\ORADATA\XE\EXAMPLE01.DBF


RMAN> run {
2> set newname for datafile 5 to 'd:\backup-lab\test\example01.dbf';
3> restore database;
4> switch datafile all;
5> recover database;
6> alter database open;
7> }

正在执行命令: SET NEWNAME
使用目标数据库控制文件替代恢复目录

启动 restore 于 29-10月-10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=35 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
正将数据文件00002恢复到E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
正将数据文件00003恢复到E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
正将数据文件00004恢复到E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
正将数据文件00005恢复到D:\BACKUP-LAB\TEST\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP-LAB\NING0_0GLRMQFN_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\BACKUP-LAB\NING0_0GLRMQFN_1_1 标记 = TAG20101029T221727
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:56
完成 restore 于 29-10月-10

数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=733703857 文件名=D:\BACKUP-LAB\TEST\EXAMPLE01.DBF

启动 recover 于 29-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
数据文件 00002 的恢复目标: E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
数据文件 00003 的恢复目标: E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
数据文件 00004 的恢复目标: E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
数据文件 00005 的恢复目标: D:\BACKUP-LAB\TEST\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP-LAB\NING1_0ILRMQMF_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\BACKUP-LAB\NING1_0ILRMQMF_1_1 标记 = TAG20101029T222103
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01

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

完成 recover 于 29-10月-10

数据库已打开

RMAN>

 

8、

SQL> conn ning/ning
已连接。
SQL> select * from animal;

NAME
---------------------------------------
cat
dog

SQL> select name from v$datafile;

NAME
-----------------------------------------------
E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
D:\BACKUP-LAB\TEST\EXAMPLE01.DBF


9、

SQL> conn ning/ning
已连接。
SQL> insert into animal values('pig');

已创建 1 行。

SQL> select * from animal;

NAME
-------------------------------------------------------
cat
dog
pig


10、

RMAN> backup incremental level 1 database format 'd:\backup-lab\ning11_%U';

启动 backup 于 29-10月-10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=E:\ORA-PRODUCT\ORADATA\XE\SYSAUX.DBF
输入数据文件 fno=00001 name=E:\ORA-PRODUCT\ORADATA\XE\SYSTEM.DBF
输入数据文件 fno=00002 name=E:\ORA-PRODUCT\ORADATA\XE\UNDO.DBF
输入数据文件 fno=00004 name=E:\ORA-PRODUCT\ORADATA\XE\USERS.DBF
输入数据文件 fno=00005 name=D:\BACKUP-LAB\TEST\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 29-10月-10
通道 ORA_DISK_1: 已完成段 1 于 29-10月-10
段句柄=D:\BACKUP-LAB\NING11_0LLRMS58_1_1 标记=TAG20101029T224600 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 29-10月-10

启动 Control File Autobackup 于 29-10月-10
段 handle=E:\ORA-PRODUCT\APP\ORACLE\FLASH_RECOVERY_AREA\XE\AUTOBACKUP\2010_10_29\O1_MF_N_733704385_6DOQL2K2_.BKP comment=NONE
完成 Control File Autobackup 于 29-10月-10

RMAN>

备份完检查坏块的统计 为0
SQL> select count(*) from v$backup_corruption;

  COUNT(*)
----------
         0

SQL> select count(*) from v$database_block_corruption;

  COUNT(*)
----------
         0
SQL> select count(*) from v$backup_set;

  COUNT(*)
----------
        19

SQL> select count(*) from v$backup_piece;

  COUNT(*)
----------
        19

SQL> select count(*) from v$backup_redolog;

  COUNT(*)
----------
        10

SQL> select count(*) from v$backup_datafile;

  COUNT(*)
----------
        42


SQL> select count(*) from v$archived_log;

  COUNT(*)
----------
         8


11、


 

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

转载于:http://blog.itpub.net/24799772/viewspace-677091/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值