RMAN异地恢复-适用于数据库量比较大的场景

news2024/11/17 21:28:06

之前验证异地备份,只对数据库做个全备就备份恢复了,这种适用于数据库比较小的场景,因为如果数据库量大的话,备份,拷贝备份,恢复数据库的时间就比较长,停业务的时间就会比较长。

如果数据库比较大,可以提前几天将全备文件拷贝过来,在目标端restore database,然后每天增量拷贝归档日志的备份,直到真正迁移的时候,只拷贝最近的归档日志的备份,最后在目标端recover database,可大大缩短业务停止时间。

一 对源端数据库做备份

1.1 对数据库做个全备

RMAN> backup database format '/home/oracle/backup/full.bak_01081541' tag='full.bak_01081541';

Starting backup at 08-JAN-23

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/baidd.dbf

input datafile file number=00006 name=/u01/app/oracle/oradata/orcl/baidd2.dbf

input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf

input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf

input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf

input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf

channel ORA_DISK_1: starting piece 1 at 08-JAN-23

channel ORA_DISK_1: finished piece 1 at 08-JAN-23

piece handle=/home/oracle/backup/full.bak_01081541 tag=FULL.BAK_01081541 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15

Finished backup at 08-JAN-23



Starting Control File and SPFILE Autobackup at 08-JAN-23

piece handle=/data/backup/controlfile_bak/control.bak_20230108_c-1572833030-20230108-05 comment=NONE

Finished Control File and SPFILE Autobackup at 08-JAN-23

二 拷贝备份到目标端

2.1 拷贝控制文件备份

scp /data/backup/controlfile_bak/control.bak_20230108_c-1572833030-20230108-05 192.168.1.252:/home/oracle/bak/ctl_bak/

2.2 拷贝全库备份

scp /home/oracle/backup/full.bak_01081541 192.168.1.252:/home/oracle/bak/db_bak/

三 在目标端恢复数据

3.1 恢复控制文件

startup nomount;

restore controlfile from '/home/oracle/bak/ctl_bak/control.bak_20230108_c-1572833030-20230108-05';

3.2 将数据库启动到mount状态

alter database mount;

#指定备份文件所在位置,这样数据库会自动在该路径下找备份文件进行恢复。

catalog start with '/home/oracle/bak/';

 3.3 restore database

restore database;

 3.4 对源端归档日志做备份,并拷贝到目标端

#在源端造测试数据

SQL> insert into scott.t1(id,name) values(5,'arch1');

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

RMAN> backup archivelog all  delete all input format='/home/oracle/backup/%d_%t_%s' tag='arch_first.bak';

Starting backup at 08-JAN-23

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=18 RECID=63 STAMP=1125589661

input archived log thread=1 sequence=19 RECID=64 STAMP=1125589694

channel ORA_DISK_1: starting piece 1 at 08-JAN-23

channel ORA_DISK_1: finished piece 1 at 08-JAN-23

piece handle=/home/oracle/backup/ORCL_1125589694_48 tag=ARCH_FIRST.BAK comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2023_01_08/o1_mf_1_18_kvnx8x1z_.arc RECID=63 STAMP=1125589661

archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2023_01_08/o1_mf_1_19_kvnx9yo7_.arc RECID=64 STAMP=1125589694

Finished backup at 08-JAN-23



Starting Control File and SPFILE Autobackup at 08-JAN-23

piece handle=/data/backup/controlfile_bak/control.bak_20230108_c-1572833030-20230108-06 comment=NONE

Finished Control File and SPFILE Autobackup at 08-JAN-23

RMAN> list backup of archivelog all;

List of Backup Sets

===================

BS Key  Size       Device Type Elapsed Time Completion Time

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

38      29.00K     DISK        00:00:00     08-JAN-23     

        BP Key: 38   Status: AVAILABLE  Compressed: NO  Tag: ARCH_FIRST.BAK

        Piece Name: /home/oracle/backup/ORCL_1125589694_48



  List of Archived Logs in backup set 38

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

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

  1    18      1745322    08-JAN-23 1745523    08-JAN-23

  1    19      1745523    08-JAN-23 1745540    08-JAN-23

#拷贝全备之后的归档日志备份

scp /home/oracle/backup/ORCL_1125589694_48 192.168.1.252:/home/oracle/bak/arch_bak/

3.5 停止源端应用业务,备份归档日志

3.5.1 停应用

3.5.2 备份归档日志

#造条测试数据

SQL> insert into scott.t1(id,name) values(6,'arch2');

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

RMAN> backup archivelog all delete all input  format='/home/oracle/backup/%d_%t_%s' tag='arch_second.bak';

Starting backup at 08-JAN-23

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=20 RECID=65 STAMP=1125589873

