看板 Database 關於我們 聯絡資訊
大家好 小弟完全不會oracle 套裝軟體使用oracle9i做資料庫管理 軟體執行刪檔功能出現錯誤: ORA-01578: ORACLE data block corrupted (file # 4, block # 66820) google查詢結果是資料出現壞塊 壞塊壞在index,index 名稱PDM_PIVSECTXN_FK2 網路說只要重建該INDEX即可,但小弟腦殘手賤 沒查清楚指令就DROP掉了,以致用 alter rebuild無效 有查到如何creat index,但問題來了, 網路上查到都是要create index <index_name> on <table_name> tablespace <tablespace_name>; index都要指定存放的table 查詢壞塊位置是在名稱"PDM_INDEX"的tablespace底下 但用下列指令查 select table_name from all_tables where tablespace_name='PDM_INDEX'; "PDM_INDEX"底下查不到有存放其他table (只有小弟測試create的一個table,用來試creat index "PDM_PIVSECTXN_FK2",有create 成功 但問題沒解決,應該是index "PDM_PIVSECTXN_FK"放錯地方吧?) 但用 select index_name from all_indexes where tablespace_name='PDM_INDEX'; "PDM_INDEX"底下的確有一大串index... 想請教,如何直接建立index在tablespace底下? create index PDM_PIVSECTXN_FK2 on tablespace PDM_INDEX; 結果是ORA-00906: missing left parenthesis 是不是要加甚麼參數? 或是如何指定index "PDM_PIVSECTXN_FK2"的存放位置?(例file # 4, block # 66820) 謝謝 附上Select * from dba_extents where file_id=4 and 66820 between block_id and block_id+blocks-1; 查詢結果 OWNER --------------------------------- SEGMENT_NAME --------------------------------- TABLESPACE_NAME --------------------------------- SEGMENT_TYPE --------------------------------- PDM PDM_PIVSECTXN_FK2 PDM_INDEX INDEX FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO --------- ---------- ---------- ---------- ------------ 4 66569 8388608 1024 4 EXTENT_ID ---------- 66 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.120.5.157
kobedisel:下次如果有備份的話可直接使用 rman 的 block recover 08/27 22:12
kobedisel:一般來說index corrupt如果沒備份,直接rebuild就OK 08/27 22:24