参考:http://blog.itpub.net/4227/viewspace-714775/

1.告警错误:alert.log

Errors in file /opt/oracle/diag/rdbms/udb/udb/trace/udb_ora_47522.trc  (incident=337044):

ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []

Mon Apr 14 15:05:08 2014

Errors in file /opt/oracle/diag/rdbms/udb/udb/trace/udb_smon_55397.trc  (incident=336833):

ORA-00600: internal error code, arguments: [13013], [5001], [267], [8407725], [5], [8407725], [17], [], [], [], [], []

Non-fatal internal error happenned while SMON was doing logging scn->time mapping.

SMON encountered 6 out of maximum 100 non-fatal internal errors.

2.处理过程—重建索引

ORA-00600: internal error code, arguments: [13013], [5001], [267], [8407725], [5], [8407725], [17], [], [], [], [], []

MOS:可能与267对象以及索引损坏有关,要进行重建

SQL> select object_name,object_type,owner from dba_objects where data_object_id=267;

SMON_SCN_TIME                TABLE                SYS

SMON_SCN_TO_TIME_AUX   CLUSTER             SYS

找到对象:SMON_SCN_TIME 和 SMON_SCN_TO_TIME_AUX

SQL> SELECT index_name FROM dba_indexes WHERE table_name='SMON_SCN_TIME';

INDEX_NAME
     ------------------------------
     SMON_SCN_TIME_SCN_IDX
     SMON_SCN_TIME_TIM_IDX

找到指定的索引:

使用方法1修复索引:

alter index SMON_SCN_TIME_SCN_IDX rebuild;

alter index SMON_SCN_TIME_TIM_IDX rebuild;

使用方法2修复索引:

(1)查找创建索引的语句

select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_SCN_IDX') from dual;
select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_TIM_IDX') from dual;

CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_SCN_IDX" ON "SYS"."SMON_SCN_TIME" ("SCN")
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SYSTEM"
 
 
  CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_TIM_IDX" ON "SYS"."SMON_SCN_TIME" ("TIME_MP")
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "SYSTEM"

(2)删除索引

drop index SMON_SCN_TIME_SCN_IDX ;

drop index SMON_SCN_TIME_TIM_IDX ;

(3)执行上面的语句,重建索引

3.MOS 解释

Section 1> What information needs to be Collected

ORA-600 [13013] [a] [b] [c] [d] [e] [f]
This format relates to Oracle Server 8.0.3 to 10.1
Arg [a] Passcount
Arg [b] Data Object number
Arg [c] Tablespace Relative DBA of block containing the row to be updated
Arg [d] Row Slot number
Arg [e] Relative DBA of block being updated (should be same as [c])
Arg [f] Code
The Second argument would give the information about the data object id.
This would give information about the object involved.
SQL>Select object_name,object_type,owner from dba_objects where data_object_id=<value reported in argment b>
Once the Object is identified run the following :
The below command check if the table has corruption or not .
SQL> Analyze table <owner>.<table name> validate structure online ;
If this goes fine table doesnot have corruption. For next command.
If the above command fails with ORA-1498 go to Section 3
The below command check if table/index has corruption or not
SQL>Analyze table <owner>.<table name> validate structure cascade online ;
If the above command errors out with ora-1499 it indicates a corruption in index.
Go to section 2 for resolution
Run dbverify on the datafile reported in the error
Arg [c] in the ora-0600[13013] would give the Relative DBA
For example
ORA-00600: internal error code, arguments: [13013], [5001], [57353], [155254965], [261],
[155254965], [17], []
Arg [c] --> rdba-->155254965
Use this value and find the file and block number for this dba
select dbms_utility.data_block_address_file(155254965) Rfile# ,dbms_utility.data_block_address_block(155254965) "Block#" from dual;
RFILE# Block#
---------- ----------
37 65717
You an run dbveirfy on datafile with rfile#=37
SQL>Select name from v$datafile where rfile#=37
dbv file=<location of datafile> blocksize=<db_block_size>

Section 2 >How to resolve if a Index is corrupted

You would need to drop and recreate the index
Ensure before dropping the Index
SQL>Spool /tmp/createindex.sql
SQL>Set long 100000000
SQL>Select dbms_metadata.get_ddl('INDEX','<Index name>',<'user name>') from dual
SQL>Spool off
Refer the Following note to Identify the index
Note 563070.1
Title: ORA-1499. Table/Index row count mismatch
Please note if there is just one index in the table then you can use dbms_metadata.get_ddl to get the script of the index and drop and recreate it.

