fuzziebrain / docker-apex-stack

Utility scripts for creating an Oracle Application Express stack as a Docker container.
MIT License
97 stars 34 forks source link

Oracle have changed buildimage to build container #33

Closed VanadiumJade closed 3 years ago

VanadiumJade commented 3 years ago

Hi,

I tried to use your code to build a XE environment, but it was saying it couldnt find buildImage.sh, looks like oracle renamed that file to buildContainer.sh.

I have updated my local copy of the code and its installing so far... but thought I would let you know.

Thanks Jade

fuzziebrain commented 3 years ago

Thanks @VanadiumJade for reporting this. I too had noticed this when I did a build earlier this week. Will have it fixed ASAP.

VanadiumJade commented 3 years ago

I followed your instructions (apart from above modification) but I cant open apex to port 50080. http://host:50080/

I did a port scan and only 15121 is open. so 50080 and 55500 are not open or being responded too.

Any ideas?

fuzziebrain commented 3 years ago

I followed your instructions (apart from above modification) but I cant open apex to port 50080. http://host:50080/

I did a port scan and only 15121 is open. so 50080 and 55500 are not open or being responded too.

Any ideas?

You should probably use http://localhost:50080/ords/apex, but it does sound like APEX and/or ORDS might have failed to install. Can you please open a new issue and then post the outputs from the 02-run.sh script?

VanadiumJade commented 3 years ago

It just gets stuck at the last step:

jade@dev1:~/docker/docker-apex-stack$ sudo bash 02-run.sh das mysettings.env [sudo] password for jade:

Check if Docker network das_network

das_network Error response from daemon: network with name das_network already exists

Removing any previous containers

das

Changing file ownership. May require password to continue.
Creating container das

2b308feb05cd13e8409c0c25568a2edf4a6989e44fc5775ad207f7e5bd25c559

Tailing logs. Ctrl-C to exit.

ORACLE PASSWORD FOR SYS AND SYSTEM: Oracle18 Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts: Confirm the password: Configuring Oracle Listener. Listener configuration succeeded. Configuring Oracle Database XE. Enter SYS user password: *** Enter SYSTEM user password:


Enter PDBADMIN User Password:


Prepare for db operation 7% complete Copying database files 29% complete Creating and starting Oracle instance 30% complete 31% complete 34% complete 38% complete 41% complete 43% complete Completing Database Creation 47% complete 50% complete Creating Pluggable Databases 54% complete 71% complete Executing Post Configuration Actions 93% complete Running Custom Scripts 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/XE. Database Information: Global Database Name:XE System Identifier(SID):XE Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.

Connect to Oracle Database using one of the connect strings: Pluggable database: 2b308feb05cd/XEPDB1 Multitenant container database: 2b308feb05cd Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE The Oracle base remains unchanged with value /opt/oracle ######################### DATABASE IS READY TO USE! ######################### The following output is now a tail of the alert.log: 2021-01-16T23:49:43.875863+00:00 XEPDB1(3):Resize operation completed for file# 10, old size 358400K, new size 368640K 2021-01-16T23:49:48.302547+00:00 XEPDB1(3):CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO XEPDB1(3):Completed: CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO XEPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS" XEPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS" 2021-01-16T23:49:51.539056+00:00 ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE Completed: ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE

VanadiumJade commented 3 years ago

http://localhost:50080/ords/apex

this didnt make any difference... got the you cant reach this page and ports are not open.

fuzziebrain commented 3 years ago

If the log ended there then it means APEX and ORDS weren't deployed. Did you try running the command without "sudo"?

If not, please remove the directory das-oradata that would have been created during the run command. Re-run the command: bash 02-run.sh das mysettings.env

VanadiumJade commented 3 years ago

If the log ended there then it means APEX and ORDS weren't deployed. Did you try running the command without "sudo"?

If not, please remove the directory das-oradata that would have been created during the run command. Re-run the command: bash 02-run.sh das mysettings.env

I have removed that folder, and am just re-running without sudo. (I only ran it with sudo - I think documentation says prefer sudo).

fuzziebrain commented 3 years ago

I have removed that folder, and am just re-running without sudo. (I only ran it with sudo - I think documentation says prefer sudo).

It does. Think I'll remove it for now.

VanadiumJade commented 3 years ago

same situation.

its been stuck on "Completed: ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE" for 15 minutes now.

full output: jade@dev1:~/docker/docker-apex-stack$ bash 02-run.sh das mysettings.env

Check if Docker network das_network

das_network Error response from daemon: network with name das_network already exists

Removing any previous containers

das

Changing file ownership. May require password to continue.
Creating container das

0d4885569617f4f1af865f3cdf5162689101f50c6482d8e9781dda5f95f510a7

