2014-02-05 3 views
1

나는 이론에서 질문이있다. 내 응용 프로그램에서 Odp.Net을 사용합니다. Oracle.DataAccess.dll 버전 2.112.3.0을 참조 파일로 추가합니다. 데이터베이스 쿼리에 Odp.Net을 사용하고 레지스트리 쿼리 알림을 사용하고 있습니다. 각 컴퓨터에 http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html에서 ODAC 11.2 Release 5 (11.2.0.3.20)를 설치합니다.Odp.Net - 클라이언트 및 서버에 따라

내 Odp.Net 버전, Oracle 클라이언트 버전 (클라이언트 시스템에 설치할 수 있음) 및 Oracle 서버 버전간에 어떤 종속 관계가 있는지 알고 싶습니다.

문제는 내가 쿼리 알림을 등록한 후 USER_CHANGE_NOTIFICATION_REGS 테이블에서 행을 볼 수 있다는 것입니다. 그러나 몇 초 후에이 알림은 등록이 취소되고 사라집니다. 나는 이것이 버전 문제와 관련이 있다고 읽지 만, 내가 뭘해야하는지 이해할 수 없다.

내 목표는 내 응용 프로그램에서 동일한 Odp.Net 파일 (Oracle.DataAccess.dll + oci.dll과 같은 몇 가지 추가 종속성 등)을 사용하는 것입니다.

답변

0

해결 오라클 서버 버전 11.2.0.1.0 및 11.2.0.2.0 버그가 있습니다. 다른 버전의 클라이언트가 이벤트를 등록하면 첫 번째 데이터베이스가 변경된 후 자동으로 등록이 취소됩니다. 이 문제를 해결하려면 지속 명령을 사용해야합니다. 시스템 세트 이벤트 변경 '10867 추적 이름 컨텍스트 영원히, 수준 1, COMMENT ='komentarz 'SCOPE = SPFILE;

+1

위의 해결 방법은 해결 방법이므로 장기적으로 사용해서는 안됩니다. 올바른 수정은 데이터베이스와 odp.net 클라이언트를 패치하는 것입니다. 이것은 매우 오래된 버그이며, 둘 다 최신 패치 세트로 해결할 것입니다. –

1

ODP 버전

를 해독

ABCD (예 : 2.112.3.0) :

  • (귀하의 경우 2.0 이상) A (2) 닷넷 버전
  • B (112) 오라클 클라이언트 버전 (귀하의 경우 11.2 이상)
  • C, D (3, 0) ODP 버전 (Oracle 클라이언트 11.2)

또 다른 엑사을위한 닷넷 2.0 ODP의 3D 버전 mple : "4.100.1.0"- ODP for .Net 4.0+ 및 Oracle Client 10.0+ 1st 버전

+0

왜 서버 10.2.0.4.0 및 클라이언트 10.2.0.3.0 변경 알림이 잘 작동하지만 서버 11.2.0.1.0 및 클라이언트 10.2.0.3.0에서는 작동하지 않습니다 (예 : db에서 알림 사라짐). 몇 초 후). 두 경우 모두 동일한 odp 2.112.3.0을 사용합니다. – templaris

0

변경 알림과 관련하여 11.2.0.1 데이터베이스에 버그가있었습니다.

다음 SQL은 이전 버전의 버그 코드 경로를 피하기 위해 오라클의 원인,하지만 당신은 데이터베이스 업그레이드하는 것이 좋다 ', 레벨 1을 영원히 10,867 추적 이름 컨텍스트'

ALTER 시스템 설정 이벤트를;

이것은 영구적 인 해결책이 아닙니다. ODP.NET을 모두 업그레이드하고 데이터베이스를 최신 11.2 패치 세트로 패치해야합니다.

기독교 셰이

오라클

+0

당신의 솔루션에 대해 알고 있었지만 1) 서버가 11.2.0.2 버전 일 때도 알았습니다. 그리고 시스템을 변경 한 후에도 알림을받지 못합니다. 2) 모든 작업이 시간에만 있습니다. 서버를 다시 시작하면 문제가 해결되고 영구적 인 시스템 변경을 추가 할 수 있습니까? – templaris

+0

이 변경 시스템으로 문제가 해결되면 버그가 발생합니다. 업그레이드되는 데이터베이스 외에 ODP.버그 수정을 위해 NET을 업그레이드해야합니다. 릴리스 노트에이 점에 대한 언급이 있어야한다고 생각합니다. –