--************************ -- ORA-00054 故障处理一例 --************************ 最近index job出现失败,于是尝试手动执行试试...收到了ORA-00054的错误消息。...ESMDBA.ESM_PRCS_ERR_IDX1 rebuild; ALTER INDEX ESMDBA.ESM_PRCS_ERR_IDX1 rebuild * ERROR at line 1: ORA...ERR_OID, MQ_MSGE FROM ESM_PRCS_ERR WHERE ERR_OID = :1 FOR UPDATE NOWAIT 四、进一步尝试 事实上此时做任何表结构的操作与分析都将会收到ORA...validate structure; analyze index ESMDBA.ESM_PRCS_ERR_IDX1 validate structure * ERROR at line 1: ORA
上周应用上线,有一个数据库脚本,包含改字段长度等操作,执行过程中,现象就是有些改字段成功了,有些执行出错,报了ORA-00054的错误。了解一下原理,就能对这个错误,有比较深入的理解了。...首先,我们模拟下报错过程,创建测试表,session 1执行update语句,但不提交,session 2执行alter table变更name字段长度,此时立即报错ORA-00054, SQL> create...modify name varchar2(5); alter table tbl_lock modify name varchar2(5) * ERROR at line 1: ORA...-00054: resource busy and acquire with NOWAIT specified or timeout expired 我们看下报错,ORA-00054,提示的就是资源繁忙...(下篇) ---- 针对ORA-00054这问题,可以再了解一些。 从11g开始,出现了一个新的参数, ?
普通表改造分区表,历史数据不要 这个需求很简单: pl/sql导出建表语句,依次修改成分区的建表语句,注意将索引修改成本地索引; drop 原表; create 新分区表. 1.重建过程中遇到问题:删除某表时报错ORA...by ……(……); create unique index …… on MOD_RESALT_PERF_CARR_1X_ZTE(……) local tablespace …… compress; ORA...596,39243'; alter system kill session '596,39243' ORA-00031: session marked for kill 此状态下,若drop 此表仍然会报错ORA..._1x_zte.tab Table dropped Table created Index created Index created Index created SQL> 7.总结:遭遇ORA
integer 0 SQL> set timing on SQL> drop table test; drop table test * 第 1 行出现错误: ORA...alter session set ddl_lock_timeout = 10; SQL> drop table test; drop table test * 第 1 行出现错误: ORA
nowait都会对查询到的当前结果集进行加锁,所不同的是,当有另外的会话在修改当前结果集中的数据,select for nowait所进行的查询操作不会进行等待,当发现结果集中的一些数据被加锁,立刻返回 “ORA...总结分析: 因为会话一,并没有commit所以test8中的ID=1的行被加锁了,所以当会话二进行select for update nowait检索到ID=1的数据行被加锁了,就立刻返回 “ORA-00054...select for update wait与select for update nowait不同的地方是,当有另外的会话对它的查询结果集中的某一行数据进行了加锁,那么它不会像nowait一样,立即返回"ORA...-00054错误",而是它支持一个参数,设定等待的时间,当超过了设定的时间,那一行数据还处于加锁的状态,那么它也会返回“ORA-00054错误,内容是资源正忙, 但指定以 NOWAIT 方式获取资源”。...,在执行select for update wait 6,如果当前查询检索的数据集中,有被加锁了的行数据,那么等待6秒,如果6秒后,其他会话,还没有执行commit释放被加了锁的数据行的话,那么返回“ORA
session2: SQL> drop table t; drop table t * ERROR at line 1: ORA-00054: resource busy and...SQL> drop table t; drop table t * ERROR at line 1: ORA-00054: resource busy and acquire
SCOTT.TEST ADD ADDRESS VARCHAR2(40) --添加表列 ALTER TABLE SCOTT.TEST DROP COLUMN ADDRESS --删除表列 在修改的过程中提示 ORA...-00054: 资源正忙,要求指定 NOWAIT 分析如下: ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效 解决方法如下: ==================...2:对该表进行ddl操作将会报:Ora-00054:resource busy and acquire with nowait specified....同样这个查询的事务将会对该表加表级锁,不允许对该表的任何ddl操作,否则将会报出ora-00054错误::resource busy and acquire with nowait specified....可以通过发出 select… for update nowait的语句来避免发生阻塞,如果资源已经被另一个会话锁定,则会返回以下错误:Ora-00054:resource busy and acquire
ALTER TABLE xxxx DISABLE CONSTRAINT xxxxx_ACCOUNT_1FK * ERROR at line 1: ORA-00054: resource...expired ALTER TABLE xxxx_ACCOUNT disable CONSTRAINT xxxx_ACCOUNT_1FK * ERROR at line 1: ORA
NOWAIT加了EXCLUSIVE表级排他锁, LOCK TABLE "TBL_PAR" IN EXCLUSIVE MODE NOWAIT 此时禁止对表进行DDL或DML操作,若执行了DDL操作,直接提示“ORA
create index online >>表锁的情况下 locked_mode 2不影响后一个locked_mode 2、3、4、5的会话,如果后一个会话locked_mode为6,则后一个会话操作会提示ora...ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired >>行锁的情况下 locked_mode 2对应行锁...Lock Row Exclusive >>表锁的情况下 locked_mode 3不影响后一个locked_mode 3的会话,但如果后一个会话locked_mode为4,5,6,则后一个会话操作会提示ora...ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired >>行锁的情况下 locked_mode 3的表锁对应行锁...id=11; 1 row updated sid2,直接报错 SQL> drop table test; drop table test * ERROR at line 1: ORA
于是开始执行truncate, truncate table test; 此时提示错误, ORA-00054: resource busy and acquire with NOWAIT specified
comma; 但指定以 NOWAIT 方式获取资源, 或者超时失效” Oracle 11g中想修改表名: rename ASSETPORJECT to ASSETPROJECT; 结果提示:ORA
所不同的是,如果另外一个线程正在修改结果集中的数据, for update nowait 不会进行资源等待,只要发现结果集中有些数据被加锁,立刻返回 “ORA-00054错误,内容是资源正忙, 但指定以...update的区别: 别的事务要对这个表进行写操作时,是等待一段时间还是马上就被数据库系统拒绝而返回.制定采用nowait方式来进行检索,所以当发现数据被别的session锁定中的时候,就会迅速返回ORA
; SQL> set timing on; SQL> SELECT count(*) FROM TABLE_NAME; 3.表移动 alter table table_name move; 报错:ORA
2:对该表进行ddl操作将会报: Ora-00054:resource busy and acquire with nowait specified. ?...同样这个查询的事务将会对该表加表级锁,不允许对该表的任何ddl操作,否则将会报出ora-00054错误::resource busy and acquire with nowait specified....同样这个查询的事务将会对该表加表级锁,不允许对该表的任何 ddl 操作,否则将会报出 Ora-00054:resource busy and acquire with nowait specified....可以通过发出 select ... for update nowait 的语句来避免发生阻塞,如果资源已经被另一个会话锁定,则会返回以下错误:Ora-00054:resource busy and acquire
CC.I_T_BATCH_06; drop index CC.I_T_BATCH_07; drop index CC.I_T_BATCH_08; 注意:添加索引监控一定要在业务低峰或者晚上停止业务的时候添加,不然会报“ORA...ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 全文完,希望可以帮到正在阅读的你
数据库表被锁的现象 在操作数据库时,有的时候我们会很突然的遇到数据库报下面这个错误 ORA-00054: resource busy and acquire with NOWAIT specified
文章目录 系列 死锁后的解决办法 生成Kill Session语句 查看导致死锁的 SQL 查看谁锁了谁 ORA-00054 资源正忙,要求指定 NOWAIT 查询绑定变量使用的实际值 监控事例的等待...---- ORA-00054 资源正忙,要求指定 NOWAIT 演示: select * from emp for update ;--通过for update 获取一个排它锁 SQL>select object_name
JOB_EXP scott@CNMMBO> drop table job_exp; drop table job_exp * ERROR at line 1: ORA
the range section cannot be dropped 这种方法的弊端,需要NOWAIT对表加EXCLUSIVE锁,影响正常交易,如果此时,有其他交易进行,alter table则会抛ORA
领取专属 10元无门槛券
手把手带您无忧上云