当前位置:操作系统 > Unix/Linux >>

TERADATA解决锁表的方法

TERADATA解决锁表的方法
 
TERADATA的锁表问题一直很头疼,经常早上过来发现任务都没跑,
检查发现中间某张表在凌晨生成的时候被某人的查询SQL给锁了,
导致后续任务都没有跑,于是查找TD那一堆英文文档,发现一个变
相的解决办法,通过建立视图:
  www.zzzyk.com  
create view etl.Etl_Monitor_View
as locking table etl.Etl_Monitor for access
select * from etl.Etl_Monitor
 
当然有利也有弊,以前正在insert表的时候如果有任务查询这张表,
会锁表,通过监控来发现问题,使用这个视图以后就不再锁表了,
而是select出来0条记录,导致结果异常。
 
以下SQL这样会锁表:
-------------------------------------------------------
 
>Inset into TABLE_1 select * from TABLE_2
>Select * form TABLE_1
-------------------------------------------------------
  www.zzzyk.com  
以下SQL这样不会锁表:
-------------------------------------------------------
>locking table TABLE_1 for access
  Inset into TABLE_1
>Select * form TABLE_1
--------------------------------------------------------
 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,