首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 数据库开发 >

做ETL抽取的时候,会锁数据源的库表吗?该怎么处理

2012-03-20 
做ETL抽取的时候,会锁数据源的库表吗?今天客户说自己的业务系统崩溃了- -说是因为半夜ETL抽数据时,怎么着

做ETL抽取的时候,会锁数据源的库表吗?
今天客户说自己的业务系统崩溃了 - -
说是因为半夜ETL抽数据时,怎么着把数据源的数据库给锁住了,后来ETL没有成功,就把业务系统给弄死了,我听的觉得好奇怪啊,没遇见过这种情况啊,按说抽数据只是读操作,会锁数据源表吗?
如果ETL没有成功,假如进入了一个死循环,一直在跑,是不是会将数据源的业务系统弄崩溃呢?

请教各位有没有类似经历呢?谢谢~

[解决办法]
ETL只是对源表进行数据抽取,但不会对源表数据进行任何操作或改动。
至于会不会锁表,这要看源表是否是生产数据,ETL程序是否对源表进行了锁表使其独立运行ETL作业的设置或处理。
如果想知道具体原因,建议楼主把源数据的数据库类型、ETL工具(如果是手写的ETL,是哪种语言写的)贴出来,再结合一些实际,再作进一步分析!
[解决办法]
锁不锁需要看业务系统采用的是什么样的数据库系统。oracle读数据从来都不锁表的
[解决办法]
支持楼上回答,DB2有可能会锁表。
但是一般做etl的时候都是深夜,会有相应的时间戳去取数据,锁机制应该会是最低的,不应该锁表才对。
[解决办法]
要具体问题具体分析,

而且重要的一点是要看什么数据库了

像INFORMIX,DB2都会有锁表的情况出现

热点排行