kcbgtcr 错误小记March 4, 2010
kcbgtcr 是Oracle数据库最重要的函数之一,其含义为:Kernal Cache Buffer GeT Cosistents Read,也就是数据库的一致性读操作,后面的代码有很多种,代表在不同的层面上出现问题。
Metalink 的 Note 415773.1 - Diagnostics and Solutions for kcbgtcr() Related Internal Errors记录了与此相关的很多问题。
ORA-00600 3020 错误案例一则March 2, 2010
出现这个错误后,恢复中断,无法继续,3020错误在Metalink上的解释,主要原因是在恢复时发现Redo里面记录的信息和被恢复的数据块信息不一致,导致恢复无法继续。比如Update Some record from 3 to 2,结果发现该记录根本不是3,恢复无法继续。
SMON: recover undo segment与事务恢复February 23, 2010
在一些系统异常之后,尤其是一场Down机之后,数据库里可能会看到类似如下的提示信息:
SMON: about to recover undo segment 23
SMON: mark undo segment 23 as available
这些信息意味着,数据库需要这些回滚段的信息去恢复一些未完成事务,多数情况下,这些事务都能够得到恢复,但是如果不幸,在异常宕机时丢失了部分 Write操作,则可能无法完成恢复,出现灾难。
IMP-00009 abnormal end of export fileMay 14, 2009
这中情况通常是因为导出文件异常,当导如最后发现异常时,会回退所有操作。
回退在数据库处理是正常的,因为导出文件异常可能导致局部数据丢失,数据的一致性和完整性是无法确保的。
可是在用户环境下,数据是为了导入测试环境进行测试,而且导入据说花费了4个小时,漫长等待得到的是回退的答案,这在用户看来是不可接受的。
如何快速找到备份过最近、最大序号的归档日志April 23, 2009
这里我们可以用另外一个命令: LIST BACKUP OF ARCHIVELOG FROM SEQUENCE seq_no [THREAD thread_no];
选择一个合适的SEQuence号,接下来这个命令会将备份过的日志按照序号展现出来,非常便于观察。
对于RAC环境不同的Thread可以加上不同的Thread号。
使用10203事件跟踪Oracle块清除April 20, 2006
Oracle的10203事件可以用来跟踪数据库的块清除(cleanout)操作,从事件列表中,我们可以知道该时间的含义为:block cleanout 。 该事件需要在系统级设置,重启数据库后生效: SQL> alter system set event="10203 trace name context forever" scope=spfile; System altered. SQL> shutdown immediate;Database closed.Database...
_disable_logging如何禁用日志April 14, 2006
在非归档模式下(归档模式会导致日志损坏),使用_disable_logging可以禁止日志的生成,从而可以提高某些特殊操作(如批量加载或Benchmark测试等)的性能. 我们可以来看一下这个禁止是如何完成的. 启动2个Session,一个用于管理,一个用于测试. 1.Session 1 ,使用SYS用户连接数据库,当前_disable_logging未设置,数据库处于正常状态 $ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Fri Apr 14...
A data block SCN is ahead of the current SCN. The ORA-600 [2662] occurs when an SCN is compared to the dependent SCN stored in a UGA variable. If the SCN is less than the dependent SCN then we signal the ORA-600 [2662] internal error.
ORA-00600 [2662]错误解决过程October 19, 2005
ORA-600 [2662] "Block SCN is ahead of Current SCN",说明当前数据库的数据块的SCN早于当前的SCN,主要是和存储在UGA变量中的dependent SCN进行比较,如果当前的SCN小于它,数据库就会产生这个ORA-600 [2662]的错误了。这个错误一共有五个参数,分别代表不同的含义
What's mean Oracle PE lock from v$lock?October 19, 2005
今天同事维护一个数据库,说观察到大量的PE锁竞争: 14:44:34 SQL> select * from v$Lock; ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK -------- -------- ----------...
关于proof阵营和voodoo阵营的论战September 21, 2005
所谓的proof阵营,这是我自己起的名字,包含我们所尊敬的Tom,JL等大师。 所谓的voodoo阵营,这是根据Howard J. Rogers发表的Voodoo Tuning一文而来,eygle在Howard J. Rogers创造的新词组:Voodoo Tuning中也谈过一些看法,包括我们所熟知的(此处未用尊敬一词,个人立场已经很是鲜明,惭愧惭愧)Don,Mike等专家。 之所以又提到这个由来已久的论战,是因为今天收到dba-oracle的邮件,提到Mike Ault有新作describing the current Oracle myths and traps发表,但是邮件上给你URL居然不对,ft......于是就直接上dba-oracle找了一下,如果没有更新的文章的话,那么应该是这篇 Oracle Myths Revisited,同时又注意到Mike Ault还有另外一篇...
How to repair corruption block use BBED?September 12, 2005
前面我已经介绍了如何使用BBED模拟坏块,本文简要介绍如何使用BBED修复损坏的BLOCK。 1.备份数据文件 要想恢复损坏的文件,需要存在一个良好文件,本文简单冷备份一下文件. [oracle@jumper conner]$ cp users01.dbf users01.dbf.bak 2.修改BBED参数文件 加入备份文件 [oracle@jumper conner]$ vi filelist.txt 1 /opt/oracle/oradata/conner/system01.dbf 440401920 2 /opt/oracle/oradata/conner/undotbs01.dbf 104857600...
Jonathan Lewis: Can we have a sensible debate ?April 21, 2005
看来Don Burleson从来都没打算停止狡辩,最近Don又提出了一个 “Empirical” vs. “Research” DBAs的论题,邀请Jonathan Lewis等人参与,feel free to join the discussion,我已经不止一次见Don搬出这句话来。 中间一段非常有意思: Jonathan说一开始Don就提出: Remember the rule here that everyone...
Control SCN of Undo SegmentsApril 21, 2005
在回滚段头有一个重要的数据结构称为:Control SCN.
这个SCN是最近一个被重用的事务槽的SCN(重用是按事务的先后顺序重用的)。如果Control SCN比查询的Snapshot SCN新,那么Oracle不会试图去构造前镜像,而是马上返回ORA-01555错误,因为这个UNDO信息肯定已经被覆盖了。
通过Oracle10g的flashback transaction query新特性进行事务撤销March 30, 2005
具备了flashback version query查询的基础,我们就可以进行基于flashback version query的恢复.
这就是flashback transaction query。flashback transaction query可以从FLASHBACK_TRANSACTION_QUERY中获得指定事务的历史信息以及Undo_SQL,通过这个UNDO_SQL,我们就可以恢复特定的事务。
Oracle10g的Flashback version QueryMarch 30, 2005
Oracle10g通过Flashback Version Query提供查看对数据库事务级改变的方法. 当闪回事务处理查询与闪回版本查询同时使用时,我们可以轻易地从用户或者应用程序错误恢复。 以下是闪回版本查询的示例: 1.执行DML操作 EYGLE on 30-MAR-05 >create table t as select username,user_id from dba_users; Table created. EYGLE...
使用Oracle10g的Flashback Query进行数据闪回March 30, 2005
Oracle10g对于闪回查询进行了增强,支持更简单的SQL操作,允许对误删除、误更新等DML操作进行闪回。 看一下以下测试: 1.原表记录 $ sqlplus eygle/eygle SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005 Copyright (c) 1982,...
如何启用Oracle10g闪回数据库特性March 29, 2005
1.确认当前模式 SYS AS SYSDBA on 29-MAR-05 >select flashback_on from v$database; FLA --- NO 2.检查/修改恢复区设置 SYS AS SYSDBA on 29-MAR-05 >show...
Use RMAN to Manage BackupSetOctober 12, 2004
With Oracle 9iR2, We have a new way to let RMAN to manage backupset better.
That is CONFIGURE RETENTION POLICY command .