As part of our migration to AWS, we've created an Oracle RDS that is configured for Native Network Encryption....
No SSL
Oracle Option Group:
SQLNET.ALLOW_WEAK_CRYPTO true
SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS true
SQLNET.CRYPTO_CHECKSUM_CLIENT REQUESTED
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT SHA512, SHA384, SHA256
SQLNET.ENCRYPTION_CLIENT REQUESTED
SQLNET.ENCRYPTION_TYPES_CLIENT RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40
SQLNET.ENCRYPTION_SERVER REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER AES256
SQLNET.CRYPTO_CHECKSUM_SERVER REQUIRED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER SHA256
I've tried several different formatted JDBC URLs... without success...
(Like adding ?crypto_checksum_client=required&crypto_checksum_types_client=sha256 to the JDBC URL)
DMS Seems to have no issues connecting, but I cannot get a successful glue connection test.
I have a PySpark Job that will need to connect back to the Oracle DB to run a quick query, but having issues connecting...
all_pk_df = glue_context.read.format("jdbc")
.option("url", jdbc_url)
.option("dbtable", oracle_primary_keys_sql)
.option("user", user)
.option("password", password)
.option("driver", 'oracle.jdbc.driver.OracleDriver')
.load()
I've tried setting options in the Python code as well, but haven't found the correct property as of yet...
The issue seems to be with this: SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER SHA256 as when it was SHA1, connection was possible...