Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

133

积分

0

好友

17

主题
1#
发表于 2013-9-5 10:20:08 | 查看: 3724| 回复: 7
本帖最后由 saup007 于 2013-9-5 10:42 编辑

Oracle 版本 11.2.0.2

SQL> select action,comments from sys.registry$history;

ACTION                         COMMENTS
------------------------------ ------------
APPLY                          Patchset 11.2.0.2.0
APPLY                          PSU 11.2.0.2.3

alter 日志报错如下:Trace文件在附件,谢谢!
  1. Wed Sep 04 20:26:00 2013
  2. Errors in file /u01/app/oracle/diag/rdbms/daxiao/DAXIAO/trace/DAXIAO_ora_21527.trc:
  3. Wed Sep 04 20:26:10 2013
  4. Dumping diagnostic data in directory=[cdmp_20130904202610], requested by (instance=1, osid=21527), summary=[abnormal process termination].
  5. Wed Sep 04 20:27:19 2013
  6. Errors in file /u01/app/oracle/diag/rdbms/daxiao/DAXIAO/trace/DAXIAO_ora_21509.trc:
  7. Wed Sep 04 20:27:22 2013
  8. Dumping diagnostic data in directory=[cdmp_20130904202722], requested by (instance=1, osid=21509), summary=[abnormal process termination].
  9. Wed Sep 04 20:29:50 2013
  10. LGWR: Standby redo logfile selected to archive thread 1 sequence 10764
  11. LGWR: Standby redo logfile selected for thread 1 sequence 10764 for destination LOG_ARCHIVE_DEST_2
  12. Thread 1 advanced to log sequence 10764 (LGWR switch)
  13.   Current log# 1 seq# 10764 mem# 0: /u01/oradata/DAXIAO/redo01.log
  14. Wed Sep 04 20:29:52 2013
  15. Archived Log entry 24581 added for thread 1 sequence 10763 ID 0x57285b76 dest 1:
  16. Wed Sep 04 20:43:42 2013
  17. Errors in file /u01/app/oracle/diag/rdbms/daxiao/DAXIAO/trace/DAXIAO_ora_21509.trc:
  18. Wed Sep 04 20:43:45 2013
  19. Dumping diagnostic data in directory=[cdmp_20130904204345], requested by (instance=1, osid=21509), summary=[abnormal process termination].
  20. Wed Sep 04 22:02:05 2013
  21. Errors in file /u01/app/oracle/diag/rdbms/daxiao/DAXIAO/trace/DAXIAO_ora_21509.trc:
  22. Wed Sep 04 22:02:08 2013
  23. Dumping diagnostic data in directory=[cdmp_20130904220208], requested by (instance=1, osid=21509), summary=[abnormal process termination].
复制代码

DAXIAO_ora_21509.rar

2.51 MB, 下载次数: 814

DAXIAO_ora_21527.rar

1.84 MB, 下载次数: 910

