返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >通过LogMiner实现Oracle数据库同步迁移
  • 211
分享到

通过LogMiner实现Oracle数据库同步迁移

2024-04-02 19:04:59 211人浏览 泡泡鱼
摘要

目录通过LogMiner实现oracle数据同步迁移一、实现过程1.创建目录2.配置LogMiner3.开启日志追加模式4.重启数据库5.创建数据同步用户6.创建数据字典7.加入需要

通过LogMiner实现Oracle数据同步迁移

为了实现Oracle数据库之间的数据同步,网上的资料比较少的时候。最好用的Oracle数据库同步工具是:GoldenGate ,而GoldenGate是要收费的。那么还有什么好的办法来同步Oracle的数据吗?没错,就是使用LogMiner来实现Oracle数据同步迁移。

一、实现过程

1.创建目录

服务器上创建/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR目录来存储数据库的字典信息,如下所示。


mkdir -p /home/oracle/tools/oracle11g/oradata/orcl/LOGMNR

2.配置LogMiner

以oracle用户身份登录服务器,并以DBA身份登录Oracle数据库,如下所示。


sqlplus /nolog
conn  / as sysdba

接下来,创建字典文件夹配置,如下所示。


CREATE DIRECTORY utlfile AS '/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR';
alter system set utl_file_dir='/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR' scope=spfile;  

注意:由于utl_file_dir只存在于文件当中,所以scope是以文件方式"spfile"写入,而不是both。

3.开启日志追加模式


alter database add supplemental log data;  

只有开启后才能看到DML操作记录,否则只能看见DML

4.重启数据库


SHUTDOWN IMMEDIATE;  
STARTUP; 

5.创建数据同步用户

创建数据同步用户,如果已经有可以跳过,直接赋予权限。


create user SYNC identified by SYNC;  #如果存在用户,则不需要再次创建,直接授权即可
GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;  

6.创建数据字典

切换到要同步数据的用户,以DBA身份登录,创建数据字典文件,如下所示。


conn SYNC/SYNC@orcl as sysdba;  
EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR');  

创建数据字典的命令也可以通过Java代码来实现,如果使用Java代码实现的话,首先可以通过JDBC连接到Oracle数据库,然后执行如下命令。


BEGIN
dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR');  
END;

7.加入需要分析的日志文件

此步骤可以在Oracle命令行执行,也可以使用Java代码实现。

使用SQL语句实现如下所示。


EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW);  
EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE);  
EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE);  

使用Java代码分析时,使用的SQL语句如下所示。


BEGIN  
dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW);  
dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE);  
dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE);  
END;  

8.查看正在使用的日志文件


SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORDER BY first_change#;

status为CURRENT的为当前正在使用的日志文件

9.使用Lominer分析日志


EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora');  

使用Java代码分析时,使用的SQL语句如下所示。


BEGIN
dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora'); 
END;

10.查看分析结果


SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC'; 

注意:视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话的生命期中存在,如果要查看新的日志,需要再重新加入分析日志文件、使用LogMiner分析。

11.常见问题

(1)如果出现“必须声明标识符 ‘SYS.DBMS_LOGMNR'”异常,则需要在创建用户后,为用户赋予EXECUTE_CATALOG_ROLE权限,如下所示。


GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC; 


(2)当在查询vlogmnrlogs时提示“表或视图不存在”,是因为没有查询vlogmnr_logs的权限。此时在查询语句中需要为seg_owner指定相应的用户,例如,我这里使用SYNC用户通过LogMiner进行分析,则需要将seg_owner指定为SYNC用户,如下所示。


SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC'; 

以上就是通过LogMiner实现Oracle数据同步迁移的详细内容,更多关于LogMiner实现Oracle数据同步迁移的资料请关注编程网其它相关文章!

--结束END--

本文标题: 通过LogMiner实现Oracle数据库同步迁移

