ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rman之基于时间点的不完全恢复

rman之基于时间点的不完全恢复

原创 Linux操作系统 作者:wang_0720 时间:2013-11-06 14:49:20 0 删除 编辑
查看oracle是否归档
SYS>archive log list;
Database log mode 
          Archive Mode
Automatic archival           Enabled
Archive destination           USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     1
Next log sequence to archive   3
Current log sequence           3
如果oracle为非归档模式,将其改为归档模式关闭数据库
SQL> shutdown immediate
启动数据mount状态:
SQL> startup mount
修改数据库为归档模式:
SQL> alter database archivelog;
打开数据库,查询:
SQL> alter database open;
查看scott用户下的e表
SCOTT>set linesize 200;
SCOTT>set pagesize 20;
SCOTT>select * from e;
SCOTT>select * from e;

     EMPNO ENAME      JOB           MGR HIREDATE              SAL    COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH      CLERK          7902 1980-12-17 00:00:00          800             20
      7499 ALLEN      SALESMAN          7698 1981-02-20 00:00:00         1600     300         30
      7521 WARD       SALESMAN          7698 1981-02-22 00:00:00         1250     500         30
      7566 JONES      MANAGER          7839 1981-04-02 00:00:00         2975             20
      7654 MARTIN     SALESMAN          7698 1981-09-28 00:00:00         1250    1400         30
      7698 BLAKE      MANAGER          7839 1981-05-01 00:00:00         2850             30
      7782 CLARK      MANAGER          7839 1981-06-09 00:00:00         2450             10
      7788 SCOTT      ANALYST          7566 1987-04-19 00:00:00         3000             20
      7839 KING       PRESIDENT        1981-11-17 00:00:00         5000             10
      7844 TURNER     SALESMAN          7698 1981-09-08 00:00:00         1500       0         30
      7876 ADAMS      CLERK          7788 1987-05-23 00:00:00         1100             20
      7900 JAMES      CLERK          7698 1981-12-03 00:00:00          950             30
      7902 FORD       ANALYST          7566 1981-12-03 00:00:00         3000             20
      7934 MILLER     CLERK          7782 1982-01-23 00:00:00         1300             10
给数据库做0级备份,生成文件:rman_inc0_20130523816190700
备份脚本见oracle之rman
向表中写入数据
SCOTT>insert into e values(1000,'wang','aa',7566,'25-JAN-82',1000,1000,20);
SCOTT>insert into e values(1001,'andy','aa',7566,'25-JAN-82',1000,1000,20);
查看e表
SCOTT>select * from e;

     EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK          7902 17-DEC-80        800            20
      7499 ALLEN      SALESMAN          7698 20-FEB-81       1600        300       30
      7521 WARD       SALESMAN          7698 22-FEB-81       1250        500       30
      7566 JONES      MANAGER          7839 02-APR-81       2975            20
      7654 MARTIN     SALESMAN          7698 28-SEP-81       1250       1400       30
      7698 BLAKE      MANAGER          7839 01-MAY-81       2850            30
      7782 CLARK      MANAGER          7839 09-JUN-81       2450            10
      7788 SCOTT      ANALYST          7566 19-APR-87       3000            20
      7839 KING       PRESIDENT        17-NOV-81       5000            10
      7844 TURNER     SALESMAN          7698 08-SEP-81       1500      0       30
      7876 ADAMS      CLERK          7788 23-MAY-87       1100            20
      7900 JAMES      CLERK          7698 03-DEC-81        950            30
      7902 FORD       ANALYST          7566 03-DEC-81       3000            20
      7934 MILLER     CLERK          7782 23-JAN-82       1300            10
      1000 wang       aa          7566 25-JAN-82       1000       1000       20
      1001 andy       aa          7566 25-JAN-82       1000       1000       20

做2级备份,生成文件:rman_inc2_20130523816191062
备份脚本见oracle之rman
查看当前数据库时间
SCOTT>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SCOTT>select sysdate from dual;
SYSDATE
-------------------
2013-05-23 15:47:55
删除e表中插入的数据
SCOTT>delete from e where empno in (1000,1001);
再次查看e表中数据
SCOTT>select * from e;
     EMPNO ENAME      JOB           MGR HIREDATE              SAL    COMM     DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH      CLERK          7902 1980-12-17 00:00:00          800             20
      7499 ALLEN      SALESMAN          7698 1981-02-20 00:00:00         1600     300         30
      7521 WARD       SALESMAN          7698 1981-02-22 00:00:00         1250     500         30
      7566 JONES      MANAGER          7839 1981-04-02 00:00:00         2975             20
      7654 MARTIN     SALESMAN          7698 1981-09-28 00:00:00         1250    1400         30
      7698 BLAKE      MANAGER          7839 1981-05-01 00:00:00         2850             30
      7782 CLARK      MANAGER          7839 1981-06-09 00:00:00         2450             10
      7788 SCOTT      ANALYST          7566 1987-04-19 00:00:00         3000             20
      7839 KING       PRESIDENT        1981-11-17 00:00:00         5000             10
      7844 TURNER     SALESMAN          7698 1981-09-08 00:00:00         1500       0         30
      7876 ADAMS      CLERK          7788 1987-05-23 00:00:00         1100             20
      7900 JAMES      CLERK          7698 1981-12-03 00:00:00          950             30
      7902 FORD       ANALYST          7566 1981-12-03 00:00:00         3000             20
      7934 MILLER     CLERK          7782 1982-01-23 00:00:00         1300             10
