在AnySQL中如何找出锁的拥有者?

    在比较忙的系统中我常用一段处理Resource Busy的角本来对表作DDL操作, 但还是常遇到久久不成成功的情况, 这时就要去看是那个会话一直锁住了我要修改的表, 我常用AnySQL中的两个命令来完成这个功能. 如下所示:

ASQL> list object t_long

TYPE      ID OWNER  OBJECT_NAME CREATED    MODIFIED   STATUS
----- ------ ------ ----------- ---------- ---------- ------
TABLE 538638 ANYSQL T_LONG      2006/08/02 2007/01/25 VALID

1 rows returned.

ASQL> ora hold 538638

SID SERIAL# SPID USERNAME MACHINE STATUS   PROGRAM
--- ------- ---- -------- ------- -------- ----------------
529   62199 44   ANYSQL   frisket INACTIVE sqlplus@frisket

1 rows returned.

    在找出会话之后, 就可以进一步分析, 是否可以将这个会话杀掉. 事实上这一招我们是常用的.

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • The place is too stony for farming.
  • 这地方太多石块, 不适合耕种.
  • In the flat country, people grow wheat and raise cattle.
  • 在这平坦的乡间, 人们种指小麦, 饲养牲畜.
  • He has bought 10 tractors for the village.
  • 他为村里买了10台拖拉机.
  • What's the typical farm product in this region?
  • 这个地区典型的农产品是什么?
  • At this time of the year farmers begin to plow their fields.
  • 每年这个时候, 农民们开始犁地.