数据迁移

数据迁移方案 双写迁移 简单来说,就是在线上系统里面,之前所有写库的地方,增删改操作,除了对老库增删改,都加上对新库的增删改,这就是所谓的双写,同时写俩库,老库和新库。   然后系统部署之后,新库数据差太远,用之前说的导数工具,跑起来读老库数据写新库,写的时候要根据 gmt_modified 这类字段判断这条数据最后修改的时间,除非是读出来的数据在新库里没有,或者是比新库的数据新才会写。简单来说,就是不允许用老数据覆盖新数据。   导完一轮之后,有可能数据还是存在不一致,那么就程序自动做一轮校验,比对新老库每个. 阅读详情
第一章 数据迁移基础
       在信息共享日益普遍的情况下,各行各业都在进行着企业信息化建设,为了节约信息建设的费用,大都从现有的系统进行扩充或升级,ERP之路任重而道远,一般情况下,企业往往有大量的重要数据要迁移到新系统中去。
       数据迁移是一项繁锁而又单调的工作,面对各种各样的基础数据,定制开发数据迁移工具往往费时费力,切不通用,那么到底什么工具能够胜任我们的工作呢?MS DTS可以将各种各样的数据源导入到各种各样的数据库,易学易用,在异构数据转换过程中,LOB(TXTT、IMAGE)字段的转换是容易失败的地方。
 
图1.1 字段合并
       MS DTS在数据转换方面简单易学,功能强大,不仅可以使用VBSCRIPT与JSCRIPT脚本进行数据合并、分解、转换、汇总,还可以用PACKAGE的方式将转换过程存储在服务器上,通过代理服务多次/定时/调度地执行。
      
图1.2 异构数据
图1.3 脚本编写
       MSDTS承袭了MS的易学易用的优良传统,对使用者的要求很低,经过短时间培训,一般文员都可以使用MS DTS导入导出数据啦。
图1.4 调度计划
第二章 异构数据迁移
       很多时间,要在异构数据库之间进行数据迁移或抽取,如果在MS SQL SERVER中提取ORACLE的数据,可以通过ODBC、OLEDB等多种方式,要从ORACLE提取SQL中的数据,大都是通过透明网关来实现的。
       在异构数据抽取过程中,最好采用SQL92标准的语法编写SQL代码,同时要注意不同数据库之间数据类型的转换关系,如ORACLE的日期类型用DATE、MS SQLSERVER的日期类型用DateTime等。在Excel导入到MS SQLSERVER或ORACLE时,还要注意数字串的字段往往被目的数据库隐式转换成数字型的字段。
 
一 关于ORACLE的透明网关配置(FOR MS SQL SERVER)
       ORACLE安装时(9i),将TRANSPARENT GATEWAY FOR MSSQL选中,在ORACLE主目录/BIN中,有个tg4msql.exe程序,它就是透明网关程序,同时在主目录中还有tgrmsql的这个目录,ORACLE_HOME$/tg4msql/admin目录中的inittg4msql.ora文件,必须手工进行配置才能在ORACLE中连接MS SQL SERVER。
图2.1 tg4msql
1 如何配置透明网关呢?打开inittg4msql.ora:
#
# HS init parameters
# xzh代表MS SQLSERVER服务名,pubs代表要访问的MS SQLSERVER数据库
#
HS_FDS_CONNECT_INFO="SERVER=xzh;DATABASE=pubs"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
2 监听的配置oracle_home/network/admin/Listiner.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1527))
      )
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = xzh.world)
      (ORACLE_HOME = D:/oracle/ora92)
      (SID_NAME = xzh)
    )
    (SID_DESC =
       (GLOBAL_DBNAME =MySQL)
       (PROGRAM = tg4msql)
       (SID_NAME = MySQL)
       (ORACLE_HOME = D:/oracle/ora92)
    )
  )
       加亮部分代码是要在监听文件中手工添加,GLOBAL_DBNAME、SID_NAME可以任意指定,PROGRM必须指向tg4msql 如图2.1所示。
3 本地服务文件的配置oracle_home/network/admin/TnsNames.ora
XZH =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = xzh.world)
    )
  )
 
