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 では、紀元前や 59 より大きい分または秒など、より広い範囲の DateTime 値がサポートされているため、エラーが発生します。
推奨事項:
Oracle の値がサポートされる範囲内にあるかどうかを確認するには、
select dump(<column name>)
を実行します。結果のバイト シーケンスの詳細については、Oracle に格納されている日付に関する記事を参照してください。
セルフホステッド統合ランタイム バージョン 5.36.8726.3 以降を使用する場合にセキュリティで保護されたアルゴリズムを追加する
現象: セルフホステッド統合ランタイム バージョン 5.36.8726.3 以降を使用すると、次のエラー メッセージが表示されます:
[Oracle]ORA-12650: No common encryption or data integrity algorithm
。原因: セキュリティで保護されたアルゴリズムが Oracle サーバーに追加されていません。
推奨事項: まだ含まれていない場合は、Oracle サーバーの設定を更新して、これらのセキュリティで保護されたアルゴリズムを追加します:
SQLNET.ENCRYPTION_TYPES_SERVER の場合、OpenSSL によってセキュリティで保護されていると見なされ、OAS (Oracle Advanced Security) 暗号化に使用される次のアルゴリズムを追加する必要があります。
- AES256
- AES192
- 3DES168
- AES128
- 3DES112
- DES
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER の場合、OpenSSL によってセキュリティで保護されていると見なされ、OAS (Oracle Advanced Security) のデータ整合性に使用される次のアルゴリズムを追加する必要があります。
- SHA256
- SHA384
- SHA512
Note
推奨されるデータ整合性アルゴリズム SHA256、SHA384、SHA512 は、Oracle 19c 以降で使用できます。
エラー コード: UserErrorFailedToConnectOdbcSource
このエラー コードに関連付けられるエラー メッセージは 3 つ存在します。 各エラー メッセージに対する原因と推奨事項を確認します。
メッセージ:
"Cannot load trust store", or "SSL Handshake Failure reason [error:OA000086:SSL routines::certificate verify failed]"
原因:
truststore
ファイルは RC4、MD5、SHA1 などの脆弱な暗号を使用して生成されるため、truststore
は OpenSSL 3.0 には適していません。推奨事項: 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
を指定します。
関連するコンテンツ
トラブルシューティングのその他のヘルプについては、次のリソースを参照してください。