다음을 통해 공유


Azure Data Factory 및 Azure Synapse에서 Oracle 커넥터 문제 해결

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 및 Azure Synapse의 Oracle 커넥터와 관련된 일반적인 문제를 해결하기 위한 제안 사항을 제공합니다.

오류 코드: ArgumentOutOfRangeException

  • 메시지: Hour, Minute, and Second parameters describe an un-representable DateTime.

  • 원인: Azure Data Factory 및 Synapse 파이프라인에서 DateTime 값은 0001-01-01 00:00:00~9999-12-31 23:59:59 범위에서 지원됩니다. 그러나 Oracle은 이보다 큰 범위의 DateTime 값을 지원하므로(예: 기원전 세기, min/sec>59 등), 이로 인해 오류가 발생하게 됩니다.

  • 권장 사항:

    Oracle의 값이 지원되는 날짜 범위 안에 있는지 확인하려면 select dump(<column name>)을 실행합니다.

    결과에서 바이트 시퀀스를 확인하려면 How are dates stored in Oracle?(Oracle에서 날짜가 저장되는 방식)을 참조하세요.

자체 호스팅 통합 런타임 버전 5.36.8726.3 이상을 사용할 때 보안 알고리즘을 추가합니다.

  • 증상: 자체 호스팅 통합 런타임 버전 5.36.8726.3 이상을 사용하는 경우 다음 오류 메시지가 표시됩니다. [Oracle]ORA-12650: No common encryption or data integrity algorithm.

  • 원인: 보안 알고리즘이 Oracle 서버에 추가되지 않았습니다.

  • 권장 사항: Oracle 서버 설정을 업데이트하여 다음 보안 알고리즘을 추가합니다.

    • 다음 알고리즘은 OpenSSL에 의해 안전한 것으로 간주되며 OAS(Oracle Advanced Security) 암호화를 위해 서버로 전송됩니다.

      • AES256
      • AES192
      • 3DES168
      • AES128
      • 3DES112
      • DES
    • 다음 알고리즘은 OpenSSL에 의해 안전한 것으로 간주되며 OAS(Oracle Advanced Security) 데이터 무결성을 위해 서버로 전송됩니다.

      • SHA256
      • SHA384
      • SHA512

오류 코드: UserErrorFailedToConnectOdbcSource

이 오류 코드와 관련된 오류 메시지는 세 가지가 있습니다. 각 오류 메시지의 원인과 권장 사항을 확인하세요.

  • 메시지: "Cannot load trust store", or "SSL Handshake Failure reason [error:OA000086:SSL routines::certificate verify failed]"

  • 원인: truststore는 OpenSSL 3.0에 적합하지 않습니다. truststore 파일은 RC4, MD5, SHA1과 같은 약한 암호화를 사용하여 생성되기 때문입니다.

  • 권장 사항: AES256과 같은 강력한 암호화를 사용하여 truststore를 다시 생성해야 합니다. truststore를 사용하여 TLS 연결을 설정하는 방법에 대한 자세한 내용은 이 섹션을 참조하세요.


  • 메시지:
    SSL Handshake Failure reason[Unknown SSL Error]
    SSL Handshake Failure reason [error:OA000410:SSL routines::sslv3 alert handshake failure]

  • 원인: 서버가 SSL 통신을 위한 강력한 암호화로 구성되지 않았습니다. OpenSSL 3.0에서는 SSL 프로토콜 버전이 사용되지 않으므로 TLS 1.0 이상을 사용해야 합니다. 예를 들어 서버는 TLS 1.0까지 TLS 프로토콜 버전과의 연결을 허용할 수 있습니다.

  • 권장 사항: 더 강력한 TLS 버전을 사용하도록 서버 구성을 수정합니다.


  • 메시지: SSL Handshake Failure reason [error:0A00014D:SSL routines::legacy sigalg disallowed or unsupported].

  • 원인: CryptoProtocolVersion이 OpenSSL 3.0에서 사용되지 않는 TLS 프로토콜 버전을 사용하도록 설정되었습니다.

  • 권장 사항: 연결 문자열 속성 CryptoProtocolVersion=TLSv1.2를 지정합니다.

자세한 문제 해결 도움말은 다음 리소스를 참조하세요.