Tailing logs. Ctrl-C to exit.

ORACLE PASSWORD FOR SYS AND SYSTEM: Oracle18 Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts: Confirm the password: Configuring Oracle Listener. Listener configuration succeeded. Configuring Oracle Database XE. Enter SYS user password: ***** Enter SYSTEM user password:


Enter PDBADMIN User Password:


Prepare for db operation 7% complete Copying database files 29% complete Creating and starting Oracle instance 30% complete 31% complete 34% complete 38% complete 41% complete 43% complete Completing Database Creation 47% complete 50% complete Creating Pluggable Databases 54% complete 71% complete Executing Post Configuration Actions 93% complete Running Custom Scripts 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/XE. Database Information: Global Database Name:XE System Identifier(SID):XE Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.

Connect to Oracle Database using one of the connect strings: Pluggable database: 0d4885569617/XEPDB1 Multitenant container database: 0d4885569617 Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE The Oracle base remains unchanged with value /opt/oracle ######################### DATABASE IS READY TO USE! ######################### The following output is now a tail of the alert.log: 2021-01-17T00:47:32.457079+00:00 XEPDB1(3):Resize operation completed for file# 10, old size 358400K, new size 368640K 2021-01-17T00:47:36.675187+00:00 XEPDB1(3):CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO XEPDB1(3):Completed: CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/opt/oracle/oradata/XE/XEPDB1/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO XEPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS" XEPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS" 2021-01-17T00:47:39.760297+00:00 ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE Completed: ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE

VanadiumJade commented 3 years ago

these are the files: apex_20.1.zip jdk-8u271-linux-x64.tar.gz oracle-database-xe-18c-1.0-1.x86_64.rpm ords-20.2.0.178.1804.zip

this is the mysettings.env: ORACLE_SID=XE ORACLE_PDB=XEPDB1 ORACLE_PWD=Oracle18 APEX_ADMIN_EMAIL=myemail@domain.com APEX_ADMIN_PWD=Oracle__18 APEX_PUBLIC_USER_PWD=Oracle18_1 APEX_LISTENER_PWD=Oracle18_2 APEX_REST_PUBLIC_USER_PWD=Oracle18_3 ORDS_PUBLIC_USER_PWD=Oracle18_4 INSTALL_FILE_APEX=apex_20.1.zip INSTALL_FILE_ORDS=ords-20.2.0.178.1804.zip INSTALL_FILE_JAVA=jdk-8u271-linux-x64.tar.gz DOCKER_ORDS_PORT=50080 DOCKER_EM_PORT=55500 DOCKER_DB_PORT=51521 DB_VERSION=18.4.0 DB_EDITION=xe DOCKER_NETWORK_NAME=das_network ALLOW_DB_PATCHING=N OML4R_SUPPORT=N REST_ENABLED_SQL=Y RTU_ENABLED=Y SQLDEVWEB=Y DATABASEAPI=Y

fuzziebrain commented 3 years ago

RTU_ENABLED=Y

You have this set to "Y", is that your intention? I haven't tested this for quite a while and am considering removing this feature.

VanadiumJade commented 3 years ago

From memory it failed sometime into the process if "RTU_ENABLED=N" .... But I have just set it to N, and it has started building the environment.

Thanks so much for helping! I have spent literal days trying to get a apex 19+ with XE 18c going!!! (inside a docker - all the examples are for 11xe or dont work anymore).. must have tried 10 different ones.

I have done 10 years of apex development - but never had to do environment stuff, and its by no way simple. I feel for DBAs. Im sure oracle could make installation a little easier!

Jade

fuzziebrain commented 3 years ago

From memory it failed sometime into the process if "RTU_ENABLED=N" .... But I have just set it to N, and it has started building the environment.

Thanks so much for helping! I have spent literal days trying to get a apex 19+ with XE 18c going!!! (inside a docker - all the examples are for 11xe or dont work anymore).. must have tried 10 different ones.

The RTU_ENABLED feature was more an experimental feature in scenarios where someone might want the Docker image to have the database created and APEX and ORDS installed. It involves hacking the Dockerfile and scripts from the upstream project and is therefore very sensitive to changes. That's probably why it isn't working right now.

I have done 10 years of apex development - but never had to do environment stuff, and its by no way simple. I feel for DBAs. Im sure oracle could make installation a little easier!

They did! They've given you the Oracle Autonomous Database. ;-) But yes, I too wish it was a simple button click and it used to be that way until things moved really fast with APEX and ORDS.

Anyways, I'm glad it's working for you now. I've also updated the scripts based on your feedback, so I'll proceed to close this issue. Please don't hesitate to raise a new one if you encounter further problems.

Thanks again.

VanadiumJade commented 3 years ago

Apex is working now :)

Thanks again