使用 SSIS 同时将数据从 oracle 加载到多个表中的 SQL

Loading data from oracle to SQL in multiple tables simultaneously using SSIS

enter image description here

我正在创建一个临床数据仓库,因此我正在测试不同的场景。我正在将以下 tables 从 oracle DB(Attunity 连接器)加载到 SQL DB(OLE DB):

Table1 1.2 GB(300 万行) 表 2 20 GB(2 亿行) 表 3 100 GB(2.5 亿行) 表 4 25 GB(6000 万行)

对于我的初始加载,我计划使用 SSIS 并且 select * 来自 TABLE1/TABLE2/TABLE3/TABLE4

问题:

是否可以在一个包中加载每个 table 的多个数据流任务。这样他们就都运行在一起了。我只是想提高速度。但不知何故,它比我单独 运行 慢。

另外加载完成 tables 是 "select * from table" 的好方法吗?好像很慢!!

您可以执行的并行数据流任务数与您拥有的处理器内核数减一相同。也就是说,如果您使用的是八核处理器,则并行任务的理想数量是 7 (8 -1 )。只需将不同的序列容器放入其中(不是强制性的,但为了可读性)并执行。

您可以通过调整设置 DelayValidation=true 和使用 OPTION ( FAST 10000(or any value,just do some trials)) 等几项来加快数据加载速度,还可以使用 DefaultBufferSizeDefaultBufferMaxRows 直到您得到正确的。此外,如果您打算 运行 并行 DFT,请检查 MAXDOP 值是否未设置为 1 int 设置。

并且,永远不要使用 SELECT * from table_name。列出列名,* 会增加额外的开销并会大大降低您的查询速度。

过程 1:使用 SSMA

您可以使用 SQL 服务器迁移助手 (SSMA) 将数据从 Oracle 迁移到 Sql 服务器 Databases/Schemas/Tables。

这是来自 Microsoft 的用于数据库迁移的开源工具。

Microsoft SQL 服务器迁移助手 (SSMA) 是一种工具,旨在自动将数据库从 Microsoft Access、DB2、MySQL、Oracle 和 SAP ASE 迁移到 SQL 服务器。

流程 2:使用 SSIS

您还可以使用 SQL 服务器集成服务 (SSIS) 包进行迁移。

从 Import/Export 向导创建 SSIS 包,然后 运行 将包输入命令行。