如何解決流已關(guān)閉這類索引的分區(qū)處于不可用狀態(tài)
今天用hibernate訪問oracle數(shù)據(jù)庫(kù),發(fā)現(xiàn)一個(gè)問題;
Java代碼
- <SPAN style="FONT-SIZE: small">IcaCaCert icaCaCert = IcaCaCert.findByCertSerialNumber(certSerial);</SPAN>
報(bào)異常: 流已關(guān)閉
看數(shù)據(jù)庫(kù)發(fā)現(xiàn)有一個(gè)長(zhǎng)文本字段的類型是:LONG(oracle特有的類型,相當(dāng)于mysql的longtext)
于是就將該類型更改問clob類型( 不可逆 )
SQL代碼
- <SPAN style="FONT-SIZE: small">alter table ICA_CA_CERT modify SIGN_BUF_P7 clob;</SPAN>
再次訪問沒有流已關(guān)閉異常,但是又有新的異常: ITRUSCA.ICA_CA_CERT_USER_ID_IND這類索引的分區(qū)處于不可用狀態(tài)
原來(lái)原先的表中有索引,我更改類型后索引錯(cuò)誤;
重建索引,問題就可解決;
SQL代碼
- <SPAN style="FONT-SIZE: small">alter index ITRUSCA.ICA_CA_CERT_USER_ID_IND rebuild online;</SPAN>
原文鏈接:http://ligson.iteye.com/blog/1068119