我有一种情况,我需要将 Oracle 9i 归档日志传输到 Oracle 10g 数据库,从那里它们将由日志挖掘器挖掘,然后由 Oracle 流捕获/应用进程使用。
(Oracle 9 归档日志可以被 Oracle 10 logminer 读取 - 我可以手动复制归档日志,手动注册它们并对其进行挖掘、捕获然后应用)。
困难在于 Oracle 归档日志传输的方式在 9i 和 10g 之间发生了很大变化,并且设置 9i 数据库以传输到远程机器,如下所示:
log_archive_dest_state_2 = enable
log_archive_dest_2 = "service=OTHERMACHINE arch optional"
不再工作。
我在 9i 日志中得到了这个:
*** 2009-05-22 04:03:44.149
RFS network connection lost at host 'OTHERMACHINE'
Error 3113 attaching RFS server to standby instance at host 'OTHERMACHINE'
Error 3113 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'OTHERMACHINE'
Heartbeat failed to connect to standby 'OTHERMACHINE'. Error is 3113.
*** 2009-05-22 04:03:44.150
kcrrfail: dest:2 err:3113 force:0
ORA-03113: end-of-file on communication channel
在 10g 日志中我得到:
Fri May 22 04:07:42 2009
WARNING: inbound connection timed out (ORA-3136)
我的问题是:
有谁知道我如何配置我的 9i 或 10g 服务器,以便 10g 服务器将接受 9i 连接,以便我可以将 9i 存档日志传输到 10g 服务器。如果存档日志会自动注册到 10g 服务器中,那将是一个额外的好处。
注意我没有在这里设置完整的 DataGuard 配置,并且 10g 数据库不是辅助服务器。
感谢您的任何建议。
编辑
注意,我可以通过sqlplus从9i服务器登录到10g服务器,所以连接不是问题
编辑 2
经过大量时间寻找解决方案后,我最终决定这种机制不起作用,需要使用非 Oracle 方法将归档日志从 9i 传输到 10g(例如 rsync)。