oracle ORA-08104處理
經過:
rebuild索引期間掐掉了,再次rebuild報錯。
有其他在使用該索引,並未提交也會造成一樣問題。
處理:
方法一、
用dbms_repair.online_index_clean來清除建立索引的失敗的遺留
注意:dbms_repair.online_index_clean這個函式一定要有返回值,否則會失敗的
declare
isClean boolean;
begin
isClean := FALSE;
while isClean=FALSE loop
isClean := dbms_repair.online_index_clean(368874);
dbms_lock.sleep(2);
end loop;
exception
when others then
RAISE;
end;
/
方法二、有鎖先處理鎖
select event,count(*) from gv$session_wait where wait_class<>'Idle' group by event;
方法三、手動啟動smon
不建議
方法四、(如果即使重啟也解決不了)
危險,不是很建議
1、手工刪除日誌表:
首先找到這個索引的OBJECT_ID:
Select object_id from dba_objects where owner=<owner> and object_name=<index name>;
找到OBJECT_ID後,就可以知道表的名字了(SYS_JOURNAL_<OBJECT_ID>),直接DROP這張表。不過如果這張表上的DML比較頻繁,DROP操作可能不會一次成功,需要不停的重試。
2、手工修改IND$:
UPDATE IND$ SET FLAGS=FLAGS-512 WHERE OBJ#=<OBJECT_ID>;
手工清理要十分小心,一旦出錯會導致資料字典錯誤。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69980685/viewspace-3001496/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-08104: this index object %s is being online built or rebuilt的處理IndexObjectUI
- ORA-08104 for Oracle 10GOracle 10g
- Oracle SQL處理OracleSQL
- oracle異常處理Oracle
- Oracle壞塊處理Oracle
- ORACLE 處理時間Oracle
- Oracle 死鎖處理Oracle
- Oracle死鎖處理Oracle
- Oracle 處理異常Oracle
- ORACLE 壞塊處理Oracle
- oracle高水位線處理Oracle
- oracle 高水位分析處理Oracle
- Oracle非法日期 處理方案Oracle
- Oracle更新Opatch故障處理Oracle
- Oracle TX鎖的處理Oracle
- 在oracle中處理日期Oracle
- oracle case處理案例(一)Oracle
- Oracle函式-->字元處理Oracle函式字元
- oracle日期處理集錦Oracle
- oracle 異常處理 exceptionOracleException
- 【轉】Oracle 異常處理Oracle
- ONLINE方式線上重建索引異常中斷後遇到ORA-08104錯誤的處理思路索引
- Oracle 監聽異常處理Oracle
- 【SQL】Oracle SQL處理的流程SQLOracle
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- Oracle密碼過期處理Oracle密碼
- ORACLE死鎖及處理方式Oracle
- Oracle提交和回滾處理Oracle
- oracle 死鎖查詢處理Oracle
- ORACLE鎖等待的處理方法Oracle
- Oracle 處理無效物件數Oracle物件
- Oracle 重複資料處理Oracle
- Oracle錯誤處理思路(一)Oracle
- oracle處理SQL的過程OracleSQL
- Oracle啟動問題處理Oracle
- 批處理檔備份oracleOracle
- 處理Oracle Session中的鎖OracleSession