關于 Oracle 分區索引的失效和重建

--創建測試表

SQL> create table t as select object_id,object_name from dba_objects;


表已創建。

SQL> select min(object_id),max(object_id) from t;

MIN(OBJECT_ID) MAX(OBJECT_ID)
-------------- --------------
? ? ? ? ? ? ?2 ? ? ? ? ?76083

SQL> create table t_part(object_id int,object_name varchar2(1000)) partition by range(object_id)
? 2 ?(
? 3 ?partition p1 values less than (10000),
? 4 ?partition p2 values less than (20000),
? 5 ?partition p3 values less than (30000),
? 6 ?partition p4 values less than (40000),
? 7 ?partition pm values less than (maxvalue));

表已創建。

SQL> insert into t_part select * from t;

已創建72663行。

SQL> commit;

--創建本地分區索引

SQL> create index idx_part_local on t_part(object_name) local;

索引已創建。

--創建全局非分區索引

SQL> create index idx_part_global on t_part(object_id) global;

索引已創建。

--刪除其中一個分區

SQL> alter table t_part drop partition p1;

表已更改。

--全局非分區索引失效,本地分區索引沒有失效

SQL> select status,index_name from user_indexes s where index_name='IDX_PART_GLOBAL';

STATUS ? INDEX_NAME
-------- ------------------------------
UNUSABLE ?IDX_PART_GLOBAL


SQL> select status,index_name from user_ind_partitions s where index_name='IDX_PART_LOCAL';


STATUS ? INDEX_NAME
-------- ------------------------------
USABLE ?? IDX_PART_LOCAL
USABLE ?? IDX_PART_LOCAL
USABLE ?? IDX_PART_LOCAL
USABLE ?? IDX_PART_LOCAL

--重建失效索引

SQL> alter index idx_part_global rebuild;

索引已更改。

--在刪除表分區的時候,可以通過以下命令進行索引重建

alter table t_part drop partition p2 update indexes;

--創建全局分區索引

SQL> drop index idx_part_global;

索引已刪除。

SQL> CREATE INDEX idx_part_global_full ON t_part (object_id)
? 2 ? ? GLOBAL PARTITION BY RANGE (object_id)
? 3 ? ? ? ?(PARTITION p1 VALUES LESS THAN (10000),
? 4 ? ? ? ? PARTITION p2 VALUES LESS THAN (30000),
? 5 ? ? ? ? PARTITION p3 VALUES LESS THAN (MAXVALUE));

索引已創建。

--刪除其中一個分區

SQL> alter table t_part drop partition p3;

表已更改。

--全局分區索引失效

SQL> select status,index_name from user_ind_partitions s where index_name='IDX_PART_GLOBAL_FULL';

STATUS ? INDEX_NAME
-------- ------------------------------
UNUSABLE ?IDX_PART_GLOBAL_FULL
UNUSABLE ?IDX_PART_GLOBAL_FULL
UNUSABLE ?IDX_PART_GLOBAL_FULL

SQL> select /*+index(t IDX_PART_LOCAL)*/ * from t_part t where object_name = '/7f6c264c_IIOPAddress';

?OBJECT_ID OBJECT_NAME
---------- -----------------------------------
? ? ?35031 /7f6c264c_IIOPAddress
? ? ?35030 /7f6c264c_IIOPAddress

SQL> select /*+index(t IDX_PART_GLOBAL_FULL)*/ * from t_part t where object_id > 35000;
select /*+index(t IDX_PART_GLOBAL_FULL)*/ * from t_part t where object_id > 35000
*
第 1 行出現錯誤:
ORA-01502: 索引 'SCOTT.IDX_PART_GLOBAL_FULL' 或這類索引的分區處于不可用狀態

當需要對分區表進行下面操作時,都會導致全局索引的失效。
ADD (HASH) 
COALESCE (HASH) 
DROP 
EXCHANGE 
MERGE 
MOVE 
SPLIT 
TRUNCATE
 
之后需要對失效索引進行重建,也可以在刪除分區表的時候指定 UPDATE INDEXES 直接進行索引的重建。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387733.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡安全/CTF】unseping 江蘇工匠杯

