Tag Archives: foreign key

外键缺少索引引发的死锁

客户的10.2.0.4 RAC for AIX环境频繁出现ORA-60死锁问题,导致应用程序无法顺利执行。 经过一系列的诊断,发现最终问题是由于外键上没有建立索引所致,由于程序在主子表上删除数据,缺少索引导致行级锁升级为表级锁,最终导致大量的锁等待和死锁。 下面通过一个例子简单模拟一下问题: SQL> CREATE TABLE t_p (id NUMBER PRIMARY KEY, name varchar2(30)); TABLE created. SQL> CREATE TABLE t_f (fid NUMBER, f_name varchar2(30), FOREIGN KEY (fid) REFERENCES t_p); TABLE created. SQL> INSERT INTO t_p VALUES (1, ‘a’); … Continue reading

Posted in ORACLE | Tagged , , , | Leave a comment