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

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

Related

AWS RDS ORA-28040: No matching authentication protocol exception

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.)

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.

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

Configuring Oracle Apex on Amazon AWS ec2 and Oracle RDS

I am trying to configure Oracle Apex on Amazon AWS ec2 and using Oracle RDS as Database instance. I have registered as free user for learning purpose. This is the first time I am configuring ec2 + ORDS for oracle Apex.
While i am configuring ORDS for Oracle Apex (ec2) and hitting command: java -jar ords.war
It asks to "Enter the username with SYSDBA privileges to verify the installation [SYS]:" but I my user doesn't have SYS privileges and I am unable to grant SYS privileges to it.enter image description here
Could some help me out with this. I am stuck at this point and unable to start APEX due to this.
I have attached the error
According to user MichaelB#AWS (Amazon staff account):
For the issues with ORDS, you should skip (by entering "2") steps
involving the ORDS schema and PL/SQL gateway. The ORDS schema is not
required to support the APEX RESTful listener, and is not currently
supported on RDS Oracle. The specific options may vary between
versions of ORDS.
https://forums.aws.amazon.com/thread.jspa?messageID=711534
The APEX+APEX_DEV options do not create the correct ORDS users, in particular there's no ORDS_METADATA created which is where most of the important ORDS packages and data are stored. Without SYSDBA (not available on RDS) you won't be able to install ORDS either.
From the documentation:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html
the minimal ORDS.war configuration and associated schemas needed to get APEX working is available on Amazon's RDS as a replacement for the deprecated APEX Express Listener. It isn't a complete install of ORDS for RESTful services.
The solutions are:
Wait for Amazon to support ORDS on RDS
Install Oracle yourself on an EC2 instance and forget RDS

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