读 jeffli73 的《多粒度封锁机制研究(论坛)》大作后遇到的问题

[复制链接]
查看11 | 回复2 | 2006-4-17 13:46:34 | 显示全部楼层 |阅读模式
看了jeffli73的《多粒度封锁机制研究(论坛)》大作,受益非浅。遇到一些浮浅的问题,希望大虾们帮忙解决!
1本人的数据库在登陆一定时间如果不进行任何操作会自动断开连接!即。通讯信道结束!
在运行脚本也一样,如果我在进行操作时,没有完成数据库连接就断开拉,是不是会自动回滚??(因为已经无法人工回滚拉)这样会不会导致我所操作的表被枷锁而无法操作!
2在上文中有一例子,EMP(员工)表有如下字段:EMPNO(员工编号),ENAME(员工姓名),DEPTNO(员工所在部门编号),其中DEPTNO列为外键,其父表为DEPT。
SESS#1
insert into dept(deptno) values(60);(未提交)
SESS#2
insert into emp(empno,deptno) values(2000,60)
SESS#2被阻塞,但是数据库对待这种阻塞是采取什么动作啊,我运行时,它没报错。因为本人经常遇到一个脚本本来运行十几分钟就搞定的 但是往往一直运行不报错,我怀疑是不是因为之前对表加了锁才导致这种情况啊。

3 有时我在进行DML操作时,会跳出资源忙,请使用NOWAIT
这个是不是也是因为枷锁的原因啊!!
小弟愚忳,请高手指教



回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
版主,I NEED YOU
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
1,一般KILL掉的SESSION会自动回滚的
2,阻塞就是在等待,一时半会不会报错的
3,如果有其它SESSION的对这个表的事务没有COMMIT或ROLLBACK,
“资源忙,请使用NOWAIT”说明有锁
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行