闪回数据库之后导入数据实验
前面已经讲了闪回数据库,闪回删除和三种形式的闪回查询,下面进行总结。当我们对表进行了truncate操作之后是无法使用闪回删除来进行恢复的,此时我们才会去考虑使用闪回数据库。但是当我们使用闪回数据库将数据库回退到某个时间点的时候也是要付出一些代价的。比如在下午两点的时候你不小心truncate掉一个很重要的...
闪回还原点restore point
闪回还原点flashback restore point有两种,一种是正常还原点normal restore point,一种是担保还原点guaranteed restore point。正常还原点和担保还原点的信息都是存储在控制文件中的,针对这点,二者又是存在区别的:正常还原点的信息如果不手动删除,控制文件是可以自动管理删除的,而担保还原点的信息如果不手动删除...
闪回查询之闪回表查询
闪回表查询:从概念上说,闪回表很简单。oracle将会查询撤销段以提取已更改的所有行,然后构造并执行将会取消更改的语句。闪回操作是一个单独的事务,如果可能,它就会抵消以前所有事务的效果。数据库仍然保持联机并且正常的运行不受影响,除非行锁定成为一个问题。表闪回只是另一个事务,通常的规则仍...
闪回查询之闪回版本查询
一个行在它的生命周期内可能改变多次。闪回版本查询flashback versions query允许查看一个行所有提交的版本(而不能查看任何未提交的版本),包括创建和结束每个版本的时间戳。另外,还可以查看创建了任何特定版本的行的事务的事务标识符,然后可以将它用于闪回事务查询。HR@orcl 08-OCT-14>selectemployee_...
Flashback Query闪回查询
从oracle9i就提供了基本形式的闪回查询:可以查询过去某个时间的数据库状态。工作原理是将查询指定的时间映射到一个scn,每当查询找到自从该scn以来更改的一个块,它将转到撤销段以提取回滚此更改所需的撤销数据。严格上说这种回滚是临时性的,并且仅对运行闪回查询的会话可见,显然,为了成功执行闪回查询,撤销数据必须...
监视闪回数据库
闪回监视最基本的层次是确认确实启用了它:使用命令查询是否启用了闪回数据库:select flashback_on from v$database;SYS@orcl 07-OCT-14>select flashback_on from v$database; FLASHBACK_ON ------------------ YES为了监视当前的闪回能力并估计为满足目标时间闪回日志所需要的空...
限制生成的闪回数据量
启用闪回数据库可能对联机性能造成影响。oracle用来限制写到闪回日志中的数据量的算法是精心设计的,以便尽量减少对性能的影响。默认情况下,如果启用了闪回数据库,那么会记录所有表空间的闪回数据,但是使用如下命令可以关闭表空间的闪回属性:SQL>alter tablespace <tablespace_name> flashback off;或...
Flashback Drop闪回删除
flashback drop闪回删除允许你将之前删除的表(但不是截断的表)恢复到刚好删除它之前的状态,同时还会恢复所有索引以及任何触发器和权限。唯一的主键和非空约束也会被恢复------但不包括外键约束。注意:flashback drop命令仅适用与表。实现闪回删除:在oracle9i及其之前的版本,当删除一个表时,该表的所...
Flashback Database
闪回数据库的体系结构:一旦启用了闪回数据库,那么修改的块的前镜像就会不时地从database buffer cache 中复制到sga中的另一个存储区-----闪回缓冲区。通过一个新的后台进程---恢复写入器Recovery Writer(RVWR)将闪回缓冲区的内容写入到闪回日志中。与重做日志不同的是,闪回日志中记录的并不是记录变化的日志,而是记...
ORA-01555: snapshot too old: rollback segment number with name "" too small
当前数据库有undotbs1和undotbs2两个撤销表空间,和一个空表flash_t,进行如下操作:1.将当前的undo表空间设置为undotbs2,向flash_t中插入数据并提交:SYS@orcl 13-OCT-14>show parameter undo NAME TYPE VALUE ------------------------------------ ----------- --------------------------...