Oracle运维笔记之创建物化视图报错ORA-08102

简介: Oracle运维笔记之创建物化视图报错ORA-08102

客户反应无法在生产环境创建物化视图,登录远程上去尝试创建后发现报错下面错误:

ORA-00604: error occurred at recursive SQL level 1
ORA-08102: index key not found, obj# 399205, file 36, block 200745 (2)

接下来看下8102是什么错误:

[oracle@rac01 ~]$ oerr ora 8102
08102, 00000, "index key not found, obj# %s, file %s, block %s (%s)"
// *Cause: Internal error: possible inconsistency in index
// *Action: Send trace file to your customer support representative, along
// with information on reproducing the error

并没有明确的解释8102的错误,这下只能从mos上获取信息了。在mos上搜索到了一篇文章8102.1:

OERR: ORA-8102 "index key not found, obj# %s, file %s, block %s (%s)" (Doc ID 8102.1)

错误描述:

ORA-8102的原因是表或者LOB segment存储的键值和索引不一致造成的,通过出错误中提示的obj#,可以在dba_objects中定位到对象,例如:

select * from dba_objects where object_id = 46115

如果在表和索引真的存在键值不一致,那么下面的分析表命令会报错ORA-1499

analyze table table_name validate structure cascade;

一种非主流的方法可以去查询出不一致的键值,index name是在dba_objects中查询出的索引

select /+ FULL(t1) / indexed_column_list
from table_name t1
minus
select /+ index(t ) / indexed_column_list
from table_name t;

引起ORA-8102的原因有以下几点:

1.Oracle defect:由bug引起
2.Block corruption in the index or in the table:索引或表的坏块
定位索引坏块

analyze index index_name validate structure;

定位表坏块

analyze table table_name validate structure;

3.Hardware / IO
4.Function-based indexes:函数索引

解决方案:

解决方案很简单,重建索引即可:

alter index index_name rebuild online;

相关文章
|
5月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
29天前
|
运维 Java 关系型数据库
【Java笔记+踩坑】SpringBoot基础2——运维实用
SpringBoot程序的打包与运行、临时配置、多环境配置、日志
【Java笔记+踩坑】SpringBoot基础2——运维实用
|
2月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
60 2
|
2月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
28 1
|
2月前
|
应用服务中间件 API 网络安全
运维笔记:宿主机转发实现多容器复用CA证书
运维笔记:宿主机转发实现多容器复用CA证书
30 4
|
2月前
|
数据采集 运维 监控
运维笔记:流编辑器sed命令用法解析
运维笔记:流编辑器sed命令用法解析
47 5
|
2月前
|
运维 安全 网络安全
运维笔记:基于阿里云跨地域服务器通信
运维笔记:基于阿里云跨地域服务器通信
86 1
|
3月前
|
分布式计算 运维 DataWorks
MaxCompute操作报错合集之用户已在DataWorks项目中,并有项目的开发和运维权限,下载数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
2月前
|
SQL 存储 关系型数据库
运维笔记.MySQL.基于mysqldump数据备份与恢复
运维笔记.MySQL.基于mysqldump数据备份与恢复
42 0
|
4月前
|
SQL 运维 分布式计算
DataWorks操作报错合集之购买了独享的调度资源组,在运维界面批量修改调度资源组报错了,而且也没有资源组显示,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
28 0

热门文章

最新文章

推荐镜像

更多