TG4MSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xzh)(PORT = 1527))
    )
    (CONNECT_DATA =
      (SID =MySQL)
    )
    (HS = OK)
  )
       上例中MS SQL SERVER的本地服务名指定为TG4MSQL,可以任意写,SID必须是Listiner.ora中指定的那个SID_NAME,PORT也必须是监听中指定的PORT,主机等都要符合一致。到此为止,我们把透明网关大致已经配置好啦,如果要访问MS SQL SERVER数据库,还要在ORACLE中创建数据库链才行。
4 在MS SQLSERVER中创建登录帐号xzh口令xzh,授权使之可以访问PUBS数据库。
SQL>CREATE  DATABASE  LINK  FROM_SQL  CONNECT TO xzh IDENTIFIED BY xzh USING ‘TG4MSQL’
USING ‘TG4MSQL’中的 ‘TG4MSQL’是tnsnames.ora中配置好的指定MS SQL SERVER服务器的可以被ORACLE访问的本地服务名,FROM_SQL是我们以后要引用的数据库链名,切记MS SQL SERVER中的登录帐号(xzh/xzh)必须符合ORACLE的帐号规范,如果用(xzh/0000)就会在创建数据库链路时失败。
SQL>SELECT * FROM sales@FROM_SQL
如果有数据返回,表示我们访问SQL数据库的通道已经建成,请大胆使用吧,但对远程异构数据库不充许进行DDL操作。
SQL>CREATE TABLE all_users@TG4MSQL FROM all_users;
ERROR 位于第 1 行:
ORA-02021: 不允许对远程数据库进行 DDL 操作
二 MS SQL SERVER访问ORACLE的方法
1 通过行集函数OPENDATASOURCE
  SELECT  *  FROM OPENDATASOURCE( 'MSDAORA',
    'Data Source=xzh.oracle;User ID=POS;Password=POS')..POS.A0325
       MSDAORA是OLEDB FOR ORACLE的驱动,初始化字符串中必须提供要访问的ORACLE本地服务名、用户名、口令。然后引用表中数据时要以服务器..用户名.表名的格式。注意一定是四部分组成,用户名与表名一定要大写,服务器与用户名之间是两个点号。
       SELECT * INTO PUBS.DBO.A0325 FROM
OPENDATASOURCE( 'MSDAORA',
         'Data Source=UITE;User ID=POS;Password=POS' )..POS.A0325
说明:将ORACLE服务器UITE中POS模式的A0325导入到MS SQLSERVER的PUBS数据库,注意A0325在这条语气执行时被创建,如果A0325已经存在PUBS数据库中,可以使用INSERT INTO的语法导入数据
INSERT INTO PUBS.DBO.A0325 FROM
OPENDATASOURCE( 'MSDAORA',
         'Data Source=UITE;User ID=POS;Password=POS' )..POS.A0325
 2 通过MS SQLSERVER的链接服务器访问ORACLE的数据
   --在查询分析器中查看已经存在的链接服务器
   SELECT*FROM SYSSERVERS
   --添加链接服务器ORCL到MS SQL SERVER,也可以在企业管理器中创建
   EXEC SP_ADDLINKEDSERVER
   @server = 'ORCL',                    --ORCL是SQL中链接服务器名称
   @srvproduct = 'Oracle',        --Oracle        固定的            
   @provider = 'MSDAORA',             --MSDAORA   固定的
   @datasrc = 'UITE'                    --DataSrc      本地服务名
  
   EXEC SP_DROPSERVER ‘ORCL’       --删除链接服务器
  
       在这里声明一下,如果现在就访问ORACLE肯定不能,因为没有提供登录ORACLE的用户名/口令
       EXEC SP_ADDLINKEDSRVLOGIN 'ORCL', false, 'sa', 'POS', 'POS'
SA是MS SQLSERVER的登录帐号,POS/POS是ORACLE的登录帐号。
SELECT * FROM ORCL..POS.A0325
FROM后面必须是四部分组成。为什么执行后报错呢,本人一直在寻找解决办法,最后发现通过T-SQL语句没法解决,只有打开MS SQLSERVER的企业管理器。
图2.2 配置ORACLE的远程帐号
图2.3设置远程登录帐号
SELECT * FROM ORCL..POS.A0325  
通过图2.2、2.3以后,在查询分析器执行时,立即从ORACLE的ORCL服务器上POS模式的A0325表中查到数据,注意在图2.3步操作过程中,必须在安全性页面选中“用此安全上下文进行”的复选项,然后在“远程登录/使用密码”所对应的文本中输入ORCL服务器上有登录权限的帐号。
SELECT * FROM OPENQUERY(ORCL, 'SELECT * FROM POS.A0325')
3 使用MS SQL SERVER的OPENROWSET函数
SELECT A.*
FROM OPENROWSET('MSDAORA',
   'UITE';'POS';'POS', POS.A0325) AS A ORDER BY A.ID
