作者fooker ()
看板Database
標題[SQL ] 請ORACLE高手解答,謝謝
時間Fri Aug 27 12:50:37 2010
大家好
小弟完全不會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