Oracle RMAN不完全恢复database到指定时间点


Oracle RMAN不完全恢复database到指定时间点(简单模拟),测试database不完全恢复到2012-03-01

cmd>sqlplus / as sysdba;

SQL>shutdown immediate

SQL>alter database archivelog;

SQL>conn squirrel/squirrel;

SQL>CREATE TABLE a(id number(10) not null primary key, name varchar2(20));

SQL>INSERT INTO a(id,name) values(1,zhangsan);

SQL>conn / as sysdba;

SQL> select * from squirrel.a;

 

        ID NAME

---------- --------------------

         1 zhangsan

设置时间格式

SQL>alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

SQL>select sysdate from dual;

SYSDATE

-------------------

2012-03-01 16:00:42

SQL>shutdown immediate;

SQL>startup mount;

SQL>exit

cmd>rman target /

RMAN>backup database;

RMAN>exit;

这里模拟对T表的误删除(DDL类型的TRUNCATE方法)

SQL>truncate table squirrel.a;

接着我们不完全恢复到指定时间2012-03-01 16:00:42

【重要提醒】在使用RMAN完成基于时间点的不完全恢复之前,最好对现场做一个备份,我们这里只需要备份数据库的控制文件和日志文件即可。当恢复结束后不满足我们要求时,可以恢复控制文件和日志文件后重新进行恢复。

 

RMAN> run {

2> allocate channel c1 type disk;

3> allocate channel c2 type disk;

4> sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';

5> set until time='2012-03-01 16:00:42';

6> restore database;

7> recover database;

8> alter database open resetlogs;}

 

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

分配的通道: c1

通道 c1: sid=156 devtype=DISK

 

分配的通道: c2

通道 c2: sid=155 devtype=DISK

 

sql 语句: alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"

 

正在执行命令: SET until clause

  • 1
  • 2
  • 下一页

相关内容