说明:有些地方使用行集函数要用别名才能引用,请大家注意。
4使用ODBC的方式
SELECT A.*
FROM OPENROWSET('MSDASQL','ORCL_ODBC';'POS';'POS',
   POS.A0325) AS  A  ORDER BY A.ID
说明:ORCL_ODBC是访问ORACLE 服务器UITE的ODBC数据源,以上所有代码在SQL QUERY ANALYZE 中通过。关于MS SQL SERVER访问ORACLE有四种方式,其中通过ODBC与链接服务器的方式做起来难度较大,对于初学者会复杂一些,使用OLE DB FOR ORACLE的驱动时,有OPENDATASOURCE与OPENROWSET函数可以使用,都很方便,笔记喜欢使用后者,交待一下,在数据存取方面,OLE DB效率较ODBC为佳。
使用spring batch实现数据迁移实例 Table of Contents 数据迁移Data migration概述 数据迁移的类型及其挑战 一个数据迁移代码实例 spring cloud data flow介绍 在使用Spring Bacth以及Spring Cloud data flow时遇到的问题收集 问题1 问题2 问题3 问题4 问题5 问题6 问题7 问题8 问题9 数据迁移Data migra... 阅读详情

相关推荐

基于JDBC的全量/增量数据迁移与同步原理

基于JDBC的全量/增量数据迁移与同步原理一、关系库基于JDBC的全量数据迁移原理1.1 where条件切片方式1.1.1 原理1.1.2 优缺点1.1.3 影响性能的因素:1.2 limit/offset分页切片方式1.2.1 原理1.2.2 优缺点1.2.3 影响性能的因素1.2.4 oracle基于分页的切片方式二、基于JDBC的增量数据迁移/同步原理三、关系库的逻辑结构3.1 Mysql3.2 Oracle3.2.1 oracle中的其它概念:3.3 PostgreSQL3.3.1 PostgreS

Catyee's tech blogs 3865

python库在不同电脑间的迁移

python库在不同电脑间的迁移,当你现在用的电脑库十分多时,又不想一个个去用pip install 去下载可以这样做

晋升阁的博客 3万+

SAP数据迁移--第一章 将数据迁移到SAP的业务基础知识

数据迁移的业务基础知识

tiantianspace的博客 2138

[transfer.sh]简易使用命令行形式共享文件