现在e表中新插入的数据已经删除了
关闭目标数据库,并启动到mount状态
SYS>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS>startup mount;
ORACLE instance started.

Total System Global Area  608174080 bytes
Fixed Size            1220820 bytes
Variable Size          184553260 bytes
Database Buffers      415236096 bytes
Redo Buffers            7163904 bytes
Database mounted.
在目录数据库中进行基于时间点的不完全恢复,恢复到2013-05-23 15:47:55,以下是恢复过程
[oracle@localhost ~]$ rman target sys@orcl catalog rman/rman@orcl2

Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 23 15:50:29 2013

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

target database Password:
connected to target database: ORCL (DBID=1292656107, not open)
connected to recovery catalog database

RMAN> restore database until time "to_date('2013-05-23 15:47:55','yyyy-mm-dd hh24:mi:ss')";

Starting restore at 23-MAY-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
restoring datafile 00002 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
restoring datafile 00003 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
restoring datafile 00005 to /u01/app/oracle/oradata/orcl/example01.dbf
restoring datafile 00006 to /u01/app/oracle/oradata/orcl/scott_data.dbf
restoring datafile 00007 to /u01/app/oracle/oradata/orcl/epe_data01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc0_20130523816190700
channel ORA_DISK_1: restored backup piece 1
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc0_20130523816190700 tag=INC0
channel ORA_DISK_1: restore complete, elapsed time: 00:03:20
Finished restore at 23-MAY-13

RMAN> recover database until time "to_date('2013-05-23 15:47:55','yyyy-mm-dd hh24:mi:ss')";

Starting recover at 23-MAY-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: /u01/app/oracle/oradata/orcl/system01.dbf
destination for restore of datafile 00002: /u01/app/oracle/oradata/orcl/undotbs01.dbf
destination for restore of datafile 00003: /u01/app/oracle/oradata/orcl/sysaux01.dbf
destination for restore of datafile 00004: /u01/app/oracle/oradata/orcl/users01.dbf
destination for restore of datafile 00005: /u01/app/oracle/oradata/orcl/example01.dbf
destination for restore of datafile 00006: /u01/app/oracle/oradata/orcl/scott_data.dbf
destination for restore of datafile 00007: /u01/app/oracle/oradata/orcl/epe_data01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc2_20130523816191062
channel ORA_DISK_1: restored backup piece 1
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc2_20130523816191062 tag=INC2
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

starting media recovery
media recovery complete, elapsed time: 00:00:04

Finished recover at 23-MAY-13
将目标数据库开启
SYS>alter database open resetlogs;

Database altered.
查看e表中的数据,确认是否恢复
SYS>set linesize 200;
SYS>set pagesize 20;
SYS>select * from scott.e;

     EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK          7902 17-DEC-80        800            20
      7499 ALLEN      SALESMAN          7698 20-FEB-81       1600        300       30
      7521 WARD       SALESMAN          7698 22-FEB-81       1250        500       30
      7566 JONES      MANAGER          7839 02-APR-81       2975            20
      7654 MARTIN     SALESMAN          7698 28-SEP-81       1250       1400       30
      7698 BLAKE      MANAGER          7839 01-MAY-81       2850            30
      7782 CLARK      MANAGER          7839 09-JUN-81       2450            10
      7788 SCOTT      ANALYST          7566 19-APR-87       3000            20
      7839 KING       PRESIDENT        17-NOV-81       5000            10
      7844 TURNER     SALESMAN          7698 08-SEP-81       1500      0       30
      7876 ADAMS      CLERK          7788 23-MAY-87       1100            20
      7900 JAMES      CLERK          7698 03-DEC-81        950            30
      7902 FORD       ANALYST          7566 03-DEC-81       3000            20
      7934 MILLER     CLERK          7782 23-JAN-82       1300            10
      1000 wang       aa          7566 25-JAN-82       1000       1000       20
      1001 andy       aa          7566 25-JAN-82       1000       1000       20


16 rows selected.
查看结果显示数据恢复成功
注意!!!resetlogs后务必将数据库重新做一次完整的备份

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

上一篇: oracle之rman备份
请登录后发表评论 登录
全部评论

注册时间:2013-11-05

  • 博文量
    111
  • 访问量
    907636