A few days ago at the customer site to do the upgrade, the script move LOB field, the customer continues to perform operations, the call index is invalid. The index of the non-LOB field was checked for failure, and was not noticed at the time, the direct rebuild, on the way back in the middle of the night, the manager asked me, move lob field, why other indexes are invalidated? I was .... In the dead of night, when the best thinking. The result of the thinking: I found a lot of things I know, but the fundamental, it is a little vague. For example: Index, I know is based on rowID quickly find a row, but the index is stored in a column of values (single-row index), will not store the relationship with other columns?
Later decided to pass the experiment to verify, do not know why, at least to know still ah. What, first know one to say first.
--build test table with primary key CREATE TABLE Dxmy_lob (ID number primary key,name blob,sex VARCHAR2 (10), Location varchar2), select * from Dba_lobs d where d.table_name = ' dxmy_lob ';--inserts data insert INTO Dxmy_lob VALUES (2,TO_BL OB (' 110111011 '), ' man ', ' someware '); Commit;select * from dxmy_lob;--Creating a normal index create index ind_dxmy on dxmy_lob (sex); View index status before--move select D.owner,d.index_name, D.index_type,d.status,d.last_analyzed from Dba_indexes d where d.table_name = ' dxmy_lob '; ownerindex_nameindex_ TYPESTATUSLAST_ANALYZEDLMIND_DXMYNORMALVALID2015/12/17 4:29:51lmsys_c0011400normalvalidlmsys_il0000087754c00002 $ $LOBVALID--move walk ALTER TABLE LM_LOB move LOB (name) store as LM_LOB_SEG (tablespace users),--move index status Select D.owner, D.index_name,d.index_type,d.status,d.last_analyzed from Dba_indexes d where d.table_name = ' dxmy_lob '; OWNERINDEX_ NAMEINDEX_TYPESTATUSLAST_ANALYZEDLMIND_DXMYNORMALVALID2015/12/17 4:29:51lmsys_c0011400normalvalidlmsys_ il0000087754c00002$ $LOBVALID Normal, no ...
Hey, I brainwave, thought is compound index, result cannot build.
The biggest possibility is what the customer did, and the index failed.
Will the move LOB affect other index states?