2010-03-19 91 views
1

有没有人有10g和11g之间的数据库链接经验?10g和11g之间的Oracle数据库链接

这是受支持的设置/操作?可能吗?有什么问题吗?注意事项?

+0

将安装11g在接下来的几周内测试此设置。对于这方面的经验,仍然会有更多的回应。 – JavaRocky 2010-03-22 23:24:21

回答

4

我一直在使用从11g到10g的DB链接。没有大问题。

唯一需要注意的是,11g可以使用混合大小写的密码,如果您尝试从10g数据库连接到11g数据库,则可能需要将其关闭。

+0

谢谢。您是否考虑过使用大写密码来连接10g到11g,仍然允许混合大小写密码? – JavaRocky 2010-03-19 02:49:39

1

有时候会出现问题,当从11G链接到10.2.0.4时。

Oracle Support Doc ID 730423.1:选择本地功能和远程表使用Dblink挂起由于Enq DX。

+0

谢谢。继承人一些参考。 http://www.ora600.be/node/1955 http://surachartopun.com/2008/12/dbink-hangs-enq-dx-contention.html – JavaRocky 2010-03-21 22:26:37

1

如果你在11g中有一个外连接查询,也使用IN或OR,并且这些表是通过db_link引用到10g,那么也可以抛出ORA-01719。

11g到11g的工作原理是10g到10g - 如果你从11g到10g的db_link,就会出现。

具体来说,我目前使用11.2.0.1到10.2.0.3看到这个问题;和11.2.0.2至10.2.0.4。以及不同的操作系统版本:Windows和Solaris。在目标10g和11g数据库

运行以下命令:

创建您11克db_links(DB10,DB11)连接数据库的10g和11g的链接数据库两者。

运行这些查询在11克连接数据库:

/* this will fail 11g to 10g*/ 
SELECT * 
FROM [email protected] a, 
(SELECT * 
FROM [email protected] 
WHERE c1 IN (1, 2, 3)) b 
WHERE a.c1 = b.c1(+); 

/* this will work 11g to 11g*/ 
SELECT * 
FROM [email protected] a, 
(SELECT * 
FROM [email protected] 
WHERE c1 IN (1, 2, 3)) b 
WHERE a.c1 = b.c1(+); 
2

在选择列表与DBLINK视图不再能够从另一个架构通过同义词(使用甲骨文10工作)

访问

视图

create or replace foo_view as 
select [email protected] id --yes, I know this is stupid... legacy code 
from [email protected] 

在其他DB用户

create synonym foo_synonym for otherdb.foo_view 

选择foo_synonym: “用于远程数据库ORA-02019连接描述未找到”

的解决方案是,以除去从底层视图的选择子句 dblinks(这不应该真正在那里在首位) :

create or replace foo_view as 
select foo.id id 
from [email protected] foo