ITPub博客

首页 > 数据库 > Oracle > Backup And Recovery User's Guide-从RMAN开始-使用闪回数据库来回退数据库

Backup And Recovery User's Guide-从RMAN开始-使用闪回数据库来回退数据库

原创 Oracle 作者:luisedalian 时间:2014-02-13 22:24:47 0 删除 编辑

可以使用闪回数据库使整个数据库回退到过去的时间。与介质恢复不同,不需要还原数据文件,来使整个数据库回到过去的状态。

使用RMANFLASHBACK DATABASE命令,需要数据库必须已经配置了产生闪回日志

 

闪回数据库是通过回退你执行命令时的数据文件的改变来起作用的。不能使用闪回数据库来修复介质失败数据文件的丢失

当执行FLASHBACK DATABASE时,数据库必须被MOUNT

如果之前创建过还原点,则可以闪回到这个还原点,如果这个还原点落在闪回数据库窗口中。

练习:使用闪回数据库来回退一个数据库

--闪回数据库

# 1.开启数据库闪回日志

sys@TESTDB12>alter database flashback on;

 

Database altered.

 

# 2. 创建还原点

sys@TESTDB12>create restore point rp_before_delete;

 

Restore point created.

 

# 3. 删除scott.emp表中的所有数据

sys@TESTDB12>delete from scott.emp;

 

14 rows deleted.

 

sys@TESTDB12>select * from scott.emp;

 

no rows selected

 

sys@TESTDB12>commit;

 

Commit complete.

 

# 4. 使数据库处于MOUNT状态

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

# 4. 开启RMAN连接到目标数据库

# 5. 执行闪回

# 5.1 闪回到指定的SCNFLASHBACK DATABASE TO SCN 861150;

# 5.2 闪回到某个时间点, FLASHBACK DATABASE TO TIMESTAMP TO_DATE(04-DEC-2009  03:30:00','DD-MON-YYYY HH24:MI:SS');

# 5.3 闪回到指定的还原点rp_before_delete

RMAN> flashback database to restore point rp_before_delete;

 

Starting flashback at 12-JUL-13

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=21 device type=DISK

 

 

starting media recovery

media recovery complete, elapsed time: 00:00:03

 

Finished flashback at 12-JUL-13

# 6. 以只读方式打开数据库,再执行一个查询语句,验证数据库的内容

sys@TESTDB12>alter database open read only;

 

Database altered.

 

sys@TESTDB12>select * from scott.emp;

 

     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

 

14 rows selected.

 

# 7. 如果达到了要求,则执行下面的语句来启动数据库

sys@TESTDB12>shutdown immeidate;

SP2-0717: illegal SHUTDOWN option

sys@TESTDB12>shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

sys@TESTDB12>startup mount;

ORACLE instance started.

 

Total System Global Area  839282688 bytes

Fixed Size                  2233000 bytes

Variable Size             532680024 bytes

Database Buffers          301989888 bytes

Redo Buffers                2379776 bytes

Database mounted.

sys@TESTDB12>alter database open resetlogs;

 

Database altered.

# 8. 最后验证数据的正确性

sys@TESTDB12>select * from scott.emp;

 

     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

# 9. 最后将闪回日志关闭,避免产生过多的日志

sys@TESTDB12>alter database flashback off;

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

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5643020