【发布时间】:2022-10-24 07:25:16
【问题描述】:
我需要在 oracle 数据库表中创建一些索引,但总是出现错误
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
我在这个问题的解决方案中找到了锁定表的会话然后终止会话,但是表每秒插入大量来自接口会话的结果,因为该表与实验室仪器接口并且机器总是从接口插入实验室结果,
这是我找到的解决方案:
https://stackoverflow.com/questions/4842765/ora-00054-resource-busy-and-acquire-with-nowait-specified-or-timeout-expired
但我做不到也无法停止界面
有没有其他方法可以在不终止会话或停止界面的情况下执行 CREATE INDEX ?
这是 DDL 命令:
CREATE INDEX LAB_RESULTS_A_IDX3 ON LAB_RESULT_STS
(HOSPITAL_NO, LAB_ORDER_NO, SAMPLE_NO, PROVIDING_RESOURCE, SERV_NO,
END_RESULT)
LOGGING
TABLESPACE TRNG_IDX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 1181960K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
COMPRESS 1;
【问题讨论】:
-
“这是我找到的解决方案”——该问题有 20 个答案,有多种方法;您是否尝试过
DDL_LOCK_TIMEOUT方法?
标签: oracle