本文链接: https://lsjlt.com/news/134854.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 通过LogMiner实现Oracle数据库同步迁移
    目录通过LogMiner实现Oracle数据同步迁移一、实现过程1.创建目录2.配置LogMiner3.开启日志追加模式4.重启数据库5.创建数据同步用户6.创建数据字典7.加入需要...
    99+
    2024-04-02
  • oracle 数据库迁移
    PL/SQL Release 11.2.0.4.0 - Production导出版本,数据库地址10.36.40.53PL/SQL Release 11.2.0.4.0 - Production导入版本,数...
    99+
    2024-04-02
  • 在AmazonAurora中如何实现跨数据库的数据迁移和同步
    在Amazon Aurora中,可以使用DMS来实现跨数据库的数据迁移和同步。以下是实现步骤: 创建DMS实例:首先需要在AWS控...
    99+
    2024-04-09
    AmazonAurora
  • 通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤
    本篇文章给大家主要讲的是关于通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤的内容,感兴趣的话就一起来看看这篇文章吧,相信看完通过SQL Developer工具将MySQL数...
    99+
    2024-04-02
  • 如何实现oracle数据迁移到db2数据库
    这篇文章将为大家详细讲解有关如何实现oracle数据迁移到db2数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、表结构迁移在plsql中选择表----->d...
    99+
    2024-04-02
  • Oracle 11g 数据库迁移
    由于服务器更换,或者硬盘损坏等问题,在有些场景下,我们需要对数据库进行迁移。Oracle 数据库有多种备份方式,如果可以停机,建议最好使用冷备的方式,直接迁移数据文件,这样效率会比较高。由于两台主机都是Wi...
    99+
    2024-04-02
  • Oracle XTTS跨平台数据库迁移(从Unix迁移数据库到Linux)_Oracle数据库迁移项
     Oracle数据库迁移教程04 Oracle XTTS跨平台数据库迁移实战(真正超越OCP/OCM的项目实战系列教程)本套风哥Oracle教程学习内容1.Oracle XTTS技术基础知识2.Oracle...
    99+
    2024-04-02
  • MySQL迁移数据到MongoDB并同步
    因公司业务要求使用mongodb,故做了测试如下:第三方数据复制引擎--Tungsten-Replicator 主要特点:1 支持高版本MySQL向低版本复制,5.1-->5.0&...
    99+
    2024-04-02
  • django数据库迁移migration实现
    在django中,ORM(对象关系映射器—object-relational mapper)任务是:模型化数据库,创建数据库由另外一个系统负责(迁移–migr...
    99+
    2024-04-02
  • 如何使用RMAN实现Oracle数据库迁移
    这篇文章主要介绍了如何使用RMAN实现Oracle数据库迁移,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.打开RMAN[oracle@E...
    99+
    2024-04-02
  • 数据库迁移系列之--Oracle迁移到Mysql
    敬请期待......
    99+
    2017-12-07
    数据库迁移系列之--Oracle迁移到Mysql
  • oracle数据库怎么迁移
    oracle 数据库迁移是一个涉及评估、数据迁移、架构转移、验证和切换等步骤的多项任务。选择合适的工具并制定详细计划至关重要,测试和验证确保迁移的成功,请联系专业人士以获得支持。 Or...
    99+
    2024-05-30
    oracle
  • 从oracle数据库迁移到mysql数据库
    如果使用应用容器注意mysql.jar包版本冲突。(例如weblogic容器自带mysql,但是版本比较低,建议使用自己应用下的mysql.jar包)to_date ---->> date_fo...
    99+
    2024-04-02
  • Kettle(二)数据同步、迁移(基础版)
    目录 1.配置源数据库A  1.1 文件-->数据库连接 1.2 配置数据库,选择自己的数据库并配置。 1.3 数据库配置可能会报错,原因是缺少数据库驱动 2.配置目标数据库(与源数据库一致) 3.数据迁移(举例) 3.1 创建数据转化任务...
    99+
    2023-09-24
    数据库 数据仓库 mysql
  • oracle怎么做数据库迁移
    oracle 数据库迁移涉及六个步骤:准备源数据库并创建临时表空间。创建结构相似的目标数据库并分配权限。使用数据泵导出和导入数据。验证数据并调整数据类型和约束。重新创建索引和约束并优化目...
    99+
    2024-05-21
    oracle
  • mysql数据库迁移详细步骤
    mysql 数据库迁移步骤概述:准备并备份源数据库,优化迁移速度。配置目标数据库,确保空间和资源充足。传输源数据库架构,在目标数据库中重新创建。传输源数据库数据,验证正确导入。管理用户和...
    99+
    2024-08-02
    mysql 数据丢失
  • Qt怎么实现通用数据库同步
    这篇文章主要介绍“Qt怎么实现通用数据库同步”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Qt怎么实现通用数据库同步”文章能帮助大家解决问题。一、前言数据库同步的主要功能是将本地的数据库记录同步到远...
    99+
    2023-06-29
  • sql数据库过大怎么迁移
    如何迁移超大型 sql 数据库?评估数据库大小和复杂性。选择迁移工具(例如:sqlbulkcopy、data migration assistant、aws database migra...
    99+
    2024-06-03
  • 如何在PostgreSQL中实现跨平台数据迁移和同步
    要在PostgreSQL中实现跨平台数据迁移和同步,可以使用以下几种方法: 使用pg_dump和pg_restore工具:pg_...
    99+
    2024-04-02
  • 怎么用Oracle冷备方式实现迁移数据库
    这篇文章主要介绍“怎么用Oracle冷备方式实现迁移数据库”,在日常操作中,相信很多人在怎么用Oracle冷备方式实现迁移数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作