input archived log thread=1 sequence=21 RECID=66 STAMP=1125589909

channel ORA_DISK_1: starting piece 1 at 08-JAN-23

channel ORA_DISK_1: finished piece 1 at 08-JAN-23

piece handle=/home/oracle/backup/ORCL_1125589910_50 tag=ARCH_SECOND.BAK comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2023_01_08/o1_mf_1_20_kvnxhkwg_.arc RECID=65 STAMP=1125589873

archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2023_01_08/o1_mf_1_21_kvnxjow9_.arc RECID=66 STAMP=1125589909

Finished backup at 08-JAN-23



Starting Control File and SPFILE Autobackup at 08-JAN-23

piece handle=/data/backup/controlfile_bak/control.bak_20230108_c-1572833030-20230108-07 comment=NONE

Finished Control File and SPFILE Autobackup at 08-JAN-23

RMAN> list backup of archivelog all;

List of Backup Sets

===================

BS Key  Size       Device Type Elapsed Time Completion Time

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

38      29.00K     DISK        00:00:00     08-JAN-23     

        BP Key: 38   Status: AVAILABLE  Compressed: NO  Tag: ARCH_FIRST.BAK

        Piece Name: /home/oracle/backup/ORCL_1125589694_48

  List of Archived Logs in backup set 38

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

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

  1    18      1745322    08-JAN-23 1745523    08-JAN-23

  1    19      1745523    08-JAN-23 1745540    08-JAN-23



BS Key  Size       Device Type Elapsed Time Completion Time

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

40      40.00K     DISK        00:00:00     08-JAN-23     

        BP Key: 40   Status: AVAILABLE  Compressed: NO  Tag: ARCH_SECOND.BAK

        Piece Name: /home/oracle/backup/ORCL_1125589910_50



  List of Archived Logs in backup set 40

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

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

  1    20      1745540    08-JAN-23 1745661    08-JAN-23

  1    21      1745661    08-JAN-23 1745684    08-JAN-23

3.5.3 拷贝最新归档日志备份

scp /home/oracle/backup/ORCL_1125589910_50 192.168.1.252:/home/oracle/bak/arch_bak/

3.6 recover database

#查看源端最近的归档日志备份里最后一个归档日志的NEXT SCN

 #在目标端恢复数据库到这个位置

recover database until scn=1745684;

 /*

如果不这样指定,直接recover database的话,会报错RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 22 and starting SCN of 1745684。因为数据库会自动去找后面的归档日志,但是我们没新的归档日志。

*/

3.6 启动数据库

alter database open resetlogs;

四 验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb知识汇总

文章目录前导一、数据库1.相关概念2.数据模型3.SQL4.约束5.数据库设计6.多表查询7.事务二、JDBC1.步骤2.JDBC事务管理3.数据库连接池三、Maven1.maven生命周期2.maven坐标详解3.依赖管理四、Mybatis1.快速入门2.Mapper代理开发3.核心配置文件4.参数传递5.注解开发五、HTML1.快速…

【进阶C语言】字符串函数+内存函数

文章目录一.字符串函数1.strlen功能:求字符串长度(不包括\0)函数模拟实现:2.1 strcmp功能函数模拟实现2.2 strncmp3.1 strcat功能函数模拟实现3.2strncat4.1 strcpy功能函数模拟实现4.2 strncpy5.strstr功能函数模拟实现6.strtok功…

论文《An Effective Consistency Constraint for Sequential Recommendation》

C2Rec: An Effective Consistency Constraint for SequentialRecommendation 这篇文章提出了序列推荐建模中一种有效的一致性约束防范,不用修改模型结构,仅仅添加2个额外的损失函数,就能达到非常好的效果。不像基于对比学习的方法&#xff0…

C++初阶--string

目录 string对象的创建: 遍历修改 const修饰的迭代器(只读): 反向迭代器: reserve与resize: find,rfind,substr: insert: erase: getchar、getline: string对…

Java基础学习笔记(十一)—— 包装类与泛型

包装类与泛型1 包装类1.1 基本类型包装类1.2 Integer类1.3 自动装箱 / 拆箱2 泛型2.1 泛型概述2.2 泛型的用法2.3 类型通配符1 包装类 1.1 基本类型包装类 基本类型包装类的作用 将基本数据类型封装成对象 的好处在于可以在对象中定义更多的功能方法操作该数据 public stat…

✿✿✿JavaScript --- Ajax异步请求与JSONP 跨域请求

目 录 一、原生的Ajax请求 1.异步和同步 2.Ajax介绍 3.实现方式 (1)原生的JS实现方式(了解) (2)原生AJax发送Post请求,并携带请求参数 二、JQuery封装后的Ajax 1.JQeury实现方式 2. $.get():发送get请求 3.$.post()&…

