Configuring Oracle Apex on Amazon AWS ec2 and Oracle RDS - oracle

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

Related

How to connect to Oracle on SSMA tool?

Hope you can help. I'm trying to connect to an Oracle database using SSMA for Oracle.
I have created an Oracle VM on azure as highlighted below
and
the VM got created
I have added the firewall rule to allow 1521 port.
and created the DB as mentioned below
however I could not connect to the Oracle instance using SSMA
it is throwing the below error
and if I try with that account
it is not accepting the password
What is the Username and password to be used?
Reference: https://lovekesh.tech/how-to-install-oracle-database-in-microsoft-azure-vm/
I was able to fix this issue by using the "system" account instead of "sys" or "sysdba", passsword for "system" account is same as "sys" account.
and could convert the schema
and I see the progress as highlighted below
as well as I could migrate the data
and status is as shown below

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 Oracle Access Control

RDS Oracle does not support on-prem AD authentication. How do you control/monitor/track what DB users/admin do on the Oracle RDS instances?
I'm not sure if this is what you need, but you can enable cloudTrail on your db instance, to monitor api calls and db access.
Please read more on: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/logging-using-cloudtrail.html

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

How to deploy oracle apex application on client machine

I have created oracle apex application in oracle apex 18.0. Now I want to put it online so that end user can access it. I have searched for solutions but it's all showing deploying the application in Oracle workspace only. Will it need to install all Oracle stuff in client machine too? Can't I upload it on the server and provide URL to the client?

Resources