transfer.sh Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance. Transfer.sh currently supports the s3 (Amazon S3...

yongwan5637的博客 1787

数据迁移工具合集

选择合适的数据迁移工具取决于迁移的复杂性、所涉及的数据类型和目标环境等因素。上述工具各自具有独特的优势,适用于不同的迁移场景和需求。在选择时,建议根据具体情况进行评估和测试,以确保迁移过程的顺利和成功。

专注技术学习与经验分享,记录成长,共同进步。 2279

hadoop 数据迁移

数据迁移使用场景 冷热集群数据分类存储,详见上述描述. 集群数据整体搬迁.当公司的业务迅速的发展,导致当前的服务器数量资源出现临时紧张的时候,为了更高效的利用资源,会将原A机房数据整体迁移到B机房的,原因可能是B机房机器多,而且B机房本身开销较A机房成本低些等. 数据的准实时同步.数据的准实时同步与上一点的不同在于第二点可以一次性操作解决,而准实时同步需要定期同步,而且要做到周期内数据基本完全一......

大数据技术派 5515

transfer.sh 一个简单快速的web传输分享文件工具

curl --upload-file ./hello.txt https://transfer.sh/hellotest.txt https://transfer.sh/ 转载于:https://blog.51cto.com/czwanga/2116889

weixin_34356310的博客 750

测试工程师玩转DeepSeek之Prompt

掌握这些提示词技巧,测试工程师可提升与DeepSeek的协作效率至少3倍。建议结合具体项目上下文进行二次优化,并建立团队内部的提示词知识共享库。✅ “为电商支付接口生成包含幂等性验证的测试用例,覆盖网络中断重试场景”❌ “帮我写测试用例”

weixin_44872675的博客 2262

完善的数据迁移策略, 是数据迁移项目成功的保障

数据迁移是将数据从一个系统或存储位置传输到另一个系统或存储位置的过程。这可能涉及在不同的软件应用程序、数据库或存储设备(例如服务器、硬盘驱动器或云平台)之间移动数据。对于许多需要升级系统、整合数据或将数据移动到云的企业来说,数据迁移都是一个关键和必要的过程。数据迁移策略是一个计划或框架,概述了执行数据迁移的过程、过程和最佳实践。该策略定义了迁移范围、数据源和目标、迁移方法、时间表以及参与迁移的团队成员的角色和职责。

2302_82041293的博客 1948

【STC8G1K08A串口使用】

STC8G1K08A串口打印“Hello world”

m0_47459564的博客 1万+

Halcon深度学习2 -- 标注工具Deep Learning Tool下载安装

Deep Learning Tool为Halcon开发公司MVTec官方提供的一款标注工具: 标记培训数据是任何深度学习应用程序的关键的第一步。 当涉及到应用程序的性能,准确性和健壮性时,此标记数据的质量起着重要作用。 借助MVTec深度学习工具,我们正在为HALCON用户创建全面流畅的深度学习体验。 通过开发我们自己的解决方案,我们确保可以将其输出无缝集成到HALCON中。 该应用程序还使我们能够吸收在开发HALCON深度学习算法时获得的丰富经验和专业知识,而该算法自然也涉及很多标签! Deep.

fengyingv的博客 1万+

Minio数据迁移

Minio数据迁移 迁移方案有以下几种 1、使用Rclone实现minio数据的迁移 使用场景:网络通畅,不同服务器间迁移、云存储系统迁移 特性:使用需要安装rclone程序;安全,便捷;可维护性高 2、使用scp命令实现minio数据的迁移 使用场景:网络通畅,不同服务器间迁移 特性:基于Linux本身Secure Copy实现;安全,便捷,简单易用 3、使用硬件媒介实现minio数据的迁移 使用场景:网络通畅或者不同网络,不同服务器间迁移 特性:安全,简单易用;但是耗时较多,操作繁琐 使用R

qq_43429919的博客 2万+

做量化没有实时数据怎么行?我找到一个超级好用的Python库,速度还贼快!

今天咱们介绍了 pytdx 这个神奇的库,重点包括:✅ 安装 pytdx✅ 连接 TDX 服务器✅ 获取实时行情数据✅ 获取 K 线数据✅ 获取分笔成交数据总之,pytdx 是一个速度快、免费、易用的量化利器,适合 A 股量化交易的同学们使用。如果你还在为数据发愁,赶紧试试吧!🚀顺手再看就是对花姐最大的支持,期待你的关注。

奔跑的蜗牛 5726

数据平台的数据迁移与数据迁移工具

1.背景介绍 在数据科学和大数据领域,数据平台的数据迁移是一个重要的任务。数据迁移涉及将数据从一种系统或存储媒体移动到另一种系统或存储媒体。这个过程可以是因为扩展存储需求、优化性能、降低成本、实现数据清洗和整合等目的。 1. 背景介绍 数据迁移是一种常见的数据管理任务,它涉及将数据从一种系统或存储媒体移动到另一种系统或存储媒体。数据迁移可以是因为扩展存储需求、优化性能、降低成本、实现数据清洗...

AI天才研究院 1840

继电器的选型规范

触点是继电器中最重要的结构件,触点的使用寿命受触点材料、触点上的电压及电流值(特别是接通时及断开时的电压、电流波形)、负载种类、切换频率、环境情况、接触形式、触点回跳现象等的影响,触点失效多以触点的材料转移、粘连、异常消耗、接触电阻增大等故障现象出现,使用时需要注意。为了稳定工作, DC 型继电器的线圈两端所加电压推荐使用波纹变化率小于±5%的线圈额定电压,否则继电器会工作不稳定,引起触点的粘接或异常损耗,特别是在继电器的驱动电路上连接有电动机、螺线管、变压器等器件时,这种情况更为明显。

qq_43416206的博客 1882

自动识别象棋棋子的OpenCV应用

在计算机视觉领域,OpenCV是一个广泛应用的开源计算机视觉库,它提供了丰富的图像处理和分析工具。本文将介绍如何使用OpenCV实现自动识别象棋棋子的功能,并提供相应的源代码。通过以上代码,我们可以实现对棋盘图像中棋子的自动识别。需要注意的是,以上代码只是一个简单的示例,实际应用中可能需要根据具体情况进行参数调整和算法优化,以获得更好的识别效果。函数利用预处理后的图像,寻找图像中的轮廓,并根据轮廓的面积筛选出可能的棋子轮廓,最后在原图像中提取棋子区域。在主程序中,我们读取输入图像,并调用。

WzisTypescript的博客 908

django中实现数据迁移

Schema Migrations(模式迁移):这些是由Django的makemigrations和migrate命令管理的迁移,它们负责更新数据库模式(即表结构)以匹配模型的当前状态。如果你的数据迁移依赖于某个模式迁移,你需要在0002_data_migration.py文件的开头导入相应的迁移,并使用dependencies属性来指定依赖。数据迁移需要手动处理,因为Django的迁移系统不会自动处理数据的转换。在执行数据迁移之前,请确保你有完整的数据库备份,并在一个安全的环境中测试你的迁移脚本。

qinshi501的博客 2547

2025华为杯第二十二届中国研究生数学建模竞赛A题:通用神经网络处理器下的核内调度问题 - 完整解题分析+完整MATLAB源码!

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 2053

数据迁移:HBase数据迁移的实践与经验

1.背景介绍 在大数据时代,数据迁移成为了一项重要的技术手段,用于实现数据的高效迁移、扩展和优化。HBase作为一个分布式、高性能的列式存储系统,在大数据应用中具有广泛的应用前景。因此,了解HBase数据迁移的实践与经验至关重要。本文将从以下几个方面进行阐述: 背景介绍 核心概念与联系 核心算法原理和具体操作步骤以及数学模型公式详细讲解 具体最佳实践:代码实例和详细解释说明 实际应用场景 工...

AI天才研究院 1674

提示工程架构师干货:AI上下文工程在社交媒体舆情溯源中的应用

在舆情溯源中,“上下文”不是单一的“文本内容”,而是多维度、多源的信息集合溯源时间:从事件爆发到找到源头,只用了24小时(传统方法需要3-5天);溯源准确性:100%(通过人工验证确认);后续行动:品牌X发布了澄清声明,揭露了品牌Y的恶意行为,舆情在48小时内平息。社交媒体舆情溯源是一个“复杂的系统工程”,需要结合数据、模型、上下文理解。AI上下文工程的出现,让我们从“被动应对”转向“主动溯源”,从“模糊判断”转向“精准分析”。

Java大师兄的博客 813

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

关于数据迁移,测试应该做什么?

本文主要总结分享比较场景的数据迁移场景,业务线合并,2个系统的用户数据进行关联的场景。

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 2971

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ES数据迁移

经过测试对比_reindex和logstash在es数据迁移的适用场景,推荐使用_reindex。下一为对比结果: 1._reindex适用场景https://www.elastic.co/guide/en/elasticsearch/reference/6.1/docs-reindex.html ·同一集群不同索引数据迁移 ·不同集群索引数据迁移 1.动态调整迁移速度 2.取消任务 3.Built-in,无需安装(反例logstash) 4.5....

泰山与水 8585

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Hadoop集群搭建之 Sqoop数据迁移

使用sqoop完成数据迁移

小飞飞V5的博客 2107

数据迁移是什么?数据迁移过程中

数据迁移指的是将数据从一个存储系统转移到另一个存储系统的过程。这里的存储系统可以是不同的数据库、服务器、存储设备或者数据中心等。简单来说,就好比我们要把一本书从一个书架搬到另一个书架,数据迁移就是把数据从一个“数据书架”搬到另一个“数据书架”。这个过程看似简单,但实际上涉及到数据的提取、转换和加载等多个复杂步骤。

oOBubbleX的博客 1101
上一篇: SQLSEREVER测试题(下)
下一篇: SQL SERVER 2000系统支持的跟踪函数
天地客人
博客等级 码龄23年 62粉丝 168原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值