从 Oracle 9i 到 Oracle 10g 的归档日志传输
Posted
技术标签:
【中文标题】从 Oracle 9i 到 Oracle 10g 的归档日志传输【英文标题】:Archive log transfer from Oracle 9i to Oracle 10g 【发布时间】:2009-05-22 04:20:09 【问题描述】:我有一种情况,我需要将 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)。
【问题讨论】:
可以通过dblink从9i服务器到达10g服务器吗? 或者,从 9i 尝试 tnsping:tnsping OTHERMACHINE 我可以 tnsping 并通过 DB 链接和 sqlplus 到达另一台机器。 【参考方案1】:您的数据库是否有最新的补丁?
另外,您的连接通常需要一段时间来进行身份验证吗?在 V10.1 之后,默认 SQLNET.INBOUND_CONNECT_TIMEOUT 设置为 60 秒。在该版本之前,它默认为无限期。
参考 Metalink 345197.1:以前在 Oracle 10.1 中工作的连接现在在 10.2 中出现 ORA-3113、ORA-3106 或 ORA-3136 时断时续
【讨论】:
以上是关于从 Oracle 9i 到 Oracle 10g 的归档日志传输的主要内容,如果未能解决你的问题,请参考以下文章