使用日志传输的方法在两个数据库之间同步数据

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 源 oracle18:oracle18c-standby 192.168.17.26目标 oracle18-2:oracle18c-primary 192.168.17.109

环境准备

源 oracle18:oracle18c-standby 192.168.17.26

目标 oracle18-2:oracle18c-primary 192.168.17.109

实例名:orcl

Oracle版本:18.03


提前准备

SELECT CURRENT_SCN FROM V$DATABASE;
alter session set NLS_date_FORMAT=‘yyyy-mm-dd amhh12:mi:ss’;
select checkpoint_time from v$datafile_header;


SQL>  SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
-----------
    2497376
SQL>  select dbid,checkpoint_change# from v$database; 
      DBID CHECKPOINT_CHANGE#
---------- ------------------
1517707395       2485187

目标:


SQL>  select dbid,checkpoint_change# from v$database; 
      DBID CHECKPOINT_CHANGE#
---------- ------------------
1517707395       2407208
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
-----------
   0
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
     FILE# ONLINE  ONLINE_ ERROR        CHANGE# TIME       CON_ID
---------- ------- ------- ----------------------------------------------------------------- ---------- --------- ----------
  1 ONLINE  ONLINE          2407208 13-APR-21    1
  3 ONLINE  ONLINE          2407208 13-APR-21    1
  4 ONLINE  ONLINE          2407208 13-APR-21    1
  7 ONLINE  ONLINE          2407208 13-APR-21    1
SQL> select file#,recover,fuzzy,CHECKPOINT_CHANGE# from v$datafile_header;
     FILE# REC FUZ CHECKPOINT_CHANGE#
---------- --- --- ------------------
  1 NO  YES       2498751
  3 NO  YES       2498751
  4 NO  YES       2498751
  5     NO       1559612
  6     NO       1559612
  7 NO  YES       2498751
  8     NO       1559612
  9     NO       1569930
  10     NO       1569930
  11     NO       1569930
  12     NO       1569930
11 rows selected.
alter session set NLS_date_FORMAT='yyyy-mm-dd amhh12:mi:ss';
set linesize 200
col name form a30
select name,SEQUENCE#,FIRST_CHANGE#,FIRST_TIME,NEXT_CHANGE#,NEXT_TIME from V$ARCHIVED_LOG;
NAME    SEQUENCE# FIRST_CHANGE# FIRST_TIME       NEXT_CHANGE# NEXT_TIME
------------------------------ ---------- ------------- --------------------- ------------ ---------------------
/u01/app/oracle/product/18.0.0        34  2407208 2021-04-13 pm02:49:29    2447653 2021-04-14 am12:02:04
/db_1/dbs/arch1_34_989926663.d
bf
/u01/app/oracle/product/18.0.0        35  2447653 2021-04-14 am12:02:04    2485187 2021-04-14 am09:00:35
/db_1/dbs/arch1_35_989926663.d
bf
/u01/app/oracle/product/18.0.0        36  2485187 2021-04-14 am09:00:35    2498751 2021-04-14 pm02:08:03
/db_1/dbs/arch1_36_989926663.d
bf

开始恢复

使用下面的命令把日志传输到目标端:


scp oracle@192.168.17.26:/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_36_989926663.dbf .
scp oracle@192.168.17.26:/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_35_989926663.dbf .
scp oracle@192.168.17.26:/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_34_989926663.dbf .
RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE


SQL> RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;
ORA-00279: change 2447653 generated at 04/14/2021 00:02:04 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_35_989926663.dbf
ORA-00280: change 2447653 for thread 1 is in sequence #35
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/home/oracle/arch1_35_989926663.dbf
ORA-00279: change 2485187 generated at 04/14/2021 09:00:35 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_36_989926663.dbf
ORA-00280: change 2485187 for thread 1 is in sequence #36
ORA-00278: log file '/home/oracle/arch1_35_989926663.dbf' no longer needed for
this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/home/oracle/arch1_36_989926663.dbf
ORA-00279: change 2498751 generated at 04/14/2021 14:08:03 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/product/18.0.0/db_1/dbs/arch1_37_989926663.dbf
ORA-00280: change 2498751 for thread 1 is in sequence #37
ORA-00278: log file '/home/oracle/arch1_36_989926663.dbf' no longer needed for
this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL> 
SQL> alter database open resetlogs;
Database altered.



输入下面的文件进行恢复:

/home/oracle/arch1_34_989926663.dbf
/home/oracle/arch1_35_989926663.dbf
/home/oracle/arch1_36_989926663.dbf

查询是否有datafile需要恢复:


SQL> select * from V$RECOVER_FILE ;


如果使用RECOVER DATABASE USING BACKUP CONTROLFILE,也就是没有UNTIL CANCEL,会出现下面的错误:

SQL> alter database open RESETLOGS;
alter database open RESETLOGS
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/ORCL/system01.dbf'


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
28天前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
159 61
|
17天前
|
存储 数据采集 监控
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
113 9
|
22天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
30 5
|
1月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
26天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
85 9
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
13天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
89 15
|
7天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。