****设置一个批次允许最大执行的时间****

prjM 2002-07-30 03:04:51
在Oracle中,为了防止死锁,需要监视一个批次执行的最大时间,超出时间则将该批次查询作废。怎样在系统中设置这个允许最大批次执行的时间???
...全文
52 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoubf725 2002-07-31
  • 打赏
  • 举报
回复
在分布式处理中有个原则,2pc(两阶段提交)
同时提交,同时回滚(通过异常实现回滚)
你可以参考。
prjM 2002-07-31
  • 打赏
  • 举报
回复
我是讲:甲方执行
begin transaction
update table set ...
(此时与服务器的连接断了,或死机了等等,没有提交)
commit transaction
服务器一直在等待

此时乙方执行
update table set ...
则会发生死锁

这种问题怎么解决?请高手们都来指一条路!!!
biti_rainy 2002-07-31
  • 打赏
  • 举报
回复
不会一直等待
oracle会自动定期清理死进程并回收资源的
biti_rainy 2002-07-30
  • 打赏
  • 举报
回复

SQL> select * from dba_profiles;

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- -------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- -------------
DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED

已选择16行。
zhoubf725 2002-07-30
  • 打赏
  • 举报
回复
这种操作一般是通过另一个进程去监视的。

光在一个进程中也是可以的,
通过oracle的profile来限制用户的cpu时间的资源使用量。
具体是哪个参数什么不知道,自己试试。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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