該題考察序列化反序列化及Linux命令執行相關知識。 題目 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($thi…

yum配置中driver-class-name: com.mysql.jdbc.Driver報錯

錯誤&#xff1a; 原因&#xff1a; 解決方法&#xff1a;把方框中的<scope>runtime</scope>刪掉 轉載于:https://www.cnblogs.com/zly123/p/10834958.html

gitlab中的CI

https://blog.csdn.net/chengzi_comm/article/details/78778284 轉載于:https://www.cnblogs.com/effortsing/p/10142720.html

增加表空間大小的四種方法

增加表空間大小的四種方法Meathod1&#xff1a;給表空間增加數據文件ALTER TABLESPACE app_data ADD DATAFILED:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF SIZE 50M;Meathod2&#xff1a;新增數據文件&#xff0c;并且允許數據文件自動增長ALTER TABLESPACE app_data …

Red Hat 8.0中設置光盤為軟件源

為什么80%的碼農都做不了架構師&#xff1f;>>> 以管理員身份登錄 su 編輯設置軟件源的repo文件 gedit /etc/yum.repos.d/redhat.repo 粘貼如下文本至空白處&#xff1a; [InstallMedia] nameRed Hat Enterprise Linux 8.0.0 mediaidNone metadata_expire-1 gpgche…

C++11并發編程:多線程std::thread

一&#xff1a;概述 C11引入了thread類&#xff0c;大大降低了多線程使用的復雜度&#xff0c;原先使用多線程只能用系統的API&#xff0c;無法解決跨平臺問題&#xff0c;一套代碼平臺移植&#xff0c;對應多線程代碼也必須要修改。現在在C11中只需使用語言層面的thread可以解…

圖像特征提取——韋伯局部描述符(WLD)

一、原理及概述 韋伯局部描述符&#xff08;WLD&#xff09;是一種魯棒性好、簡單高效的局部特征描述符。WLD由兩個部分組成&#xff1a;差分激勵和梯度方向。 其具體算法是對于給定的一幅圖像&#xff0c;通過對每個像素進行這兩個分量的計算來提取其差分激勵圖像和梯度方向圖…

Linux下Nagios的安裝與配置

Linux下Nagios的安裝與配置 一、Nagios簡介 Nagios是一款開源的電腦系統和網絡監視工具&#xff0c;能有效監控Windows、Linux和Unix的主機狀態&#xff0c;交換機路由器等網絡設置&#xff0c;打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員&am…

POJ_3262 Protecting the Flowers 【貪心】

一、題面 POJ3262 二、分析 這題要往貪心上面想應該還是很容易的&#xff0c;但問題是要證明為什么比值關系就能滿足。 可以選擇幾個去分析&#xff0c;入1-6 與 2-15 和 1-6 與2-5 和 1-6 與 2- 12。 三、AC代碼 1 #include <cstdio>2 #include <iostream>3 #in…

WebLogic安裝Linux centos7

一、安裝前準備工作&#xff1a; 1、創建用戶useradd weblogic;創建用戶成功linux系統會自動創建一個和用戶名相同的分組&#xff0c;并將該用戶分到改組中。并會在/home路徑下創建一個和用戶名相同的路徑&#xff0c;比如我們創建的weblogic。 注&#xff1a;當然&#xff0…

jquery如何阻止子元素繼承父元素的事件(又稱事件冒泡)

非常簡單&#xff0c;子元素上添加如下代碼即可 1 $(a).click(function(e){ 2 e.stopPropagation(); 3 }); 老版本為event,現在用e就行 轉載于:https://www.cnblogs.com/chengbo2130/p/10152747.html

java spring cloud 版 b2b2c 社交電商-服務消費者(Feign)

社交電商平臺源碼請加企鵝求求&#xff1a;一零三八七七四六二六。Feign是一個聲明式的偽Http客戶端&#xff0c;它使得寫Http客戶端變得更簡單。使用Feign&#xff0c;只需要創建一個接口并注解。它具有可插拔的注解特性&#xff0c;可使用Feign 注解和JAX-RS注解。Feign支持可…

Mybaits自定義SQL

最近有個同事要包裝一個可以執行sql語句的功能用的是mybatis 最開始他想到的方案是拿到數據庫連接再執行sql語句。 后來出了某些錯誤來問我&#xff0c;為了尋求比較快的解決方法于是我就試試了下下面的方法。 首先在Mapper添加 <select id"select" resultMap&qu…

Beta 沖刺 (7/7)

團隊信息 隊名&#xff1a;爸爸餓了組長博客&#xff1a;here作業博客&#xff1a;here組員情況 組員1&#xff08;組長&#xff09;&#xff1a;王彬 過去兩天完成了哪些任務 協助完成安卓端的整合完成安卓端的美化協助制作宣傳視頻 接下來的計劃 & 還剩下哪些任務 I am d…

類的轉換函數調用的優先級與是否用const修飾的關系

P415 C Primer Plus (第六版&#xff09;(待解決~~知道原理的同學請留言&#xff0c;多謝~~&#xff09; #include <iostream>using namespace std; class Cp{private:   int a;   double b;public:   Cp()   {     a 1;     b 2.2;   } operator in…

Java Web 學習與總結(一)Servlet基礎

配置環境&#xff1a;https://www.cnblogs.com/qq965921539/p/9821374.html 簡介&#xff1a; Servlet是Sun公司提供的一種實現動態網頁的解決方案&#xff0c;在制定J2EE時引入它作為實現了基于Java語言的動態技術&#xff0c;目前流行的Web框架基本都基于Servlet技術&#xf…

堪稱經典

程序員作為高智商、高收入、高壓力群體&#xff0c;經常會有各種自嘲&#xff0c;而且還天生攜帶段子手基因。不信看看下面這些段子&#xff0c;一般人哪能懂&#xff01; 1、殺一個程序員不需要用槍&#xff0c;改三次需求就可以了 2、程序員退休后決定練習書法&#xff0c;于…

【洛谷 P1659】 [國家集訓隊]拉拉隊排練(manacher)

題目鏈接 馬拉車簡單膜你 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN 11000010; const int MOD 19930726; char b[MAXN], a[MAXN << 1]; int hw[MAXN << 1], ans 1, n, c[MAXN]; #defi…

Judy Beta 第三天

概述 前端部分對于打包的流程以及相關 package.json 的配置都已經比較熟悉了&#xff0c;目前主要負責對新實現的 feature 做測試&#xff0c;以及參考 DAP 為后端明確數據交換的格式及參數內容等。 后端部分按照更新的 wiki 實現了變量展開&#xff0c;并且根據 DAP 的協議流程…

oracle表空間不足

oracle表空間不足&#xff0c;一般有兩個原因&#xff1a;一&#xff0c;原表空間太小&#xff0c;沒有自增長&#xff1b;二&#xff0c;表空間已自增長&#xff0c;而且表空間也已足夠大&#xff0c;對于這兩種原因分別有各自的解決辦法。 【檢查原因】 1、查看表在那個表空…