Home  >  Article  >  Database  >  Oracle RMAN不完全恢复database到指定时间点

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

WBOY
WBOYOriginal
2016-06-07 17:12:18844browse

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

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

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn