有关域索引错误产生的原因及解决办法

 

1说明

数据库错误ORA-29861:域索引标记为LOADING/FAILED/UNUSABLE,其错误原因及解决办法,根据ORACLE官方文档的说法如下:

// *Cause: An attempt has been made to access a domain index that is
//         being built or is marked failed by an unsuccessful DDL
//         or is marked unusable by a DDL operation.

// *Action: Wait if the specified index is marked LOADING
//          Drop the specified index if it is marked FAILED
//          Drop or rebuild the specified index if it is marked UNUSABLE

由上述可知,当空间索引被DDL标记为FAILED或UNUSABLE时,访问空间索引会报该错误。当出现此类错误时,若标记为LOADING,则需等待DDL完成;若标记为FAILED,则需删除索引;若标记为USUSABLE,则需重建或删除。尽管,ORACLE给出了解决办法,但显然不适用于我们的使用场景。我们不可能在每一次出现此类错误时,都删除索引重建或者使用REBUILD命令。我们的目标是避免此类错误的产生,而不是在此类错误发生后采取某些解决手段。

既然是由DDL引起,自然首先应关心哪些DDL会引起此类错误呢?这里分两类情况,分全局索引和分区索引。

2全局索引

    当使用全局域索引时,以下的DDL命令会造成上述域索引错误:

  • Exchange partition(我们的应用中目前没有使用这一技术)
  • Drop partiion ,当drop的分区中存在数据记录时,标记UNUSABLE
  • Truncate partition(我们的应用中目前没有使用这一技术)
  • Split partition ,当分裂后的两个分区中均存在数据时,标记UNUSABLE
  • Create index ,当由于某些原因(例如弧),创建失败时,标记FAILED

在我们的应用中,存在drop partition、split partition、create index命令。其中create index在数据库初始化的时候进行,此时图层为空图层,所以不会出现将域索引标记为FAILED的情况;而drop partition会在删除某个县的数据时用到,此时该分区内可能有数据,当存在数据时,会导致域索引被标记为USUABLE;split partition会在应用中用到,但不会出现分裂后的两个分区均存在数据的情况,因此在我们的应用中不会因为split partition导致域索引被标记为UNUSABLE或FAILED。因此,得出一个结论,在使用drop partition、技术删除某个县的数据时,若使用全局索引,极有可能出现域索引的问题。

可以通过如下命令查看某个全局索引是否被标记为UNUSABLE或FAILED。

select INDEX_NAME,INDEX_TYPE,STATUS,DOMIDX_STATUS,DOMIDX_OPSTATUS from user_indexes where table_name=TABLENAME and index_type='DOMAIN';

若STATUS值为UNUSABLE或FAILED,或者DOMIDX_OPSTATUS值为FAILED,则该索引需要被删除或被重建。重建的命令如下:

Alter index index_name rebuild;

3分区索引

    当使用分区索引时,以下DDL命令会造成上述域索引错误:

  •     Split partition ,当分裂后的两个分区中均存在数据时,标记UNUSABLE
  • Create index ,当由于某些原因(例如弧),创建失败时,标记FAILED

其中create index在数据库初始化的时候进行,此时图层为空图层,所以不会出现将域索引标记为FAILED的情况;split partition会在应用中用到,但不会出现分裂后的两个分区均存在数据的情况,因此在我们的应用中不会因为split partition导致域索引被标记为UNUSABLE或FAILED。综上所述,对于分区索引,我们的应用应该不会导致域索引错误。当的确在分区索引时出现了域索引错误,极有可能将多个县的数据入在了一个分区中。而至于为什么出现将多个县的数据入在了一个分区中,需要认真分析原因。

可以通过如下命令查看某个全局索引是否被标记为UNUSABLE或FAILED。

Select INDEX_NAME,PARTITION_NAME,STATUS,DOMIDX_OPSTATUS from user_ind_partitions where index_name=INDEXNAME

若STATUS值为UNUSABLE或FAILED,或者DOMIDX_OPSTATUS值为FAILED,则该索引需要被删除或被重建。重建的命令如下:

Alter index INDEXNAME rebuild partition partition_name;

转载于:https://www.cnblogs.com/6yuhang/p/8250488.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细解读css中的浮动以及清除浮动的方法

对于前端初学者来说,css浮动部分的知识是一块比较难以理解的部分,下面我将把我学习过程中的心得分享给大家。 导读: 1.css块级元素讲解 2.css中浮动是如何产生的 3.出现浮动后,如何清除浮动(本文将涉及到多种清除浮动…

微信多开txt_电脑版微信怎么双开、多开

新建一个txt文本文件,在文件中写入如下代码:echo offstart /d "C:\Program Files (x86)\Tencent\WeChat\" WeChat.exestart /d "C:\Program Files (x86)\Tencent\WeChat\" WeChat.exeexit保存文本文件。这里需要注意的是&#xff1a…

java 基础--随笔

---恢复内容开始--- java 对大小写敏感。 java没有任何无符号类型(unsigned)。 C/C是编译型语言,java是解释性语言。 JAVA编译过程同C/C 的 编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而…

多源计算机培训,多源数据汇聚的多流形学习算法研究

摘要:随着信息技术和互联网的飞速发展,人们可以从多个信息源获得数据,即多源数据.由于多源数据具有类型多样,尺度不统一等特点,对多源数据进行汇聚并提取有效信息是机器学习和模式识别等领域研究的热点.由于多流形学习能够有效地揭示复杂数据中的内在结构,因此本文主…

Ubuntu 16.04 安装mysql5.7

技术更新换代,数据库也不断更新,需要不断努力学习,下面就是如何在 ubuntu中安装 mysql。 废话不多说,上来就是干 一、安装mysql 5.7 sudo apt-get update sudo apt-get install mysql-server 中间会提示您输出root 密码&#xff…

CSS多列布局(实例)

前言 一列布局二列布局三列布局 1 一列布局 一列布局&#xff1a; HTML部分 <!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>一列布局</title> </head> <body> <div class"head">…

阿帕奇骆驼备忘单

轮询一个空目录&#xff08;并发送一个空消息&#xff0c;正文为空&#xff09;&#xff1a; from(file://temp?sendEmptyMessageWhenIdletrue)停止路线&#xff1a; .process(new Processor() {public void process(Exchange exchange) throws Exception {getContext().stopR…

js中双感叹号_JavaScript中双叹号(!!)作用

经常看到这样的例子&#xff1a;vara&#xff1b;var b!!a;a默认是undefined。!a是true&#xff0c;!!a则是false&#xff0c;所以b的值是false&#xff0c;而不再是undefined&#xff0c;也非其它值&#xff0c;主要是为后续判断提供便利。!!一般用来将后面的表达式强制转换为…

大头贴计算机教程,推荐!自家电脑也能拍大头贴的秘密

您可能感兴趣的话题&#xff1a;美图拍拍核心提示&#xff1a;一直都超爱拍大头贴&#xff0c;喜欢每张都能换不同的框框&#xff1b;喜欢可以直接看到效果&#xff0c;做出满意的动作&#xff1b;喜欢将大头贴和朋友们分享……不过夏日炎炎的&#xff0c;出门太麻烦&#xff0…

用CSS伪类制作一个不断旋转的八卦图?

前言 介绍一下如何制作一个不断旋转的八卦图。快速预览代码及效果&#xff0c;点击&#xff1a;八卦图 代码如下&#xff1a; HTML部分 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>JS Bin</title> </head&…

js根据ip自动获取地址(省市区)

HTML&#xff1a; <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"><title>标题</title>&l…

流利的对象创建

关于此主题的文章很多&#xff08;绝大多数&#xff09;&#xff0c;但我只是想贡献我的两分钱&#xff0c;写一篇简短的文章&#xff0c;介绍如何使用Java中的Fluent Object Creation模式或对象构建器实例化Value Objects。 值对象是由其状态&#xff08;值&#xff09;而不是…

计算机等级考试试题4,计算机等级考试二级模拟试题4

计算机等级考试二级模拟试题计算机等级考试二级模拟试题4基础知识与FOXBASE程序设计(考试时间120分钟&#xff0c;满分100分)一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)、四个有选项中,只有一个选项是正确的(1)通常所说的主机主要包括…

springboot怎么替代jsp_如何在SpringBoot中使用JSP ?

1. 在pom.xm中加入支持JSP的依赖org.apache.tomcat.embedtomcat-embed-jasperprovidedjavax.servlet.jsp.jstljstl-api1.22. 在src/main/resources/application.properties文件中配置JSP和传统Spring MVC中和view的关联# MVCspring.view.prefix/WEB-INF/views/spring.view.suff…

css选择器的综合使用

代码实现&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"utf-8">5 <title>css的综合使用</title>6 <style>7 div {8 colo…

启动tomcat时 一闪而过解决方法

【前文】 在实际开发中一般都是eclipsetomcat(也许还会用到tomcat的插件)&#xff0c;我们只需要在eclipse中单击servers上的按钮就可以成功启动tomcat了&#xff0c; 但是如果想在tomcat的安装目录下 双击startup.bat启动时却一闪而过了。这是为什么呢&#xff08;tomcat启动失…

Google Guava多集

继续这次番石榴之旅&#xff0c;我们到达了Multiset 。 我可能不像Multimaps或Bimaps那样使用它&#xff0c;但是它确实有它的用途。 那么什么是多重集&#xff1f; 也许您可以猜到它是一个可以容纳同一对象的多个实例的集合。 这不仅仅是列表吗&#xff1f; 在Java中&#x…

用javascript实现简单的用户登录验证

用javascript实现简单的用户登录验证 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title> </head> <body><script type"text/javascript">function c…

怎么把计算机改程序,怎样修改程序软件

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。修改程序软件的方法是&#xff1a;这个必须要会编程才行&#xff1b;不会编程的话那是不可能的&#xff1b;对它进行反编译&#xff1b;脱壳&#xff1b;反编译好再把它重新加壳。程…

HTML的display属性将行内元素、块状元素、行内块状元素互相转换以及三者的区别

1.行内元素 查看演示 (1)设置宽高无效 (2)对margin仅设置左右方向有效&#xff0c;上下无效&#xff1b;padding设置上下左右都有效&#xff0c;即会撑大空间 (3)不会自动进行换行 <html> <head> <meta charset"utf-8" /> <title>行内元…