gvenzl / oci-oracle-xe

Build scripts for Oracle Database XE container/docker images
Apache License 2.0
270 stars 76 forks source link

Oracle xe docker image support for Apple M chips #220

Closed kazimirm closed 1 year ago

kazimirm commented 1 year ago

Last week, there was added suport for oracle database 19c EE on linux arm64 platforms(https://github.com/oracle/docker-images/pull/2659/commits). It would be nice to have docker image for Apple M chips.

mprins commented 1 year ago

duplicates https://github.com/gvenzl/oci-oracle-xe/issues/44

gvenzl commented 1 year ago

Hey @kazimirm,

This repository only provides images for Oracle Database XE but unfortunately, Oracle never released an Oracle Database 19c XE so there is also none for ARM.

Oracle plans to provide an ARM version for the new Oracle Database 23c Free, which is the successor to Oracle Database XE. As soon as that is available, I will provide an ARM image over at gvenzl/oracle-free. Meanwhile, you may want to upgrade to the gvenzl/oracle-free images, their behavior is 1:1 the same as the gvenzl/oracle-xe.

adamalexandru4 commented 1 year ago

Do you know any deadline for this feature of ARM version @gvenzl ? We have minutes of pain at each integration tests run until it boots ..

gvenzl commented 1 year ago

Unfortunately, Oracle didn't state any specific date for the support but given that they just introduced ARM support for 19c and 23c will be the LTS successor of 19c, I'd imagine it will come sometime around when 23c EE goes GA, which Oracle also didn't state any explicit dates but it's a known fact that the 23 stands for 2023.

So in short, I would expect later this year, but when exactly, I can't tell, sorry!

Interesting, is it the booting of the container or the DB inside that takes a long time? Perhaps there is something that can be done to speed it up even under, I assume you use colima?

adamalexandru4 commented 1 year ago

Exactly, we're using Colima for tests on local machine (M1) along with TestContainers. We will be thankful if you could provide some tips & tricks for speeding up the boot process on ARM.

kmandalas commented 10 months ago

@adamalexandru4 after the latest release of Docker Desktop 4.25 with Rosetta for Linux GA, have you tried again to run the linux/amd64 on apple silicon?

adamalexandru4 commented 10 months ago

Yes, after starting the container docker run -it --rm --platform=linux/amd64 -e ORACLE_RANDOM_PASSWORD=yes gvenzl/oracle-xe:21-slim-faststart the console prints out the following

CONTAINER: starting up...
CONTAINER: first database startup, initializing...
CONTAINER: starting up Oracle Database...
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 05-DEC-2023 07:59:40
Copyright (c) 1991, 2021, Oracle.  All rights reserved.
Starting /opt/oracle/product/21c/dbhomeXE/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 21.0.0.0.0 - Production
System parameter file is /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/23a399ca0f9b/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                05-DEC-2023 07:59:40
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/23a399ca0f9b/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
ORA-03113: end-of-file on communication channel