存储随笔2022年度最受欢迎文章榜单TOP15

回首2022感谢各位粉丝朋友的一路支持与陪伴存储随笔为您献上2022年度最受欢迎文章榜单TOP152023,一起向未来!TOP1:固态硬盘SSD入门级白皮书主要从固态硬盘的原理/接口形态/寿命/使用场景/等不同角度,来对比不同的人群需要什么样的…

[linux]vim编辑器

📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要讲解vim的使用和一些vim的常用操作,以及如何解决…

Flow 转 LiveData 后数据丢了,肿么回事?

翻译自: https://arkadiuszchmura.com/posts/be-careful-when-converting-flow-to-livedata/ 前言 最近我在负责一段代码库,需要在使用 Flow 的 Data 层和仍然依赖 LiveData 暴露 State 数据的 UI 层之间实现桥接。好在 androidx.lifecycle 框架已经提供…

C语言-指针进阶-函数指针数组应用-计算器(9.2)

目录 1. 函数指针 2. 函数指针数组 2.1函数指针数组的定义 2.2函数指针数组应用 3. 指向函数指针数组的指针 思维导图&#xff1a; 1. 函数指针 直接上代码&#xff1a; #include <stdio.h>void test() {printf("hehe\n"); }int main() {printf("%…

【Java】数组的复制、反转、查找、排序

数组的复制、反转、查找、排序 复制 其中最关键的一点是搞清楚为什么数组复制和基本数据类型复制不同&#xff0c;是什么导致了这样的不同&#xff1f; 先来看例子 package com.atguigu.java;public class ArrayTest3 {public static void main(String[] args) {//新建arr数…

【Java数据结构与算法】Day2-高级排序(希尔、归并、快速、计数)

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;【Java数据结构与算法】 &#…

实验七:555定时器及其应用

答疑解惑用555定时器组成的单稳态电路中&#xff0c;若触发脉冲宽度大于单稳态持续时间&#xff0c;电路能否正常工作&#xff1f;如果不能&#xff0c;则电路应做如何修改&#xff1f;答:若触发脉冲宽度大于单稳态持续时间后&#xff0c;输出脉冲宽度将等于触发脉冲的低电平持…

【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格

【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格 &#x1f345;因发布平台差异导致阅读体验不同&#xff0c;将本文原编写地址贴出&#x1f339;&#xff1a;《【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格》 文章目录【精】EditorConfig 小老鼠…

实时数仓方案

2、实时数仓方案 2.1、为何需要实时数仓架构 随着数据量的增大&#xff0c;传统数据的方案在时效性上和数据维护上变得越来越困难。实时数仓架构应运而生。 具体方案落地上实时数仓有很多方案可以选择&#xff0c;不同的业务和应用场景到底应该选择哪种技术方案&#xff1f;…

React18新特性

React 团队在 2022 年 3 月 29 日正式发布了 React 的第 18 个版本。 在这篇文章里简单介绍 React 18 的新特性&#xff0c;React Concurrent Mode&#xff08;并发模式&#xff09;的实现&#xff0c;以及简要的升级指南。 New Features Automatic Batching 早在 React 18 之…

011-Ensp-实验-配置ACL

实验要求 1.通过ACL 使PC1无法访问PC3 实验结构 实验步骤 基础环境配置: PC间互通 1. PC1 2 3 配置IP网关 2. LSW2 创建三个vlan &#xff0c;g0/0/2 g0/0/3 g/0/04 类型配置为Access 分别加入三个vlan g0/0/1 配置为trunk 并允许所有vlan通过 3. LSW1 g0/0/1 配置trunk …

vector底层实现及深层次拷贝问题

目录 大框架 接口实现 深层次拷贝问题&#xff08;两次深拷贝&#xff09; 大框架 为了与库里实现的更接近一些&#xff0c;先来看一下STL中是如何实现vector的&#xff08;这里不是PJ版&#xff0c;PJ版稍微晦涩一点不容易理解&#xff0c;这里采用Linux下g的版本&#xf…

VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation

Paper name VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation Paper Reading Note URL: https://arxiv.org/pdf/2005.04259.pdf TL;DR waymo 出品的 CVPR2020 论文 &#xff0c;关注在自动驾驶场景&#xff08;复杂多智能体系统&#xff0…

【算法自由之路】快慢指针在链表中的妙用(下篇)

【算法自由之路】快慢指针在链表中的妙用&#xff08;下篇&#xff09; 继上篇之后&#xff0c;链表这块还有两个相对较难的问题我们继续举例。 问题 1 给定具有 random 指针的 next 方向无环单链表&#xff0c;复制该链表 单听这个问题可能有点懵&#xff0c;这个链表结构我…