2012-03-28 2 views
2

두 개의 Oracle 10.2.0.4 서버 (내부 인트라넷 네트워크 내에 위치하는 서버와 공용 네트워크 액세스를 위해 DMZ 네트워크에있는 서버)가 있습니다. 보안상의 이유로 양방향 방화벽 규칙을 열 수 없기 때문에 인트라넷 -> DMZ에서만 DB 링크를 설정할 수 있지만 다른 방향에서는 설정할 수 없습니다.단방향 방화벽을 통한 Oracle DB (인트라넷) -> (DMZ) 데이터 복제

내 요구 사항은 두 데이터베이스간에 예약 된 간격으로 테이블을 동기화 된 상태로 유지하는 것입니다. 나의 초기 계획은 구체화 된 뷰를 사용하는 것이었지만,이 기술은 할 수없는 양방향 데이터베이스 링크가 필요합니다.

누구나이를 달성하는 방법에 대한 제안 사항이 있으면 크게 감사하겠습니다. 간단한 해결책이 있어야하지만 통찰력이 들려서 기쁘다. 제 3 자 제품을 피하려고 노력하고 있습니다.

+0

두 데이터베이스의 데이터를 수정하여 복제가 양방향이어야합니까? 아니면 둘 중 하나가 다른 하나의 읽기 전용 사본입니까? –

+0

응용 프로그램 요구 사항에 대해 양방향 업데이트를하는 것이 이상적입니다. 비록 당신이 "읽기 전용"방법에 대한 생각을 갖고 있다면, 나는 그것을 듣고 싶어 할 것입니다. 현재 우리가 읽기 전용 솔루션으로 생각하는 것은 매핑 된 네트워크 드라이브에 일종의 데이터 덤프 (전송 가능한 테이블 공간)를 넣은 다음 새 데이터를 업로드하는 예약 된 프로세스입니다. 여기서 문제는 "어리석은"새로 고침입니다. 즉, 마지막 업데이트 이후 전체 델타가 전송 델타와 비교하여 덮어 쓰여집니다. – BJH

+0

나는 내가 따라오고 있는지 잘 모르겠다. 두 데이터베이스의 데이터를 수정하고 있습니까? 그리고 양방향으로 변화가 필요합니까? 아니면 당신이 가지고있는 것이 좋겠지 만 불필요하며 데이터는 한 방향으로 만 흐르게해야합니다. 그렇다면 어떤 방향으로? –

답변

0

내 질문을 마무리하겠습니다. 우리는 1 방향 데이터 푸시 용 스트림을 사용하는 것으로 끝 맺었습니다. 스트림을 구축하려면 초기 양방향 네트워크 트래픽이 필요합니다. 이것은 DMZ를 통해서는 불가능합니다. 그래서 대상 DB (C)와 같은 이름의 더미 DB (B)에 복제하는 스트림으로 원본 DB (A)를 설정합니다. 더미 DB는 A와 동일한 네트워크에 위치합니다. 두 스트림간에 스트림이 설정되면 소스 DB 서버의 호스트 파일을 B에서 C로 변경합니다. 이렇게하면 원하는 복제가 완료되었습니다.