【问题标题】:ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired, Unable to open Monitor Sessions tabORA-00054: 资源繁忙并使用指定的 NOWAIT 获取或超时已过期,无法打开 Monitor Sessions 选项卡
【发布时间】:2023-01-30 16:45:42
【问题描述】:

我正试图放下一张桌子,但这经常出现。

当我尝试打开“监控会话”以终止它时,会出现这种情况。

ORA-00942: 表或视图不存在 00942. 00000 - “表或视图不存在” *原因:
*行动: 供应商代码 942

我用谷歌搜索了这个问题,并尝试了推荐的解决方案。

我试过这个解决方案


select object_name, s.sid, s.serial#, p.spid 
from v$locked_object l, dba_objects o, v$session s, v$process p
where l.object_id = o.object_id and l.session_id = s.sid and s.paddr = p.addr;

但我得到“ORA-00942:表或视图不存在”

我也试过


SELECT
    O.OBJECT_NAME,
    S.SID,
    S.SERIAL#,
    P.SPID,
    S.PROGRAM,
    SQ.SQL_FULLTEXT,
    S.LOGON_TIME
FROM
    V$LOCKED_OBJECT L,
    DBA_OBJECTS O,
    V$SESSION S,
    V$PROCESS P,
    V$SQL SQ
WHERE
    L.OBJECT_ID = O.OBJECT_ID
    AND L.SESSION_ID = S.SID
    AND S.PADDR = P.ADDR
    AND S.SQL_ADDRESS = SQ.ADDRESS;

但同样的事情,“ORA-00942:表或视图不存在”。

如何进行?

【问题讨论】:

  • ORA-00054 意味着某人/某物持有该表 - 直到他们提交(或回滚) - 你不能删除它。 ORA-00942 表示您尝试访问的表不存在(正如错误本身所说)。您确定您有权使用 FROM 子句中的所有表/视图吗?

标签: sql oracle ddl


【解决方案1】:

您可能必须以 sysdba 身份在这些表上授予“SELECT”:

GRANT privileges ON object TO user;

特权:选择
对象:你的表名
用户:您的用户名

【讨论】:

    猜你喜欢
    • 2011-06-18
    • 2013-10-04
    • 2011-03-05
    • 2018-03-16
    • 2012-10-09
    • 2016-03-28
    • 2022-10-24
    • 2011-07-02
    相关资源
    最近更新 更多