Section 3> How to resolve if table is corrupted

Option a> Backup is available
Ora-1498 would be reported on the table.
The trace file from Ora-1498 would contain following information
Example
Block Checking: DBA = 1066265208, Block Type = KTB-managed data block --->
file 254,block 911992
data header at 0xc00000010118e07c
kdbchk: avsp(816) > tosp(812)
Block header dump: 0x3f8dea78
Object id on Block? Y
seg/obj: 0x155b452 csc: 0x05.7b2b4ee6 itc: 3 flg: E typ: 1 - DATA
brn: 0 bdba: 0x3f8dde0c ver: 0x01
inc: 0 exflg: 0
Note the DBA value reported in the trace file DBA = 1066265208
Convert this to find the file number and block number having issue
Sql>Select dbms_utility.data_block_address_file('1066265208') from dual ;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE('1066265208')
--------------------------------------------------
254
Sql>Select dbms_utility.data_block_address_block('1066265208') from dual ;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK('1066265208')
---------------------------------------------------
911992
Run dbverify on the datafile containing the table
dbv file=<location of datafile> blocksize=<db_block_size>
Corruption would be reported on the block.
If you have an Rman backup do a Rman block recovery (Take the file number and block number affected from the trace file)
Rman> Blockrecover datafile <no> block <block number>
Or
If you have a user managed backup you can do an restore and recovery from good copy of the problematic datafile
Option b> Backup is not available
If no backups are available then use event 10231 at session level to create a salvage table
SQL>alter session set events '10231 trace name context forever, level 10'
SQL> Create table <owner>.salvage_table as select * from <Corrupted table> ;
Rename the Original table to old.
Rename salvage table to Original table name
or
You can use dbms_repair script to mark the block soft corrupt.
Note 556733.1
DBMS_REPAIR SCRIPT

How to resolve when Smon terminates the instance due to Ora-00600[13013]

If Smon is terminating the instance then.
Set event 10513 and startup the database
event="10513 trace name context forever, level 2"
SQL>Startup mount ;
SQL>Show parameter event
SQL>Alter datatabase open ;
Identify the object involved using information from Section 1.

How to resolve the issue if the object involved belongs to system tablespace

System objects are very important.
Please open a Service request with Oracle support if system tables are involved.

Identifying the row having issue when the table is having corruption.

