首页 > 解决方案 > 使用 noappend 模式不记录

问题描述

我想用 执行插入语句nologging

如我所见,唯一的方法是APPEND在查询中使用提示。

问题是APPEND提示不能与DML ERROR LOGGING子句一起使用。

就我而言,我必须使用该条款。

APPEND(这实际上意味着吐出表末尾的所有数据而不检查块“孔”)与 之间有什么联系(no)logging?如何应用nologgingwithNOAPPEND模式?

我试图改变-不记录表,但是当语句带有NOAPPEND提示时,REDO 只会增长。

我正在使用 Oracle 11g。

谢谢你。

标签: oracleperformancelogging

解决方案


APPEND提示和NOLOGGING选项只是在直接路径写入和传统写入之间切换的不同方式。APPEND提示用于 SQL 语句,是表或表空间的NOLOGGING一个选项。

这里的问题是直接路径写入不适用于 DML 错误日志记录,据我所知,没有直接的解决方法。没有提示和选项的神奇组合可以使这些功能协同工作。

可能还有其他方法可以提高性能。例如,该语句可以并行运行,但使用常规写入。或者,如果您只对记录一些特定约束的错误感兴趣,您可以禁用这些约束,在直接路径写入中执行更改,启用约束并记录约束异常,然后删除阻塞的行约束。


推荐阅读