AWS RDS ORA-28040: No matching authentication protocol exception - oracle

While connecting to Oracle 19c database from Java 8 client code, I got error -
ORA-28040: No matching authentication protocol exception
This was resolved by adding SQLNET.ALLOWED_LOGON_VERSION=8 in sqlnet.ora file.
Now, when I connect to AWS oracle RDS instance from code running in EC2 instance (RDS and java application running in same subnet), result in same error. Is there an option to add parameter(SQLNET.ALLOWED_LOGON_VERSION=8) in AWS Oracle RDS instance? How can resolve this issue?

You can set some SQLNET parameters in Oracle RDS by modifying sqlnetora.sqlnet.allowed_logon_version_server and sqlnetora.sqlnet.allowed_logon_version_client in your parameter group. (I assume you will then have to restart the database, but I haven't tested changing those values.)

Related

GCP Datafusion oracle connectivity issues

We're currently having issues setting up a connection to oracle datasources in datafusion (via jdbc) and i'm not sure if i am missing something.
Bit of a background, we had issues connecting to any data source initially so in gcp i setup a vm instance to act as a proxy server (due to it being a private datafusion instance) and used iptables to register the connections.
After this i can successfully connect to sql server datasources, on the vm instance i can ping and telnet all oracle and sql datasources.
Network connectivity tests show datafusion can connect to the proxy and also that the proxy can hit datasources on-prem.
The following pics are of my connection to oracle under namespace admin in datafusion
The ip address is of the proxy instance and the port is what was assigned in the iptable entry
Again this works for sql server. Our datateam can connect to these datasources via bigquery using odbc, but it looks like you cannot use that connection type in datafusion.
Think we have resolved the issue. We noticed the logins being used had older password versioning for oracle 10, 11 etc. Got the oracle dba to create a new user to test and connection successful instantly :)

How to connect oracle Cloud Instance using Oracle Cloud Shell?

I am using following Command to connect oracle cloud instance 19c using Oracle Cloud Shell
sqlplus username/password#db
It shows following error
SQL*Plus: Release 19.0.0.0.0 - Production on *******
Version 19.5.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Depending on the type of Database you have in OCI, you can connect from Cloud Shell to that database via a Service Gateway.
https://docs.cloud.oracle.com/en-us/iaas/Content/Network/Tasks/servicegateway.htm
Both Cloud Shell and Cloud Infrastructure Databases (such as Autonomous Transaction Processing database) can be accessed via a Service Gateway without using the public internet.
https://www.oracle.com/cloud/networking/service-gateway.html
The Cloud Shell isn't connected to your VCNs - it will need to access your database through internet. For this to happen, you'll need to open your database's listener port to the internet, and this is a "VERY BAD IDEA" generally speaking.
Best is to create a VM instance in the same VCN and connect to the DB from the VM.
If you want to eliminate all the intermediate layers for your test, even the local VCN network, then you can connect directly to the DB node using ssh and emit your select from there.
Here's a quick how-to guide on how to connect your on-prem SQL Dev tool to Oracle Cloud Database. https://www.youtube.com/watch?v=3bJ3JlpGlPo&list=PLdtXkK5KBY56jDbMevAMIbZGVAGUz9aYQ&index=14 You can create a bastion session, use ssh port forwarding to connect your local DB tools to cloud database instance using DB listener port for sqlnet.

AWS RDS - ORA-28040: No matching authentication protocol exception

While connecting to Oracle 12c database from Java 8 client code, I got error -"ORA-28040: No matching authentication protocol exception" This was resolved by adding SQLNET.ALLOWED_LOGON_VERSION=8 in sqlnet.ora file.
Now, when I connect to AWS oracle RDS instance from code running in EC2 instance (RDS and java application running in same subnet), result in same error. Is there an option to add parameter(SQLNET.ALLOWED_LOGON_VERSION=8) in AWS Oracle RDS instance? How can resolve this issue?
The AWS docs list the params you can alter for your needs.
sqlnetora.sqlnet.allowed_logon_version_client
sqlnetora.sqlnet.allowed_logon_version_server
I suggest you to play with those.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.sqlnet.html

Oracle Source endpoint test connection fails in AWS DMS

I configured source and target endpoint for DMS services, The migration I need to perform is from EC2 to Oracle RDS using AWS DMS and both are 12c.
I am testing the source end point and I am getting this error
Endpoint identifier
Replication instance
Status
Failure message
ec2-172-31-6-111
test-dms-oracle
failed
Error Details: [errType=ERROR_RESPONSE, status=1022307, errMessage=ORA-12514: TNS:listener does not currently know of service requested in connect descriptor OCI error., errDetails=]
I don't feel this occurs because of Network error since, I tried testing the connection with all ports open. And I can able to access the DB within EC2
please refer the screenshot
Please help me to find the solution.
ORA-12514 could mean either of
a. The SERVICE_NAME in the TNSNAMES.ORA or Connect-String does not match the Database Service Name
b. The Listener is running on a non-default port and the database instance does not have LOCAL_LISTENER configured to the listener (thus the instance does not update the listener with its service name)
Run LSNRCTL STATUS and LSNRCTL SERVICES on the database server to verify the running services.
Hemant K Chitale

Is possible to connect to RDS Oracle DB instance with SQL developer?

I'm trying to connect into my mac with the endpoint that AWS give me but i can't.
Yes, You can.
These are the AmazonRDS settings.
and this is the SQL Developer connection window
database host name should be the AWS endpoint & SID should be the AWS DB Name.
You can connect to database instance in RDS by using the endpoint and the credentials associated with the rds instance
Refer the below link for guidance:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html
Also ensure that the security group associated with the RDS instance has appropriate port open for oracle connection.

Resources