1>Once the error occurs, using the ORA-600 arguments, gather the following information :
ORA-00600: internal error code, arguments: [13013], [5001], [57353], [155254965], [261],
[155254965], [17], []
arg b : [57353] - it is the OBJECT_ID
arg c : [155254965] - it is the block address in Decimal
arg d : [261] - is it the slot number
2. Translate the the block address in Decimal to a file# and block #
select dbms_utility.data_block_address_file(155254965) Rfile# ,dbms_utility.data_block_address_block(155254965) "Block#" from dual;
RFILE# Block#
---------- ----------
37 65717
The Relative file is 37
The block number is 65717
Find the data_object_id for this object
Argument b is Object_id--> 57353
SQL>Select data_object_id ,object_name,owner from dba_objects where object_id=57353 ;
3. Create the rowid using dbms_rowid.rowid_create(1,DATA_OBJECT_ID,FILE#,BLOCK#,SLOT#)
In this case :
select dbms_rowid.rowid_create(1,57353,37,65717,261) from dual;
DBMS_ROWID.ROWID_C
------------------
AAAOAJAAlAAAQC1AEF
4. You can select from table and identify the record causing the issue
SQL> Select * from <owner>.<table name> where rowid='AAAOAJAAlAAAQC1AEF';

Are there any Known Bug

There is a  internal bug number 5085288

fixed in 11.1

Details
ORA-600 [13013] [5001] error can occur on a MERGE command if the DELETE pass encounters a consistent read (CR) error due to the update pass having updated the same
row and column previously.

Check for availability of one off patch using patch 5085288
Bug 4549673

Abstract: ORA-30926 / OERI:13030 during update
Fixed-Releases: 9208 A204 B106
Details:
ORA-30926 (in Oracle 9i) or ORA-600 [13030] (in Oracle10g) can occur
during an update DML. This can occur if an internal ORA-1551 error
occurs and is trapped (1551 errors are not visible to client
code and are trapped and handled internally)
Fixed In Ver: 11.0
Check for availability of one off patch using patch 5085288

转载于:https://www.cnblogs.com/tango-dg/p/3665853.html

【Oracle 故障处理一则】 ORA-600 - 13013处理过程相关推荐

  1. oracle错误01653,oracle 10g 错误 ORA 01653 的解决过程

    oracle 10g 错误 ORA 01653 的解决过程 早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 102 ...

  2. ora00600内部错误代码oracle,ORA-00600: 内部错误代码, 参数: [13013]

    ORA-00600: 内部错误代码 , 参数 : [13013] 数据库版本: Oracle 11.2.0.1.0 数据库服务器操作系统: Windows server 2008 错误号 (1) : ...

  3. oracle 11g job创建,Oracle 11g 手动创建库完整实施过程

    Oracle数据库除了使用DBCA创建数据库的方式外,还可以使用命令手动创建数据库.本文为Oracle 11g手动创建数据库的完整过程,供大家参考使用. 1.修改oracle用户环境变量 $ vim ...

  4. oracle控制文件有坏块处理过程

    oracle控制文件有坏块处理过程 问题 解决方案 问题 客户环境11.2.0.4 rac red6.7 查看集群资源信息 crsctl status res -t 发现: ora.orcl.db 1 ...

  5. oracle olap 不可用,[数据库]ORACLE OLAP错误ORA

    [数据库]ORACLE OLAP错误ORA 0 2015-04-25 00:00:20 刚刚安装了ORACLE 10g R2后,启动数据库时发现告警日志有如下错误: Database Characte ...

  6. Oracle 11g+Windows10 x64安装、配置过程记录

    备注:本想在自己电脑上安装个oracle练习用,但是害怕安装过程中出现问题,而oracle的卸载又是出了名的麻烦,所以用虚拟机搭建了一个跟本机一样的系统,同时记录下安装的每一步. 环境: window ...

  7. ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

    原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE P ...

  8. Oracle客户端tnsnames.ora连接配置

    Oracle客户端tnsnames.ora连接配置 Oracle90的在C:\Oracle\ora90\network\ADMIN下面 Oracel10g的在D:\oracle\product\10. ...

  9. Zabbix-server安装后的故障处理及Zabbix-agent的配置添加过程

    Zabbix-server安装后的故障处理及Zabbix-agent的配置添加过程 故障处理 第一种情况:在其他参数(Iptables.SeLinux等)配置正确的情况下,如果Web界面出现提示信息, ...

最新文章

  1. python分割数字_对python数据切割归并算法的实例讲解
  2. ElasticSearch(一)基础知识
  3. Python 面向对象(初级篇)
  4. Redis:02---安装Redis(Linux+Windows+Docker)
  5. dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...
  6. 安全和anti-sapm的HTML5效果如何
  7. 浮点数的表示,和IEEE754规范化表示
  8. 东软软件动态生成对数据表更新操作的方法
  9. python真的是吹过了-别再无脑吹了,python和matleb有什么不同你知道吗?
  10. 蓝桥杯2015年第六届C/C++B组国赛第一题-积分之迷
  11. 对n个数进行排序(正序或者倒序)--06 年华科计算机保研机试真题
  12. 【专家专栏】浅谈百度搜索排序
  13. 什么是网络Bypass交换机?
  14. 运兴ETF:期权多空双向,策略多样优势大
  15. 有监督学习、无监督学习和半监督学习的分类
  16. 幽暗镰刀:隐私安全下的收割者们
  17. openAL在C++下的易用封装,调用直接播放3D音频,模拟3D音效
  18. 80核处理器_【装机帮扶站】第690期:12核amp;16核怪兽CPU配置推荐
  19. 信息系统项目管理师真题2017下半年附答案解析(1)
  20. 【九】分布式微服务架构体系详解——共识问题

热门文章

  1. 周国平——《爱与孤独》
  2. SpringBoot+redis 实现redis 库存|名额 扣减
  3. ipad iphone开发_如何自定义您的iPhone或iPad的控制中心
  4. Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置
  5. 数据离散化与Python实现
  6. linux的资源管理器关进程,RHCSA 系列(五): RHEL7 中的进程管理:开机,关机
  7. 有趣的CSS实现“勾号”
  8. 关于开发的一些个人理解思路(5W1H分析法)
  9. diy谷蜂Y5刷机包--基于官方0207稳定版
  10. 【智能优化算法】基于矮猫鼬优化算法求解单目标优化问题附matlab代码