关于 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.mzph.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、查看表在那个表空…