You are working as a DBA on the decision support system. There is a business requirement to track and store all transactions for at least three years for a few tables in the database. Automatic undo management is enabled in the database. Which configuration should you use to accomplish this task?
A. Enable Flashback Data Archive for the tables.
B. Specify undo retention guarantee for the database.
C. Enable supplemental logging for the database.
D. Query V$UNDOSTAT to determine the amount of undo that will be generated and create an undo tablespace for that size.
E. Create Flashback Data Archive on the tablespace on which the tables are stored.
Answer: A
Explanation:
Flashback Data Archive
在Oracle 11g当中,对闪回技术再次进行了扩展,提供了一个全新的flashback方式,称之为闪回数据归档,我们将对闪回数据归档进行介绍。
一 闪回数据归档概念
在这里让我们从Oracle 9i开始引进的Flashback Query说起,这是Oracle第一次引入闪回技术,该技术使得一些逻辑误操作不再需要利用归档日志和数据库备份进行时间点恢复。
而在Oracle 10g当中,更是引入flashback version query、flashback transaction query、flashback database、flashback table和flashback drop等特性,大大简化了Flashback Query的使用。
在上面的诸多闪回技术当中,除了Flashback Database(依赖于闪回日志)之外,其他的闪回技术都是依赖于Undo撤销数据,都与数据库初始化参数UNDO_RETENTION密切相关(该参数决定了撤销数据在数据库中的保存时间)。它们是从撤销数据中读取信息来构造旧数据的。这样就有一个限制,就是undo中的信息不能被覆盖。而undo段是循环使用的,只要事务提交,之前的undo信息就可能被覆盖,虽然可以通过 undo_retention等参数来延长undo的存活期,但这个参数会影响所有的事务,设置过大,可能导致undo tablespace快速膨胀。
Oracle 11g则为flashback家族又带来一个新的成员:Flashback Data Archive。该技术与以上所说的诸多闪回技术的实现机制不同,通过将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和undo区别开来,这样就可以为闪回归档区单独设置存储策略,使之可以闪回到指定时间之前的旧数据而不影响undo策略。并且可以根据需要指定哪些数据库对象需要保存历史变化数据,而不是将数据库中所有对象的变化数据都保存下来,这样可以极大地减少空间需求。
注意,Flashback Data Archive并不是记录数据库的所有变化,而只是记录了指定表的数据变化。所以,Flashback Data Archive是针对对象的保护,是Flashback Database的有力补充。
通过Flashback Data Archive,可以查询指定对象的任何时间点(只要满足保护策略)的数据,而且不需要用到undo,这在有审计需要的环境,或者是安全性特别重要的高可用数据库中,是一个非常好的特性。缺点就是如果该表变化很频繁,对空间的要求可能很高。
所以选A
B选项,设置undo retention guarantee 是为了延长undo信息的保存时间,但是也不会设置为3年以上,否则太不实际了
C选项,追加日志,我们使用redo日志时是为了恢复故障使用,而不是追踪数据变化时使用
D选项,创建合适的undo tablespace 这种操作就有点驴唇不对马嘴的感觉了,我们生成undo信息的操作不仅仅是针对这些表,我们不可能只为了这几个表就单独的创建undo表空间
E选项,我们创建闪回归档表空间是单独存储在闪回归档区的,我们可以为某些表创建闪回数据归档在闪回数据归档表空间上,而不是在表所在的表空间创建闪回归档表空间,闪回归档是存储在闪回归档表空间上的
转载于:http://blog.itpub.net/26474945/viewspace-744842/