ORACLE之RMAN不完全恢复-基于备份控制文件恢复到全新的主机(test)

ORACLE之RMAN不完全恢复-基于备份控制文件恢复到全新的主机(test)

前提条件准备

  • 恢复到5提交之后的时间点(2021-02-16 02:41:10)

SQL> select * from hr.t1;

        ID
----------
         4
         1
         2
         3

SQL>
SQL>
SQL>
SQL> select sysdate from dual;

SYSDATE
-------------------
2021-02-16 02:37:27

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive/
Oldest online log sequence     7
Next log sequence to archive   9
Current log sequence           9
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive/
Oldest online log sequence     7
Next log sequence to archive   9
Current log sequence           9
SQL> insert into hr.t1 values(5);

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive/
Oldest online log sequence     8
Next log sequence to archive   10
Current log sequence           10
SQL> insert into hr.t1 values(6);

1 row created.

SQL> select sysdate from dual;

SYSDATE
-------------------
2021-02-16 02:41:10

SQL> commit;

Commit complete.

SQL> select sysdate from dual;

SYSDATE
-------------------
2021-02-16 02:41:18

SQL> alter system switch logfile;

System altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive/
Oldest online log sequence     9
Next log sequence to archive   11
Current log sequence           11
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive/
Oldest online log sequence     10
Next log sequence to archive   12
Current log sequence           12
SQL>

执行恢复

在新主机test上创建1.ora,以启动到nomount状态。新主机上有和原主机一样的文件结构
在这里插入图片描述
从备份中恢复spfile文件

//指定spfile备份的路径
RMAN> run {
2> restore spfile from '/u01/app/oracle/product/12.2.0/db_1/dbs/c-1591640445-20210216-00';
3> }

Starting restore at 2021-02-16 03:10:12
using channel ORA_DISK_1

channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/app/oracle/product/12.2.0/db_1/dbs/c-1591640445-20210216-00
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 2021-02-16 03:10:13

RMAN>

在这里插入图片描述

在这里插入图片描述
重启数据库到nomount(使用的是恢复的spfile),然后从备份恢复控制文件:(默认恢复到spfile指定的路径下)

SQL> startup nomount force;
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  8626240 bytes
Variable Size             348131264 bytes
Database Buffers          473956352 bytes
Redo Buffers                8146944 bytes
SQL>

rman target / <<!
run{
startup force nomount;
restore controlfile from '/u01/app/oracle/product/12.2.0/db_1/dbs/c-1591640445-20210216-00';
alter database mount;
}
!

恢复成功:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
执行恢复:

RMAN> 
run{
startup force mount;
set until time "to_date('2021-02-16 02:06:50', 'yyyy-mm-dd hh24:mi:ss')";
restore database;
recover database;
sql 'alter database open resetlogs';
}

run{
allocate channel c1 type disk;
set until time "to_date('2021-02-16 02:41:10', 'yyyy-mm-dd hh24:mi:ss')";
restore database;
switch datafile all;
recover database;
alter database open resetlogs;
release channel c1;
}
!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值