etl2007 发表于 2014-7-21 19:01:57

forceloggin 对direct sqlloader也生效啊?

as we all know ,dataguard   的主备库 同步是基于日志拷贝的
又as we all know, sql loader 这个工具导入数据的时候,提供一个direct 参数,即是文件级别的拷贝,而不经过oracle SQL引擎的处理
                  即不会产生日志
                  
那现在问题来了,如果sql loader direct导入方式不产生日志,那么dataguard对这部分导入的数据如何同步呢?
貌似按照 dataguard现在的机制,是没有办法处理的啊?

当然现在 dataguard现在提供了 forcelogging 的手动
如果设置了设置了这个
是否意味着 sql loader direct 不生效,也是要经过sql 引擎产生sql语句,然后产生redo log呢?

Maclean Liu(刘相兵 发表于 2014-7-27 14:30:29

",即是文件级别的拷贝" 这样说是不对的, 只能说是直接路径 批量加载

“貌似按照 dataguard现在的机制,是没有办法处理的啊?”

==》如果没有FORCE LOGGING,那么会 导致 http://www.askmaclean.com/archives/nologging-unrecoverable.html 的问题

“是否意味着 sql loader direct 不生效,也是要经过sql 引擎产生sql语句,然后产生redo log呢?”

直接路径批量加载也可以选择 产生日志的

zengmuansha 发表于 2014-7-31 09:19:07

你的是主库设置了FORCELOGGIN?

etl2007 发表于 2014-8-3 07:41:44

zengmuansha 发表于 2014-7-31 09:19 static/image/common/back.gif
你的是主库设置了FORCELOGGIN?

是的,主库设置了forcelogging

etl2007 发表于 2014-8-3 07:46:41

Maclean Liu(刘相兵 发表于 2014-7-27 14:30 static/image/common/back.gif
",即是文件级别的拷贝" 这样说是不对的, 只能说是直接路径 批量加载

“貌似按照 dataguard现在的机制, ...

即是文件级别的拷贝" 这样说是不对的, 只能说是直接路径 批量加载

我意思就是直接写 数据库文件,不经过SGA,PGA,直接写文件数据文件
我记得是直接写数据文件中数据块
我之前的说法不严谨,我并不是指从 被导入文件 到 数据文件的拷贝。

etl2007 发表于 2014-8-3 07:50:06

Maclean Liu(刘相兵 发表于 2014-7-27 14:30 static/image/common/back.gif
",即是文件级别的拷贝" 这样说是不对的, 只能说是直接路径 批量加载

“貌似按照 dataguard现在的机制, ...

直接路径批量加载也可以选择 产生日志的

这个会吗?direct 这个就表示了不会产生日志啊?

Maclean Liu(刘相兵 发表于 2014-8-3 22:26:01

direct的 未必是nologging的,可以自己做下相关实验
直接写数据文件 也不可能完全绕过PGA的。

如有不同的看法,请给出 相应文档出处或者 实验过程。

zengmuansha 发表于 2014-8-8 15:27:09

etl2007 发表于 2014-8-3 07:41 static/image/common/back.gif
是的,主库设置了forcelogging

Forcelogging 好像是必须写日志的吧
页: [1]
查看完整版本: forceloggin 对direct sqlloader也生效啊?