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

简介: 源 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日志并进行多维度分析。
相关文章
|
21天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
25天前
|
存储 Oracle 关系型数据库
Dataphin常见问题之想要周期执行任务如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
29天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 关系型数据库 MySQL
如何处理爬取到的数据,例如存储到数据库或文件中?
【2月更文挑战第23天】【2月更文挑战第73篇】如何处理爬取到的数据,例如存储到数据库或文件中?
|
1月前
|
SQL 开发框架 JavaScript
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
46 3
|
1月前
|
存储 数据管理 数据处理
数据之光:探索数据库技术的演进之路
数据之光:探索数据库技术的演进之路
60 1
|
1月前
|
存储 运维 关系型数据库
数据的力量:构筑现代大型网站之数据库基础与应用
数据的力量:构筑现代大型网站之数据库基础与应用
49 0
|
28天前
|
SQL Java 数据库连接
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
17 0
|
1月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
46 0
|
2天前
|
SQL 关系型数据库 MySQL
关系型数据库插入数据的语句
使用SQL的`INSERT INTO`语句向关系型数据库的`students`表插入数据。例如,插入一个`id`为1,`name`为&#39;张三&#39;,`age`为20的记录:`INSERT INTO students (id, name, age) VALUES (1, &#39;张三&#39;, 20)。如果`id`自增,则可简化为`INSERT INTO students (name, age) VALUES (&#39;张三&#39;, 20)`。
5 2