作者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
1F:→ kobedisel:下次如果有备份的话可直接使用 rman 的 block recover 08/27 22:12
2F:→ kobedisel:一般来说index corrupt如果没备份,直接rebuild就OK 08/27 22:24