索引rebuild online失敗後處理
索引rebuild online失敗,報ORA-08104錯誤,也無法drop索引重建:
SQL> alter index UCR_CRM2.IDX_TF_R_TICKET_IDLE_LEVEL rebuild online ;
找到一個對應10g的方法,可以用來處理這種情況,但結果失敗了,報resource busy
SQL> desc dbms_repair.online_index_clean
Parameter Type Mode Default?
------------- -------------- ---- --------
(RESULT) BOOLEAN
OBJECT_ID BINARY_INTEGER IN Y
WAIT_FOR_LOCK BINARY_INTEGER IN Y
意外滴,rename一把表,竟然可以成功重建索引了:
SQL> alter table ucr_crm2.TF_R_TICKET_IDLE rename to TF_R_TICKET_IDLE_old ;
SQL> alter index UCR_CRM2.IDX_TF_R_TICKET_IDLE_LEVEL rebuild online ;
alter index UCR_CRM2.IDX_TF_R_TICKET_IDLE_LEVEL rebuild online
ORA-08104: this index object 692608 is being online built or rebuilt
SQL> drop index UCR_CRM2.IDX_TF_R_TICKET_IDLE_LEVEL ;
drop index UCR_CRM2.IDX_TF_R_TICKET_IDLE_LEVEL
ORA-08104: this index object 692608 is being online built or rebuilt
找到一個對應10g的方法,可以用來處理這種情況,但結果失敗了,報resource busy
SQL> desc dbms_repair.online_index_clean
Parameter Type Mode Default?
------------- -------------- ---- --------
(RESULT) BOOLEAN
OBJECT_ID BINARY_INTEGER IN Y
WAIT_FOR_LOCK BINARY_INTEGER IN Y
SQL> DECLARE
2 RetVal BOOLEAN;
3 OBJECT_ID BINARY_INTEGER;
4 WAIT_FOR_LOCK BINARY_INTEGER;
5
6 BEGIN
7 OBJECT_ID := 692452;
8 --
9 WAIT_FOR_LOCK := NULL;
10 RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN ();
11 COMMIT;
12 END;
13 /
2 RetVal BOOLEAN;
3 OBJECT_ID BINARY_INTEGER;
4 WAIT_FOR_LOCK BINARY_INTEGER;
5
6 BEGIN
7 OBJECT_ID := 692452;
8 --
9 WAIT_FOR_LOCK := NULL;
10 RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN ();
11 COMMIT;
12 END;
13 /
DECLARE
RetVal BOOLEAN;
OBJECT_ID BINARY_INTEGER;
WAIT_FOR_LOCK BINARY_INTEGER;
RetVal BOOLEAN;
OBJECT_ID BINARY_INTEGER;
WAIT_FOR_LOCK BINARY_INTEGER;
BEGIN
OBJECT_ID := 692452;
WAIT_FOR_LOCK := NULL;
RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN ();
COMMIT;
END;
OBJECT_ID := 692452;
WAIT_FOR_LOCK := NULL;
RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN ();
COMMIT;
END;
ORA-00604: error occurred at recursive SQL level 1
ORA-00054: resource busy and acquire with NOWAIT specified
ORA-06512: at "SYS.DBMS_REPAIR", line 475
ORA-06512: at line 10
ORA-00054: resource busy and acquire with NOWAIT specified
ORA-06512: at "SYS.DBMS_REPAIR", line 475
ORA-06512: at line 10
意外滴,rename一把表,竟然可以成功重建索引了:
SQL> alter table ucr_crm2.TF_R_TICKET_IDLE rename to TF_R_TICKET_IDLE_old ;
Table altered
Executed in 0.11 seconds
SQL> alter table ucr_crm2.TF_R_TICKET_IDLE_old rename to TF_R_TICKET_IDLE ;
Table altered
Executed in 0.016 seconds
SQL> alter index ucr_crm2.IDX_TF_R_TICKET_IDLE_LEVEL rebuild online ;
Index altered
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10867315/viewspace-713605/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- online 建立索引失敗處理索引
- 聊聊索引Index Rebuild和Rebuild Online(下)索引IndexRebuild
- 索引rebuild和rebuild online時要慎重索引Rebuild
- 聊聊索引Index Rebuild和Rebuild Online(上)索引IndexRebuild
- svn dump 失敗後的處理
- 索引rebuild和rebuild online時要慎重(轉載)索引Rebuild
- rebuild online索引遇到ora-1450Rebuild索引
- ORA-08104 索引online rebuild索引Rebuild
- postgresql連線失敗如何處理SQL
- oracle schedule 任務失敗處理Oracle
- oracle對JOB失敗的處理Oracle
- alter index rebuild 與 rebuild onlineIndexRebuild
- rebuild與rebuild online效率比對Rebuild
- Index Online RebuildIndexRebuild
- Oracle DG同步失敗故障處理(二)Oracle
- js播放背景音樂失敗處理JS
- oracle10g_alter index rebuild_online_重構索引OracleIndexRebuild索引
- .net reflector 反編譯失敗 索引超出了陣列界限問題處理方法編譯索引陣列
- GC 10.2.0.1 OMS和Agent連線失敗後的處理過程GC
- root.sh執行失敗的解決方法及後續處理
- Service Worker 圖片載入失敗處理
- php上傳大檔案失敗處理PHP
- 處理service named start失敗failed_dnsAIDNS
- OracleDBConsole啟動失敗處理Oracle
- Spring Cloud Stream消費失敗後的處理策略(二):自定義錯誤處理邏輯SpringCloud
- alter index rebuild和rebuild online的區別IndexRebuild
- "Alter index rebuild online parallel n"會修改索引的degree屬性IndexRebuildParallel索引
- python的django安裝失敗如何處理PythonDjango
- linux swap掛載失敗問題處理Linux
- AndroidKiller反編譯失敗的處理方法Android編譯
- 啟用系統登入失敗處理功能
- goldengate ddl_setup執行失敗處理Go
- Jenkins執行批處理檔案失敗Jenkins
- OEM分析TNSNAME.ORA檔案失敗處理
- create index online 與rebuild index onlineIndexRebuild
- create index online 與rebuild index onlineIndexRebuild
- Spring Cloud Stream消費失敗後的處理策略(一):自動重試SpringCloud
- Spring Cloud Stream消費失敗後的處理策略(四):重新入隊(RabbitMQ)SpringCloudMQ