AUM下如何重建UNDO表空间

AUM下如何重建UNDO表空间: 在迁移(同平台)的时候由于UNDO表空间过大,不打算要现在的UNDO文件,想要重建一个,该如何做,是否需要通过一些隐含参数来做特殊处理?前提是拥有一个有效的冷备份(或者Clean Shutdown的数据库)。拥有冷备份,那么这个操作是很简单的,并不需要使用隐含参数。 以下是一个简单的测试过程,重建UNDO表空间的步骤和此类似。⑴ 假定拥有一个Clean shutdown的数据库(以shutdown immediate方式关闭并执行备份): sys@TQGZS11G> shutdown immediate;Database closed.Databa[......]

阅读全文

Oracle 11g 闪回数据归档

Oracle 11g 闪回数据归档: 虽然ORA-01555错误可以通过种种手段来避免和减少,但是随着时间的流逝,这些UNDO信息总会失去,那么能否将这些信息保存起来,使得数据库在一定的历史周期之内可以不断向后追溯,使得我们可以看到一个数据表在任意历史时间点上的切片呢? 从Oracle Database 11g开始,Oracle 提供了一个这样的功能:闪回数据归档(Flashback Data Archive)。通过这一功能Oracle数据库可以将UNDO数据进行归档,从而提供全面的历史数据查询,也因此Oracle引入一个新的概念Oracle Total Recall,也即Oracle全面[......]

阅读全文

ORA-01555 原因与解决

ORA-01555 原因与解决: 前面提到了ORA-01555错误,那么现在来看一下ORA-01555错误是怎样产生的。由于回滚段是循环使用的,当事务提交以后,该事务占用的回滚段事务会被标记为非活动,回滚段空间可以被覆盖重用。那么一个问题就出现了,如果一个查询需要使用被覆盖的回滚段构造前镜像实现一致性读,那么此时就会出现Oracle著名的ORA-01555错误。 ORA-01555错误的另外一个原因是因为延迟块清除(Delayed Block Cleanout)。当一个查询触发延迟块清除时,Oracle需要去查询回滚段获得该事务的提交SCN,如果事务的前镜像信息已经被覆盖,并且查询SCN也[......]

阅读全文

Oracle 10g 闪回查询特性的增强

Oracle 10g 闪回查询特性的增强: Oracle 9i提供了闪回特性增强,为数据恢复带来了极大的方便,但是Oracle 9i的闪回查询只能提供某个时间点的数据视图,并不能告诉用户这样的数据经过了几个事务、怎样的修改(UPDATE、INSERT、DELETE等),而这些信息在回滚段中是存在的,在Oracle 10g中,Oracle进一步加强了闪回查询的特性,提供了以下两种闪回查询:·闪回版本查询(Flashback Versions Query);·闪回事务查询(Flashback Transaction Query)。 闪回版本查询允许使用一个新的VERSIONS子句查询两个时间点[......]

阅读全文

使用ERRORSTATCK进行错误跟踪

使用ERRORSTATCK进行错误跟踪: ERRORSTACK是Oracle提供的接口,用于诊断Oracle的错误信息。诊断事件可以在Session级设置,也可以在系统级设置,通常如果要诊断全局错误,最好在系统级设置。设置了ERRORSTACK事件之后,Oracle会将出错时的信息记入跟踪文件中,然后再出现错误时就可以通过跟踪文件进行错误诊断和排查了。 继续上篇日志的测试,尝试通过ERRORSTACK事件来跟踪ORA-01555错误: sys@TQGZS> alter system set events '1555 trace name ERRORSTACK level 4';Sy[......]

阅读全文