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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle SQL處理OracleSQL
- Oracle壞塊處理Oracle
- oracle異常處理Oracle
- oracle 高水位分析處理Oracle
- oracle高水位線處理Oracle
- Oracle更新Opatch故障處理Oracle
- Oracle非法日期 處理方案Oracle
- Oracle TX鎖的處理Oracle
- Oracle密碼過期處理Oracle密碼
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- Oracle 監聽異常處理Oracle
- 【SQL】Oracle SQL處理的流程SQLOracle
- oracle SP2-問題處理Oracle
- Oracle 10g RAC故障處理Oracle 10g
- oracle ora-00054錯誤處理Oracle
- oracle遊標批次處理資料Oracle
- Oracle 11.2.0.4 Dataguard兩則故障處理Oracle
- ORACLE GoldenGate 使用技巧-容錯處理等OracleGo
- 【Oracle】死鎖的產生與處理Oracle
- Oracle日常問題處理ORA-04031Oracle
- ORACLE ORA-01110: ORA-27072: 處理Oracle
- Oracle開發基礎-異常處理Oracle
- Oracle DG同步失敗故障處理(二)Oracle
- ORACLE問題處理十個指令碼Oracle指令碼
- oracle密碼過期處理辦法Oracle密碼
- Oracle分散式事務典型案例處理Oracle分散式
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- Oracle client安裝the jre is 0故障處理Oracleclient
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- ORACLE無法OPEN,處理三板斧Oracle
- oracle分散式事務異常處理方法Oracle分散式
- linux處理oracle問題常用命令LinuxOracle
- oracle常見異常等待——latch處理思路Oracle
- oracle sysaux表空間滿了處理辦法OracleUX
- oracle使用者鎖住、過期處理方式Oracle
- Oracle 12c ORA-29548 報錯處理Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle