ORA-00054: 资源正忙 解决办法

---不关心索引部分内容可以直接跳到第2步

1、我需要在三张表上分别建立一个索引:
CREATE INDEX 索引名 ON 表名 (列名1,列名2) TABLESPACE 表空间名;

-----------------------------------------------------

CREATE INDEX SQEID_PHONENUM_1 ON COMPANY (ID,PHONE)
   TABLESPACE TABLE_SPACE_TEST;

CREATE INDEX SQEID_PHONENUM_2 ON PERSON (ID,PHONE)
   TABLESPACE TABLE_SPACE_TEST;

CREATE INDEX SQEID_PHONENUM_3 ON PROJECT (ID,PHONE)
   TABLESPACE TABLE_SPACE_TEST;

//查询当前用户下所有的索引信息
SELECT * FROM USER_INDEXES;



//查询索引 "SQEID_PHONENUM_1" 是否成功创建
SELECT * FROM USER_IND_COLUMNS WHERE INDEX_NAME='SQEID_PHONENUM_1';



2、如果执行报错:ORA-00054: 资源正忙 

//执行如下语句判断出哪些表被锁住了
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;


//通过如下语句可以杀死锁住了表的会话
ALTER SYSTEM KILL SESSION 'SID,SERIAL';

--------------------------------------------------------------------

附:如下可能有用的语句:

//查询当前数据库下哪些会话锁住了
select session_id from v$locked_object;

//通过sid(session_id)查询该会话具体信息
SELECT sid, serial#, username, osuser FROM v$session where sid =   ;

你可能感兴趣的:(Oracle)