First create custom ords and plsql gateway user with ADMIN user in OCI ATP.
CREATE USER "ORDS_PUBLIC_USER_OCI" IDENTIFIED BY MY_PWD;
CREATE USER "ORDS_PLSQL_GATEWAY_OCI" IDENTIFIED BY MY_PWD;
GRANT CONNECT TO ORDS_PUBLIC_USER_OCI;
CREATE PROFILE UNLIMITED LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED;
ALTER USER ORDS_PUBLIC_USER_OCI PROFILE UNLIMITED;
GRANT CONNECT TO ORDS_PLSQL_GATEWAY_OCI;
ALTER USER ORDS_PLSQL_GATEWAY_OCI PROFILE UNLIMITED;
ALTER USER ORDS_PLSQL_GATEWAY_OCI GRANT CONNECT THROUGH ORDS_PUBLIC_USER_OCI;
begin
ords_admin.provision_runtime_role(p_user => 'ORDS_PUBLIC_USER_OCI'
,p_proxy_enabled_schemas => true);
end;
/
begin
ords_admin.config_plsql_gateway(p_runtime_user => 'ORDS_PUBLIC_USER_OCI'
,p_plsql_gateway_user => 'ORDS_PLSQL_GATEWAY_OCI');
end;
/
begin
apex_instance_admin.set_parameter(
p_parameter => 'IMAGE_PREFIX',
p_value => 'https://static.oracle.com/cdn/apex/23.2.3/'); -- change version
commit;
end;
/
Dockerfile
install_ords.sh
jdk…
Wallet_*.zip
Docker File
$1 $2 $3 $4 $5 $6 $7 $8 are placeholders for
USER_NAME_ADMIN=$1
USER_NAME_ORDS=$2
USER_NAME_GATEWAY=$3
WALLET_LOCATION=$4 #full path
SERVICE_NAME=$5
PWD_ADMIN=$6
PWD_ORDS=$7
PWD_PLSQL=$8
FROM oraclelinux:7-slim
EXPOSE 8080
RUN yum-config-manager --add-repo=http://yum.oracle.com/repo/OracleLinux/OL7/oracle/software/x86_64
#RUN yum upgrade && yum update
RUN yum update -y
RUN yum upgrade -y
RUN yum install ords -y
#USER oracle
#USER root
COPY ./Wallet*.zip /tmp
#USER root
COPY ./jdk-11.0.17_linux-x64_bin.rpm /tmp
RUN rpm -ivh /tmp/jdk-11*.rpm
WORKDIR /root
COPY ./install_ords.sh .
RUN bash -e install_ords.sh $1 $2 $3 $4 $5 $6 $7 $8
#RUN chown -R oracle:oinstall /opt/oracle
ENTRYPOINT ords serve
install_ords.sh
USER_NAME_ADMIN=$1
USER_NAME_ORDS=$2
USER_NAME_GATEWAY=$3
WALLET_LOCATION=$4 #full path
SERVICE_NAME=$5
PWD_ADMIN=$6
PWD_ORDS=$7
PWD_PLSQL=$8
ords install adb --admin-user $USER_NAME_ADMIN --db-user $USER_NAME_ORDS --gateway-user $USER_NAME_GATEWAY --wallet $WALLET_LOCATION --wallet-service-name $SERVICE_NAME --feature-sdw TRUE --log-folder /tmp/ordsinstall.log --password-stdin << EOF
$PWD_ADMIN
$PWD_ORDS
$PWD_PLSQL
EOF
Download Target ATP wallet and place it in the folder
Download jdk 11 and place it in the folder ( this may change in future ORDs versions)
To Build docker build -t ords_23_atp:1.0.0 .
To Run docker run -d -p 8088:8080 --name ords23_atp ords_23_atp:1.0.0 --restart unless-stopped