日期:2014-05-16  浏览次数:20354 次

Oracle基于时间的不完全恢复
实验时间:2011年10月14日 环境:RED HAT4,Oracle 10.0.20

基于时间的不完全恢复,难点之一是找出恢复的时间点。如果用户记得当然很多,但很多时候,用户是不知道的,或者不能说知道。如果用户不知道,可以借助于LOG MINIER工具的确定。

一、假定场景
  用户误删一个重要的表(SCOTT用户的EMP表),并且清空了回收站。当然此种情况也可以使用闪回技术来恢复,这里使用不完全恢复方法进行恢复。

二、场景模拟
以SCOTT用户登录,删除表,新建一个表。
SQL> conn scott/oracle
Connected.
SQL> drop table emp purge;

Table dropped.

SQL> create table dept_new as select * from dept;

Table created.

不完全恢复后,EMP表应该存在,DEPT_NEW表应该不存在

为了更加接近实际情况,再手动切换几次日志。
SQL> conn / as sysdba
Connected.
SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

SQL> /

System altered.

三、恢复过程
1、设置LOG MINER用的参数
SQL> conn / as sysdba
Connected.
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /home/oracle/oracle/product/10
                                                 .2.0/db_1/dbs/spfileorcl.ora
SQL> alter system set utl_file_dir='/tmp/logmnr' scope=spfile;

System altered.

SQL> startup force
ORACLE instance started.

Total System Global Area  130023424 bytes
Fixed Size                  1218100 bytes
Variable Size              62917068 bytes
Database Buffers           62914560 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> show parameter utl_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir                         string      /tmp/logmnr
验证一下,设置成功,当然,对应的目录要存在。

2、创建数据字典
SQL> exec dbms_logmnr_d.build('dictora','/tmp/logmnr');

PL/SQL procedure successfully completed.

SQL> !ls -l /tmp/logmnr
total 22992
-rw-r--r--  1 oracle oinstall 23509170 Oct 14 22:20 dictora
创建成功后,可以看到对应的文件

3、添加要分析的日志(包括联机日志和归档日志)
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
 &n