Oracle 데이터베이스 사이의 링크를 10g 및 11g
문제
누군가에 경험이 있는 데이터베이스 사이의 링크를 10g 및 11g?
이 지원되는 설치/운영?이것이 가능합니까?거기에 어떤 문제가 있습니까?주의 사항?
해결책
11g에서 10g까지의 DB 링크를 사용하고 있습니다. 큰 문제가 없습니다.
단지 11G는 혼합 사례 비밀번호를 사용할 수 있으며 10G 데이터베이스에서 11G 데이터베이스로 연결하려는 경우이를 끄는 것이 좋습니다.
다른 팁
뷰 dblink 선택 목록에서 수 있는 더 이상에서 액세스 할 또 다른 스키마를 통해 동의어(에서 작업하는 데 사용 Oracle10)
보기
create or replace foo_view as
select foo.id@link id --yes, I know this is stupid... legacy code
from foo@link
에 다른 사용자 DB
create synonym foo_synonym for otherdb.foo_view
선택 foo_synonym:"ORA-02019 연결에 대한 설명 원격 데이터베이스 발견되지 않았습니다."
이 솔루션을 제거하는 것입 dblinks 에서 기본 뷰의 select (해서는 정말 거기에서 첫 번째 장소):
create or replace foo_view as
select foo.id id
from foo@lin foo
때로는 11g에서 10.2.0.4의 링크가있을 때 때때로 문제가 있습니다.
Oracle Support Doc ID 730423.1 : ENQ DX로 인해 DBLINK 중단을 사용하여 로컬 기능 및 원격 테이블로 선택하십시오.
OR에서 OR에서 사용하는 ORA-01719도 11G에 OR OR OR에 사용되는 경우 DB_LINK를 통해 10G를 참조하는 경우 ORA-01719를 던질 수 있습니다.
11g ~ 11g은 10G ~ 10G와 마찬가지로 작동합니다. DB_LINK가 11g ~ 10g의 경우에 나타납니다.
구체적으로, 현재 11.2.0.1 ~ 10.2.0.3을 사용 하여이 문제를보고 있습니다. 및 11.2.0.2 ~ 10.2.0.4. 다양한 O/S 릴리스 : Windows 및 Solaris.
Target 10G 및 11G 데이터베이스에서 이것을 실행하십시오.
create table u1 (c1 number);
create table u2 (c1 number, c2 number);
insert into u1 values (1);
insert into u1 values (2);
insert into u2 values (1,1);
insert into u2 values (1,2);
commit;
11G 링크 데이터베이스에서 10G 및 11G 링크 된 데이터베이스에 DB_LINKS (DB10, DB11)를 만듭니다.
11G 링크 데이터베이스 에서이 쿼리를 실행하십시오.
/* this will fail 11g to 10g*/
SELECT *
FROM u1@DB10 a,
(SELECT *
FROM u2@DB10
WHERE c1 IN (1, 2, 3)) b
WHERE a.c1 = b.c1(+);
/* this will work 11g to 11g*/
SELECT *
FROM u1@DB11 a,
(SELECT *
FROM u2@DB11
WHERE c1 IN (1, 2, 3)) b
WHERE a.c1 = b.c1(+);