Introduction:
In today’s dynamic IT landscape, ensuring seamless access to critical applications is paramount. This guide outlines the strategic steps to deploy a robust high-availability architecture using a two-node TOMCAT and Oracle REST Data Services (ORDS) configuration for Oracle Application Express (APEX). By leveraging load balancing and redundancy, this architecture not only enhances performance and scalability but also safeguards against downtime, offering an optimal user experience.
Benefits:
Enhanced Availability and Reliability: The two-node TOMCAT and ORDS architecture distributes incoming requests across multiple nodes, ensuring uninterrupted access to APEX applications. In the event of a node failure, traffic is seamlessly redirected to the operational node, minimizing disruptions and maintaining business continuity.
Efficient Resource Utilization: Load balancing optimizes resource usage by efficiently distributing incoming requests. This prevents resource bottlenecks and empowers administrators to scale resources based on demand, resulting in improved application responsiveness.
Scalability on Demand: As user traffic grows, the architecture scales horizontally by adding more nodes. This dynamic scaling ensures that the infrastructure can accommodate increased workloads, providing a smooth experience even during peak usage periods.
Environment Details:
APEX | 20.2 |
Java | 13.0.2 |
ORDS | 22.2 |
Tomcat | 9.0.73 |
High Level Steps:
1)Moving the software’s to the new Linux server’s and unzip
2)Verify the front end (tomcat page) both nodes
3)Load balancer URL verification
4)Preparing and config the ORDS in Node 1
5)Copying the ORDS from Node 1 to node 2
6)verifying the services
Steps:
1)Moving the software’s to the new Linux server’s and unzip:
2)Verify the front end (tomcat page) both nodes:
https://192.168.0.2:8080
3)Load balancer URL verification:
https://testloadbalancer.com:9090/
4)Preparing and config the ORDS in Node 1:
[test@apexdemo ords22]$ /u01/app/tomcat_install/java/jdk-13.0.1/bin/java -jar ords.war configdir /u01/ords22/conf 2023-04-18T08:37:45.358Z INFO Set config.dir to /u01/ords22/conf in: /u01/ords22/ords.war [test@apexdemo ords22]$ /u01/app/tomcat_install/java/jdk-13.0.1/bin/java -jar ords.war install advanced Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL [1]:1 Enter the name of the database server [192.168.106.128]: Enter the database listen port [1527]: Enter 1 to specify the database service name, or 2 to specify the database SID [1]:2 Enter the database SID [crmtest]: Enter 1 if you want to verify/install Oracle REST Data Services schema or 2 to skip this step [1]: Enter the database password for ORDS_PUBLIC_USER: Confirm password: Retrieving information. Requires to login with administrator privileges to verify Oracle REST Data Services schema. Enter the administrator username:sys Enter the database password for SYS AS SYSDBA: Confirm password: Connecting to database user: SYS AS SYSDBA url: jdbc:oracle:thin:@192.168.106.128:1527:crmtest Retrieving information. Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step. If using Oracle Application Express or migrating from mod_plsql then you must enter 1 [1]: Enter the PL/SQL Gateway database user name [APEX_PUBLIC_USER]: Enter the database password for APEX_PUBLIC_USER: Confirm password: Enter 1 to specify passwords for Application Express RESTful Services database users (APEX_LISTENER, APEX_REST_PUBLIC_USER) or 2 to skip this step [1]: Enter the database password for APEX_LISTENER: Confirm password: Enter the database password for APEX_REST_PUBLIC_USER: Confirm password: Enter a number to select a feature to enable: [1] SQL Developer Web (Enables all features) [2] REST Enabled SQL [3] Database API [4] REST Enabled SQL and Database API [5] None Choose [1]: 2023-04-18T08:39:15.711Z INFO reloaded pools: [] Upgrading Oracle REST Data Services schema 20.2.0.r1781804 to version 21.4.0.r3481956 … Log file written to /home/oracle/ords_upgrade_2023-04-18_140916_00378.log … Upgrading ORDS schema to 21.4.0.r3481956 Completed upgrade for Oracle REST Data Services version 21.4.0.r3481956. Elapsed time: 00:00:46.447 Enter 1 if you wish to start in standalone mode or 2 to exit [1]:2 |
Once configured move the ords.war to tomcat webapps directory
[test@apexdemo ords22]$ cp -r ords.war /u01/app/tomcat_install/apache-tomcat-9.0.74/webappsTry to start the node 1 tomcat and verify the frontend:
[test@apexdemo bin]$ sh startup.sh Using CATALINA_BASE: /u01/app/tomcat_install/apache-tomcat-9.0.74/ Using CATALINA_HOME: /u01/app/tomcat_install/apache-tomcat-9.0.74/ Using CATALINA_TMPDIR: /u01/app/tomcat_install/apache-tomcat-9.0.74/temp Using JRE_HOME: /usr Using CLASSPATH: /u01/app/tomcat_install/apache-tomcat-9.0.74/bin/bootstrap.jar:/u01/app/tomcat_install/apache-tomcat-9.0.74/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. |
5)Copying the ORDS from Node 1 to node 2:
[test@apexdemo ords22]$ scp ords.tar.gz apexdemo@192.168.0.2:/u01/ords22/ords apexdemo@192.168.0.2’s password: ords.tar.gz |
After moving the tar file in node2 , unzip it and it will create a directory as ords inside the ords , copy the file ords.war to tomcat webapps folder and start the tomcat services,
Starting the tomcat service:
[test@apexdemo bin]$ sh startup.sh Using CATALINA_BASE: /u01/app/tomcat_install/apache-tomcat-9.0.74/ Using CATALINA_HOME: /u01/app/tomcat_install/apache-tomcat-9.0.74/ Using CATALINA_TMPDIR: /u01/app/tomcat_install/apache-tomcat-9.0.74/temp Using JRE_HOME: /usr Using CLASSPATH: /u01/app/tomcat_install/apache-tomcat-9.0.74/bin/bootstrap.jar:/u01/app/tomcat_install/apache-tomcat-9.0.74/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. |
6) Verifying the services: