有一些关于直接路径和数据保护的帖子,但我只是想确切地了解它是如何工作的。
我怎么可能做了一个不正确的假设,但是如果直接路径意味着它写入数据文件(根据文档)那么这是否意味着没有生成重做?
如果没有生成重做,那么 dataguard 是如何工作的?(这完全基于将重做转移到备用机器吗?)
我们有一个相对经典的场景,其中应用程序生成的查询的日期子句对给定日期使用“大于”。
因为日期范围没有结束子句,oracle 没有选择使用日期索引,而是最终进行了非常昂贵的表扫描。但是我们知道这些数据是暂时的,所以我们知道未来没有数据。因此,如果我们修改 sql 以包含该时间段的 sysdate 结束日期,那么查询将使用索引并且它变得非常便宜。
不幸的是,由于我们使用的应用程序存在错误,我们无法更改应用程序。那么在 Oracle 中有什么方法可以“教”oracle 该表中的最大数据是今天,所以它可以做出明智的决定,或者是在数据库级别解决这个问题的唯一真正方法来固定计划?
Rgds,丹
(Oracle 10 Solaris Sparc)