在线等待!开发过程中怎样来考虑并发性和死锁的问题!急!!!!

xdfzmh 2003-08-22 07:29:24
开发过程中怎样来考虑并发性和死锁的问题,我公司采用ORACLE8.05,PB开发,
我想避免应用程序的类似于死锁的现象!但有良好的并发性,不知有没有好的方法。
我还想知道ORACLE数据的独立性怎么设置?有两种机制:一个是语句一致性,另一个是事务一致性,不知道怎么设置它?
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wnyu 2003-08-24
  • 打赏
  • 举报
回复
用事务及安全点。Oracle中的事务本来就是并发的。我们一般定立一个写表顺序机制(因为只有定表时才出现锁定)。
如有表A,B, C, D, E。
a程序会写到A, B,C表。
b程序会写到A,C,E表。

错误做法:
a程序写入顺序为A,C,B
b程序写入顺序为C, A, E
当a程序已锁定A,而且准备锁定C。 同时,b程序要锁定C, 发现C未被锁定,于是锁定C,接着又要锁定A。这样就现死锁(因为A已被锁定,而已等待锁定C)。

正确做法:(按已规定的锁定顺序)
a程序写入顺序为A,B, C
b程序写入顺序为A, C, E
当a程序已锁定A, 而且要锁定其他表(如B,C)。 此时,b程序要锁定A时发现A已锁定,此时等待A,直到A解锁。如此类推....
klbt 2003-08-23
  • 打赏
  • 举报
回复
主要考虑事务要及时提交,事务不宜过大,在PB的update属性中,更新模式建议使用第二种。
jiezhi 2003-08-23
  • 打赏
  • 举报
回复
異常處理,超時設置,資源的的及時釋放,聯接的斷開。
b/s都是不保持聯接的,所以可以接受大量的并發訪問
tiangou 2003-08-22
  • 打赏
  • 举报
回复
oracle一般是不会死锁的,
在开发过程中注意事务及时处理就是了,也就是SQL语句要及时地commit或rollback
这些小问题注意了,应该没事

当然,我以为:)

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