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

本文涉及的产品
日志服务 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日志并进行多维度分析。
相关文章
|
15天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
113 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
14天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
58 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
11天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
33 9
|
15天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
22天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
23天前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
33 3
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
85 3
|
7天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。