文档章节

ORA-08102 index key的错误恢复

 突突突酱
发布于 03/01 17:02
字数 676
阅读 2
收藏 1
 

一 总体描述

自己的实验虚拟数据库中的alert不停的报下面的错误.alert日志刷的闹心.

Sun Jun 10 23:44:42 2012

Errors in file/u01/app/oracle/product/10.2.0/db_1/admin/testb/bdump/testb_j000_4944.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08102: index key not found, obj# 239, file 1, block 1674 (2)

ORA-12012: error on auto execute of job 21

ORA-08102: index key not found, obj# 239, file 1, block 1674 (2)

 

二 操作环境

OS

$cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

$uname -a

Linux stu00 2.6.18-238.el5 #1 SMP Tue Jan 4 15:24:05 EST 2011 i686 i686 i386 GNU/Linux

DB

SQL> set lines 150

COL PRODUCT FORMAT A55

COL VERSION FORMAT A15

COL STATUS FORMAT A15

SELECT * FROM PRODUCT_COMPONENT_VERSION;SQL> SQL> SQL> SQL>

PRODUCT VERSION STATUS

 

NLSRTL 10.2.0.4.0 Production

Oracle Database 10g Enterprise Edition 10.2.0.4.0 Prod

PL/SQL 10.2.0.4.0 Production

TNS for Linux: 10.2.0.4.0 Production

SQL>

other

三 排错思路概况

1.报错信息ORA-12012: error on auto execute of job 21,ORA-08102: index keynot found, obj# 239, file 1, block 1674 (2) 是由于job 21执行的时候没有找到索引key.所以alert日志不停的刷.

2.查询job

3.查询索引

4.重建索引

四 详细步骤操作

1.查看 /u01/app/oracle/product/10.2.0/db_1/admin/testb/bdump/testb_j000_4944.trc文件内容(汗,看不懂,这里跳过)

2.根据排错思路查看job 21的情况:

SQL> r

1* select job,log_user,interval,what from dba_jobs where job=21

JOB LOG_USER INTERVAL WHAT

 

21 SYS sysdate + 1 / (24 * 60) EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS;

SQL>

原来是EM的维护操作,1分钟执行一次.

3.查询obj# 239号是什么obj:

SQL> r

1* select owner,object_name,object_id,object_type,status from DBA_OBJECTS where OBJECT_ID=239

OWNER OBJECT_NAM OBJECT_ID OBJECT_TYPE STATUS

 

SYS I_JOB_NEXT 239 INDEX VALID

SQL>

obj# 239真是一个索引哈,看status是valid的,这里竟然不一致.不管为什么不一致了,先解决这个alert再说. (嘿嘿,实验机有快照,有兴趣再研究的请留言)

4.重建问题索引:(使用在线重建方式)

SQL> ALTER INDEX I_JOB_NEXT REBUILD ONLINE;

Index altered.

SQL>

5.观察alert日志是否还有错误产生.

6.日志已无报错.

五 个人总结

面对报错不要心急,静心的去分析每一个报错提示.官方支持文档中有说使用索引重建方式依然解决不了alert日志报错的.唯有重建索引一种方式.这里附上使用dbms_metadata.get_ddl查找索引ddl的方式.

SQL> select DBMS_METADATA.GET_DDL('INDEX','I_JOB_NEXT','SYS') from dual;

DBMS_METADATA.GET_DDL('INDEX','I_JOB_NEXT','SYS')

 

CREATE INDEX "SYS"."I_JOB_NEXT" ON "SYS"."JOB$" ("NEXT_DATE")

PCTFREE 10 I

SQL>

六 资料参考引用

ORA-08102: TRYING TO MANIPULATE A JOB IN DBA_JOBS [ID 1036858.6]

© 著作权归作者所有

粉丝 3
博文 213
码字总数 159064
作品 0
私信 提问
【BBED】BBED模拟并修复ORA-08102错误

【BBED】BBED模拟并修复ORA-08102错误 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~...

小麦苗best
2018/06/29
0
0
存储Cache 丢失导致数据库无法open的案例

存储Cache 丢失导致数据库无法open的案例 love wife & love life --Roger2017-09-276 阅读 Indexkeybackup 本站文章除注明转载外,均为本站原创: 转载自 love wife & love life —Roger的O...

love wife & love life --Roger
2017/09/27
0
0
数据库open遭遇ora-01555错误

数据库open遭遇ora-01555错误 love wife & love life --Roger2017-07-0928 阅读 backupOracle 本站文章除注明转载外,均为本站原创: 转载自 love wife & love life —Roger的Oracle&MySQL技...

love wife & love life --Roger
2017/07/09
0
0
解决RMAN-06023: no backup or copy of datafile 4 ……?

问题说明:之前使用备份集进行rman恢复,做了一次成功后,再次使用这个备份集进行恢复,出现了下面的错误 RMAN> restore database; Starting restore at 20-JUN-16 using channel ORADISK1 R...

LionelShen
2016/06/22
437
0
故障诊断 | 存储Cache丢失导致数据库无法open的案例分享

当存储Cache由于丢失时,我们应该如何处理,让数据库重新能够open起来呢?让我们听听,云和恩墨 ACE 李真旭分享的这篇案例。 发现问题 最近某客户的一套核心数据库由于存储问题导致清掉Cache...

技术小能手
2018/01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 快速安装详解

一、Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамбле...

网络小虾米
27分钟前
4
0
技术分享 | slave_relay_log_info 表认知的一些展开

作者:胡呈清 slave_relay_log_info 表是这样的: mysql> select * from mysql.slave_relay_log_info\G *************************** 1. row *************************** Number_of_lin......

爱可生
29分钟前
3
0
nginx配置http访问自动跳转到https

server {listen 80;server_name www.域名.com;rewrite ^(.*) https://$server_name$1 permanent;}server {listen 443;server_name www.域名.com;root /home/www;ssl on;......

很好亦平凡ms
29分钟前
4
0
SpreadJS:一款中国研发的类Excel开发工具,功能涵盖Excel的 95% 以上

Excel 作为一款深受用户喜爱的电子表格工具,借助其直观的界面、出色的计算性能、数据分析和图表,已经成为数据统计领域不可或缺的软件之一。 基于Excel对数据处理与分析的卓越表现,把Excel...

葡萄城技术团队
30分钟前
3
0
用javafx框架tornadofx做了个天气预报的程序

class WeatherApp : App(WeatherView::class)class WeatherView : View("十五天天气预报") { val weatherVM: WeatherViewModel by inject() val controller: WeatherController by......

oschina4cyy
33分钟前
4
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部