2#
发表于 2013-9-5 10:41:50
本帖最后由 saup007 于 2013-9-5 10:52 编辑
  1. --根据trace文件 oer 8102.2 - obj# 151536, rdba: 0x04b0c98b(afn 18, blk# 3197323)
  2. select owner,object_name,subobject_name,object_id,object_type from dba_objects where object_id=151536;
  3. --P_LOG_ID_184  这是一张分区表的分区索引,前面的值是分区名

  4. select table_owner,table_name,partition_name,high_value from dba_tab_partitions where  table_owner='OWNER' and partition_name='P_LOG_ID_184'
  5. --184000000  找到所在分区对应的值,即存放小于184000000并且大于183000000

  6. select max(login_id) from OWNER.LOG_RECORD_DETAIL where login_id >=183000000;
  7. --183623608  找到最新最大的值,好做比较

  8. --全表扫描,与索引 数据对比,明显少一条记录
  9. SELECT /*+ FULL(t1) */ count(1)
  10. FROM OWNER.LOG_RECORD_DETAIL t1  where login_id >=183000000 and login_id <=183623608

  11.      -- 623609

  12. SELECT /*+ index(t LOG_RECORD_DETAIL_IX2) */ count(1)
  13. FROM OWNER.LOG_RECORD_DETAIL t where login_id >=183000000 and login_id <=183623608;

  14.      -- 623608

  15. --LOG_RECORD_DETAIL表的结构介绍下

  16. 以login_id为主键索引(序列值递增),也是以login_id做分区的。

  17. LOG_RECORD_DETAIL_IX2 是三个列的分区索引LOGOUT_TIME、GAME_ID、GATEWAY_ID

  18. 第二次遇到的时候dbv检查这个索引存在的数据文件,看结果是没有坏块

  19. dbv file=

  20. 1>、文件1

  21. DBVERIFY - Verification complete

  22. Total Pages Examined         : 4193792
  23. Total Pages Processed (Data) : 0
  24. Total Pages Failing   (Data) : 0
  25. Total Pages Processed (Index): 4178689
  26. Total Pages Failing   (Index): 0
  27. Total Pages Processed (Other): 15058
  28. Total Pages Processed (Seg)  : 0
  29. Total Pages Failing   (Seg)  : 0
  30. Total Pages Empty            : 45
  31. Total Pages Marked Corrupt   : 0
  32. Total Pages Influx           : 0
  33. Total Pages Encrypted        : 0
  34. Highest block SCN            : 3849499 (9.3849499)


  35. 2>、文件2

  36. DBVERIFY - Verification complete

  37. Total Pages Examined         : 2818560
  38. Total Pages Processed (Data) : 0
  39. Total Pages Failing   (Data) : 0
  40. Total Pages Processed (Index): 2557153
  41. Total Pages Failing   (Index): 0
  42. Total Pages Processed (Other): 13542
  43. Total Pages Processed (Seg)  : 0
  44. Total Pages Failing   (Seg)  : 0
  45. Total Pages Empty            : 247865
  46. Total Pages Marked Corrupt   : 0
  47. Total Pages Influx           : 0
  48. Total Pages Encrypted        : 0
  49. Highest block SCN            : 4022558 (9.4022558)

  50. 3>、文件3

  51. DBVERIFY - Verification complete

  52. Total Pages Examined         : 3151360
  53. Total Pages Processed (Data) : 0
  54. Total Pages Failing   (Data) : 0
  55. Total Pages Processed (Index): 2958776
  56. Total Pages Failing   (Index): 0
  57. Total Pages Processed (Other): 13473
  58. Total Pages Processed (Seg)  : 0
  59. Total Pages Failing   (Seg)  : 0
  60. Total Pages Empty            : 179111
  61. Total Pages Marked Corrupt   : 0
  62. Total Pages Influx           : 0
  63. Total Pages Encrypted        : 0
  64. Highest block SCN            : 4052885 (9.4052885)


  65. 我想原因是这样:

  66. trace文件的Current SQL 根据login_id给update LOGOUT_TIME、ROLE_LEVEL、MONEY 等等字段(此步执行计划走主键索引),因为logout_time是另一索引字段,维护索引LOG_RECORD_DETAIL_IX2,但LOG_RECORD_DETAIL_IX2索引中无此记录,就报错了

  67. 我以前的解决方式是

  68. alter index owner.LOG_RECORD_DETAIL_IX2 REBUILD PARTITION P_LOG_ID_184 online

  69. begin
  70.   dbms_stats.gather_index_stats( 'owner',indname => 'LOG_RECORD_DETAIL_IX2' ,partname => 'P_LOG_ID_184');
  71. end;
  72. /

  73. 最近已经发生3回了,会不会有更深入的原因没有找到?
复制代码

回复 只看该作者 道具 举报

3#
发表于 2013-9-5 10:59:49
  1. SQL> @?/rdbms/admin/utlvalid.sql

  2. SQL> analyze table owner.LOG_RECORD_DETAIL partition (P_LOG_ID_184) validate structure online into invalid_rows ;

  3. SQL>  select * from invalid_rows;

  4. no rows selected
复制代码

回复 只看该作者 道具 举报

4#
发表于 2013-9-5 15:31:52
未必就一定是索引的问题啊, 考虑把表移动一下吧

回复 只看该作者 道具 举报

5#
发表于 2013-9-5 16:21:12
Table/Index row count mismatch (Doc ID 563070.1)

回复 只看该作者 道具 举报

6#
发表于 2013-9-6 10:26:11
Maclean Liu(刘相兵 发表于 2013-9-5 15:31
未必就一定是索引的问题啊, 考虑把表移动一下吧

表有点大,快2亿的数据了,分区表貌似不能move,估计找时间在线重定义一下。

回复 只看该作者 道具 举报

7#
发表于 2013-9-6 10:45:28
psufnxk2000 发表于 2013-9-5 16:21
Table/Index row count mismatch (Doc ID 563070.1)

Thanks!   

回复 只看该作者 道具 举报

8#
发表于 2013-9-6 11:19:56
扩展阅读哈,这位童鞋最后也是通过move解决的。

如果索引是有效的
alter index rebuild online ,是基于表数据重建索引的

如果索引是无效的
alter index rebuild online ,是基于索引数据重建索引的

如果索引是无效,就不能用online,需要offline 方式rebuild索引
alter index rebuild ;

http://hourim.wordpress.com/2012/02/06/how-to-solve-ora-08102-index-key-not-found/
http://hourim.wordpress.com/2013/06/14/ora-08102-index-key-not-found-part-ii/

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2025-1-4 07:31 , Processed in 0.054491 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569