使用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...
ORA-00600 2262错误解决October 24, 2005
继续上一个测试,使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库后,我们说很多时候你会遇到ORA-00600 2662号错误,这个错误的含义是:A data block SCN is ahead of the current SCN. The ORA-600 [2662] occurs when an SCN is compared...
了解raw trace文件的各项内容October 23, 2005
今天浏览metalink,看到这篇Interpreting Raw SQL_TRACE,比较老的一篇文章了,但是确实很有用,所以决定大略翻译一下吧。 我们知道有几种方法可以得到一个SQL语句执行时后台的trace文件,一个是用SQL_TRACE,一个是用DBMS_SUPPORT包或者DBMS_SYSTEM包,还有一种就是直接使用10046 event。 使用10046 event的方法大致如下: alter session set events '10046 trace name context forever, level 12'; your sql...
Oracle Hidden Parameter:_allow_resetlogs_corruptionOctober 19, 2005
提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用。 在使用_disable_logging进一步的测试中,试图通过switch logfile进行日志切换,结果重起居然报出日志文件损坏。 SQL> startup ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable...
Oracle Hidden Parameter:_disable_loggingOctober 19, 2005
提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用。 从Oracle的系统表中,我们知道Oracle存在一个隐含参数_disable_logging可以用于禁用日志生成,这个参数显然只能用于测试目的(可以极大提高Benchmark测试的性能),禁止日志生成必然导致事务的不可恢复性。 SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%logging'; KSPPINM KSPPDESC -------------------- ------------------------------ _disable_logging Disable logging 因为特殊的需要,对这个参数进行了一点简单测试:...
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信息肯定已经被覆盖了。
如何从自动备份中恢复控制文件和SPFILE文件March 30, 2005
启用了自动控制文件备份功能之后,在数据库发生重要改变或备份完成之后,会自动进行控制文件备份,同时备份SPFILE文件。 关于何时进行自动备份,Oracle如下说明: When RMAN Performs Control File Autobackups By default, control file autobackups are turned off, and no control file...
通过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...
使用COPY的镜像文件进行基于表空间/数据文件的恢复March 28, 2005
假设数据文件或表空间丢失之前进行了镜像COPY备份,那么以下过程可以用于参考恢复: 1.查看备份情况 RMAN> list copy ; List of Datafile Copies Key File S Completion Time Ckp SCN Ckp Time Name...
如何重建UNDO TABLESPACEMarch 4, 2005
纯属笔记。 MSN上有朋友问到,在迁移(同平台)的时候由于空间问题,他不打算要现在的UNDO文件,想要重建一个。他打算使用_corrupted_rollback_segments参数。 现在他拥有一个冷备份。 拥有冷备份,那么我们知道这个操作是很简单的,也不用隐含参数: C:\Documents and Settings\gqgai>sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.6.0 - Production on Fri Mar 4 20:55:59...
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 .