ORA-01157 ORA-01110 错误

环境: OEL 5.9 + 双节点RAC 11.2.0.4 + ASM存储
故障: 在节点1中运行相关命令后报ORA-01157 cannot identify/lock data file 19 - see DBWR trace fileORA-01110错误,节点2正常
原因: 客户连接到RAC上(2节点),执行添加表空间数据文件时,误将数据文件存放在节点2的文件系统中了

Oracle SQL Tuning_01 SQL优化方法论

前言

课程介绍

本课是基于Oracle DSI404e学习Oracle SQL Tuning。DSI是Data Server Internals的缩写,是Oracle公司内部用来培训Oracle售后工程师使用的教材。

DSI课程系统包括:

  • DSI303 Advanced Backup, Restore and recovery Techniques
  • DSI401 Dumps Crashes and Corruptions
  • DSI402 Space and Transaction Management
  • DSI402e Data types and block structures
  • DSI403e Recovery Architecture Components
  • DSI404e Query Optimizer
  • DSI405 Performance TUning
  • DSI408 Real Application clusters Internals

Oracle特殊恢复原理与实战_11 ORA-8102 Index Corruption修复

ORA-8102 Index Corruption修复

ORA-8102解析

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

# 常见于索引键值与表上存的值不一致,可能是ORACLE的bug,也可能是由于硬件I/0错误所引起!

Oracle特殊恢复原理与实战_10 恢复ora-600[4193][4194]的错误

恢复ora-600[4193]的错误

ora-600[4193]解析

ORA-600[41XX] 这种错误基本都于UNDO有关系
ora-600[4193]:表示undo和redo不一致(Arg [a] Undo record seq number,Arg [b] Redo record seq number )
数据库在启动时需要进行一个前滚的操作,在前滚时会应用redo 到undo block上,操作时会检查undo record里的seq#和redo record里的seq#。正常情况下,这2者的seq# 应该是一致的,在一致的情况下,我们才应用redo record 到undo record。如果不一致就会出现ORA-600[4193][a][b]的错误。其中a是undo里的seq#记录,b是redo里的seq#值。 这里的值都是十六进程,可以通过to_number() 函数来转换。

Oracle特殊恢复原理与实战_08 Redo Architecture and Configuration

IMU的好处

IMU(In Memory Undo)顾名思义就是在内存中的undo,现在每次更改data block,Oracle不用去更改这个undo block(也不会生成相应的redo了),而是把undo信息缓存到IMU里去了,只有最后commit或者flush IMU时,这些undo 信息才会批量更新到undo block,并生成redo。可以避免Undo信息以前在Buffer Cache中的读写操作,从而可以进一步的减少Redo生成,同时可以大大减少以前的UNDO SEGMENT的操作。IMU中数据通过暂存、整理与收缩之后也可以写出到回滚段,这样的写出提供了有序、批量写的性能提升。