项目中存在一部分数据迁移的工作,说白了就是从老的系统中将数据倒换的新的系统模型中,老系统的数据来源比较复杂多样,新的自然是Oracle9.2。
本来这也就是一次性工作,用SQL自然是最快的方式,不论是开发还是数据传输的速度。可是甲方偏偏要看到界面,希望这是一个成型的工具,没办法,甲方就是上帝。
公司原来也有一个迁移工具,可是只能适用于表对表的倒换,复杂一些无能为力,而且数据还巨慢,用过的人都是对它无语。
从新开发,不说花费和效果,光是时间也不行。没办法,只好看看现在流行的ETL的工具。
市场前列毋庸置疑,肯定是Informatia 和 DataStage.
Informatia没有,只好看看DataStage是否能适应现在的功能要求。不想,虽然是图形界面,可使用起来一点也不容易,而且安装后,Windows下居然不能脱离域环境,而且不是Server版本的Windows还不能运行Paralle Job。郁闷无比。
试了两天后,暂时放下。Microsoft的易用性比功能强大更吸引我。试试SQL Server 2005中的SSIS,号称企业级的ETL。
一用之后呢,没想还真有点喜欢上了它,从介绍的和界面上看一点也不比DataStage的功能少,性能,哈,下面就是我要说得了。
ETL工具最慢的部分都是L这一部分,按照一般的说法能占到总体时间的五分之四,所以这是关键。
测试也不算复杂,就是同样的数据抽取、转化、然后加载用不同的驱动分别跑一遍,目的库已经确定是Oracle,所以也没有太大的余地了。
在SSIS中,有两个驱动可以连接Oracle数据库,一个是Microsoft OLEDB Provider for Oracle,另外一个是Oracle Provider for OLEDB
不测不知道,还真长了不少见识。
同一机器,同一数据源,同一结果,两者间还真有不少区别。
首先是速度(连续三次): Microsoft OLEDB Provider for Oracle 1分37 1分32 1分30
Oracle Provider for OLEDB 1分10 1分07 1分02
在速度上 Oracle Provider for OLEDB 基本符合 1分3万条左右,而Microsoft OLEDB Provider for Oracle 1分钟只有2万条左右。
照这样看,答案似乎也就出来了,Oracle Provider for OLEDB也就成了不二选择。
且慢,我还没有说明为什么选择25万条记录而不是别的数量的数据呢。
这就不得不说说内存的使用:未启动数据迁移时即停留在VS.Net设计界面时,内存已使用了790M左右,而我机器的物理内存也就896M。
运行开始后,25万条记录下Microsoft OLEDB Provider for Oracle 平均在1G左右,而Oracle Provider for OLEDB乖乖得不得了,铁定在1.25G以上,一次还在1.3G。更离谱的是,原数据表中共有近100万条记录,Microsoft OLEDB Provider for Oracle在内存峰值1.5G左右可以顺利完成,而Oracle Provider for OLEDB在内存使用一旦突破1.3G往上一些,就开始不停提示内存不足,不在安心的迁移数据了,或者干脆显示为红色,报一些莫名的错误。
这就让人两难了,一个速度快了那么50%,可确是一个内存消耗大户,有没有止境,我这破机器也无从得知。
另外一个速度慢,可却节俭持家,穷人也照顾到了,哈。感觉好这有点像Oracle和MS的企业风格,一个走高端,为了需要的指标可以不计成本,穷人靠边;另一个呢,还不错,虽然也越来越来不鸟没钱的人,可还做得不太显眼。
最后了,同样的数据源(Microsoft OLEDB Provider for Oracle驱动),将目的库换成SQL Server 2005,驱动为SQL Native Client,同样的数据数据转换,98.9万条记录中11.1万条入库,靠1分12完事,打开FastLoad,58秒搞定。而且都只是第一次运行,相信如果多运行几次后,结果应该更好。别说,自家孩子真就不一样,别人的家的没法比。
由于数据库驱动接触并不多,希望那个大虾指点一下,能帮忙给找一个Windows下Oracle驱动可以媲美与SQL Native Client的,先谢了。
分享到:
相关推荐
本文将详细介绍如何利用SSIS将数据从SQL Server 2005迁移到Oracle 11g数据库的过程,该过程已经过实际测试验证。 #### 二、准备工作 在进行数据迁移之前,需要确保以下准备工作已经完成: 1. **安装环境**: - ...
本篇文章将详细介绍如何使用Java来实现在SQL Server与Oracle之间进行数据迁移。以下是具体步骤: 1. **Oracle数据库新账户的创建** 在开始迁移之前,我们需要在目标数据库Oracle中创建一个新的用户账户。这里以SQL...
【SSIS(SQL Server Integration Services)DEMO:Oracle与SQL Server异质数据转换】 SSIS是一种强大的ETL(Extract, Transform, Load)工具,用于在不同的数据源之间进行数据迁移和处理。在本教程中,我们将探讨...
综上所述,从SQL Server 2005移植到Oracle数据库涉及的主要知识点包括Oracle的运行环境配置、数据导入工具的选择与使用、跨数据库的数据迁移策略以及不同操作系统环境下的差异。在实际操作中,还需要考虑数据的完整...
2. Microsoft SQL Server Integration Services (SSIS):这是SQL Server自带的数据集成工具,通过ETL(提取、转换、加载)过程,可以实现SQL Server到Oracle的数据迁移。 3. Third-party工具:例如DataX、HeidiSQL...
7. **数据迁移工具**:使用如Oracle Data Pump或SQL Server Integration Services (SSIS)等工具进行大规模数据迁移。这些工具能帮助快速、高效地迁移大量数据,并处理可能出现的错误。 8. **性能优化**:Oracle提供...
在将SQL Server 2005的数据移植到Oracle的过程中,涉及多个关键步骤和技术知识点,确保迁移的顺利进行。以下是对这个过程的详细说明: 一、前期准备 在开始移植前,你需要对源数据库(SQL Server 2005)进行充分的...
数据库同步的方法有很多种,包括使用内置工具(如SQL Server的Replication,Oracle的GoldenGate)、第三方工具(如SSIS,ETL工具)或是自定义脚本。在选择方案时,需要考虑的因素包括数据量、实时性需求、网络环境、...
标题“sqlserver转oracle”指的是将SQL Server数据库中的数据迁移或同步到Oracle数据库的过程。这个过程通常发生在组织更换数据库系统,或者需要在不同数据库平台之间共享数据时。下面将详细介绍这个过程中涉及的...
本篇文章将深入探讨如何将数据从SQL Server导入到Oracle数据库,这对于数据迁移、数据整合或跨平台操作具有重要意义。 首先,我们来了解SQL Server和Oracle的基本特性。SQL Server是微软公司开发的一款关系型数据库...
例如,使用SSIS(SQL Server Integration Services)进行数据抽取,并通过转换规则处理后,再加载到Oracle数据库。设置好定时任务,即可实现定时同步。 2. **数据库触发器**:在SQL Server中创建触发器,当数据发生...
2. **安装必要的软件**:在SQL Server 2005环境中安装SQL Server Integration Services (SSIS),它提供了一种高效的方式来处理数据迁移任务。 3. **配置Oracle数据源**:在开始迁移流程之前,需要配置Oracle数据源...
本资源"SQL Server 2005 盛宴系列之十七:实现SQL Server与Oracle之间数据复制.zip"正是针对这种需求提供的一份教程,旨在帮助用户理解和实施跨数据库的数据复制。 SQL Server 2005是微软推出的数据库管理系统,以...
在IT行业中,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从Oracle迁移到SQL Server。本手册将详细讲解如何进行这种迁移,特别是关注数据导入的步骤和注意事项。 首先,Oracle到SQL Server 2005...
例如,从SQL Server到另一个SQL Server的数据迁移,或者从Oracle到SQL Server的数据导入。这两个例子都涉及到不同数据库之间的数据交换,这可以通过设置数据流任务和配置数据库连接来实现。 - **带行统计的 SSIS 包...
6. **使用SSIS包**:在SQL Server中创建的SSIS包可以调用Oracle的OLE DB提供程序,实现数据迁移。 无论哪种方法,都需要考虑数据类型转换、字符集兼容性、约束验证等问题。在实际操作中,可能还需要对数据进行清洗...
1. **使用SSIS (SQL Server Integration Services)**:这是SQL Server 2005及以后版本中的一个组件,但在SQL Server 2000中可以使用DTS(Data Transformation Services)。通过创建DTS包,我们可以定义数据源、目标...
2. **工具选择**:有许多工具可用于数据迁移,如Oracle的SQL Developer Data Pump、Oracle GoldenGate、第三方工具如SSIS(SQL Server Integration Services)等。这些工具可以帮助高效、安全地迁移大量数据。 3. *...
SSIS是SQL Server中的一个强大的ETL(提取、转换、加载)工具,可以用来实现Oracle到SQL Server的数据迁移。通过创建数据流任务,配置数据源(Oracle连接管理器)、数据转换(如数据类型映射)和目标(SQL Server...
标题 "经典oracle表移植SQLserver-scott" 描述了一个数据库迁移的过程,即将Oracle数据库中的scott用户相关的表移植到SQL Server环境中。这个过程涉及到多个关键的知识点,包括数据迁移、数据库兼容性、数据类型转换...