ORA-01502: 索引或這類索引的分區(qū)處于不可用狀態(tài)

內(nèi)容來源:https://blog.csdn.net/Ruishine/article/details/120972330

一)問題:

最近在做Oracle數(shù)據(jù)清理贮匕,在對分區(qū)表進行數(shù)據(jù)清理時壕曼,采用的方法是drop partition岸梨,刪除的過程中号俐,沒有遇到任何問題富弦,大概過了10分鐘蜜宪,開發(fā)人員反饋部分分區(qū)表上的業(yè)務(wù)失敗镜撩。具體錯誤為:

ORA-01502錯誤:索引或這類索引的分區(qū)處于不可用狀態(tài)(英文:ora-01502:index ‘schema.index_name’ or partition of such index is in unusable state)。

(二)原因分析

查看出現(xiàn)問題的分區(qū)表耸序,均有一個共同點:表上以“pk_”開頭的索引為unusable狀態(tài),以“pk_”開頭的索引是隨創(chuàng)建主鍵約束而創(chuàng)建的鲁猩。當(dāng)用戶在創(chuàng)建主鍵約束或唯一性約束的時候坎怪,會在相應(yīng)的列上創(chuàng)建唯一性索引

經(jīng)過查證,發(fā)現(xiàn)是在刪除分區(qū)的時候廓握,導(dǎo)致分區(qū)表上的<mark style="box-sizing: border-box; outline: 0px; background-color: rgb(248, 248, 64); color: rgb(0, 0, 0); overflow-wrap: break-word; font-weight: 700;">唯一性全局索引</mark>為不可用狀態(tài)搅窿,導(dǎo)致新的數(shù)據(jù)無法正常插入,從而引發(fā)了該錯誤隙券。

是不是索引不可用會導(dǎo)致DML操作失敗呢男应?經(jīng)過驗證,發(fā)現(xiàn)以下特點:

1.對于非唯一性索引是尔,如果索引不可用殉了,是不會影響到到DML操作的;

2.對于唯一性索引拟枚,如果索引不可用薪铜,在進行DML操作時,會觸發(fā)ORA-01502錯誤恩溅;

這里記錄一下哪些操作會導(dǎo)致索引失效:
[圖片上傳失敗...(image-830606-1694070658640)]

(三)解決方案

(3.1)了解唯一性索引

在解決問題之前隔箍,我們來分析一下,哪些行為會創(chuàng)建唯一性索引(3種):

–直接創(chuàng)建唯一性索引脚乡。

 語法為:CREATE UNIQUE INDEX index_name on table_name(col1蜒滩,col2,…);

–創(chuàng)建主鍵約束時自動創(chuàng)建唯一性索引。

 語法為:ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY(col1,col2,..);

–創(chuàng)建唯一性約束時自動創(chuàng)建唯一性索引奶稠。

 語法為:ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(col1,col2,…);

這里俯艰,我總結(jié)了3套方案來對應(yīng)ORA-01502問題。

(3.2)方案一:刪除唯一性索引

與業(yè)務(wù)方面溝通锌订,確認(rèn)唯一性索引是否可以刪除竹握,如果可以,直接刪除索引辆飘,刪除語法為:

SQL> DROP INDEX schema.index_name;

對于由主鍵約束或唯一性約束創(chuàng)建的唯一性索引啦辐,不能直接刪除:

SQL> drop index lijiaman.sale_pk;
drop index lijiaman.sale_pk

ORA-02429: cannot drop index used for enforcement of unique/primary key

正確的方法是刪除相應(yīng)的約束:

SQL> alter table sales drop constraint sale_pk;

Table altered

小結(jié):該方法簡單粗暴,前提是在約束或索引在業(yè)務(wù)方面可以刪除的情況下才能使用蜈项。

(3.3)方案二:重建唯一性索引(針對非分區(qū)表)

語法為:

SQL> ALTER INDEX [schema.]index_name REBUILD [ONLINE] [TABLESPACE tablespace name]

小結(jié):該方法可以使索引可用芹关。但對于分區(qū)表而言,依然存在問題:在下一次刪除分區(qū)后紧卒,索引狀態(tài)又會變?yōu)椴豢捎谩?/p>

3.4)方案三:刪除不可用的索引侥衬,創(chuàng)建唯一性分區(qū)索引(針對分區(qū)表)

創(chuàng)建唯一性分區(qū)索引:

SQL> CREATE UNIQUE INDEX index_name on [schema.]table(col1,col2,...);

對于主鍵約束、唯一性約束,可以使用以下語法添加唯一性局部分區(qū)索引:

SQL> ALTER TABLE [schema.]table_name ADD CONSTRAINT constarint [PRIMARY KEY | UNIQUE](col1,col2)
     USING INDEX LOCAL TABLESPACE tablespace_name;

小結(jié):該方法可以有效解決分區(qū)表因刪除分區(qū)導(dǎo)致的索引不可用問題轴总。

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贬媒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肘习,更是在濱河造成了極大的恐慌,老刑警劉巖坡倔,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漂佩,死亡現(xiàn)場離奇詭異,居然都是意外死亡罪塔,警方通過查閱死者的電腦和手機投蝉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來征堪,“玉大人瘩缆,你說我怎么就攤上這事〉柩粒” “怎么了庸娱?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谐算。 經(jīng)常有香客問我熟尉,道長,這世上最難降的妖魔是什么洲脂? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任斤儿,我火速辦了婚禮,結(jié)果婚禮上恐锦,老公的妹妹穿的比我還像新娘往果。我一直安慰自己,他們只是感情好一铅,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布陕贮。 她就那樣靜靜地躺著,像睡著了一般馅闽。 火紅的嫁衣襯著肌膚如雪飘蚯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天福也,我揣著相機與錄音局骤,去河邊找鬼。 笑死暴凑,一個胖子當(dāng)著我的面吹牛峦甩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼凯傲,長吁一口氣:“原來是場噩夢啊……” “哼犬辰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冰单,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤幌缝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诫欠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涵卵,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年荒叼,在試婚紗的時候發(fā)現(xiàn)自己被綠了轿偎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡被廓,死狀恐怖坏晦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嫁乘,我是刑警寧澤昆婿,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站亦渗,受9級特大地震影響挖诸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜法精,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一多律、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搂蜓,春花似錦狼荞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殉挽,卻和暖如春丰涉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斯碌。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工一死, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傻唾。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓投慈,卻偏偏與公主長得像承耿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伪煤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容