Installing Oracle Database 23ai Free for ARM - Solution to DBCA ORA-00600
On September 16th, 2024 Oracle released “Oracle Database 23ai Free” (Developer’s Edition) for the ARM (aarch64) architecture. Downloadable from: https://www.oracle.com/database/free/get-started/.
Overall this is a long-awaited, fantastic development as it allows users to install, test, and develop using the latest version of the Oracle Database on ARM-based computers including the Apple M-series chips – also known as “Apple Silicon”.
And a week prior, Oracle released Oracle VirtualBox 7.1 which also supports Apple Silicon.
This should allow users to build a complete stack on Apple Silicon Macs and MacBooks using only completely free software from Oracle. Specifically:
- Oracle VirtualBox 7.1
- Oracle Linux 8 for aarch64
- Oracle Database 23ai Free for aarch64
However, an initial test of this stack encountered an issue when creating the actual database. The error messages are summarized as:
...
[WARNING] ORA-00443: background process "OFSD" did not start
...
[FATAL] ORA-01034: The Oracle instance is not available for use. Start the instance.
Details and Investigation Steps
The new Oracle Database 23ai Free for ARM (aarch64) installs without issue into Oracle Linux 8 ARM architecture via the oracle-database-free-23ai-1.0-1.el8.aarch64.rpm package. Which first installs and runs the oracle-database-preinstall-23ai-1.0-2.el8.aarch64.rpm package as a prerequisite. The latter is supposed to install all required, dependent OS packages and configure the kernel settings.
The errors arise when trying to create the database instance using the DBCA. The official documentation shows how to create the database using the command:
/etc/init.d/oracle-free-23ai configure
But this command fails with the error:
Prepare for db operation
7% complete
Copying database files
8% complete
[WARNING] ORA-00443: background process "OFSD" did not start
9% complete
[FATAL] ORA-01034: The Oracle instance is not available for use. Start the instance.
29% complete
100% complete
[FATAL] ORA-01034: The Oracle instance is not available for use. Start the instance.
7% complete
0% complete
Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details.
Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'.
Checking the alert log (/opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log) shows than an ORA-00600 error was encountered:
2024-09-16T20:45:12.246434-05:00
Errors in file /opt/oracle/diag/rdbms/free/FREE/trace/FREE_scmn_20084_20084.trc (incident=1601):
ORA-00600: internal error code, arguments: [(DMM) kgslaInitCtx_lazy:library.load.fail], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /opt/oracle/diag/rdbms/free/FREE/incident/incdir_1601/FREE_scmn_20084_20084_i1601.trc
Unfortunately, looking up that specific ORA-00600 error in the My Oracle Support (MOS) lookup tool yields no results.
But the subsequent trace file and the incident trace file (mentioned in the alert log excerpt shown above) provide even more specific details on what caused the ORA-00600:
*** 2024-09-16T20:45:12.120782-05:00 (CDB$ROOT(1))
(DMM) kgslaInitCtx: skgdllOpen /opt/oracle/product/23ai/dbhomeFree/lib/libora_netlib.so OS error: 79 Error message: Can not access a needed shared library OtherInfo: libgfortran.so.5: cannot open shared object file: No such file or directory
2024-09-16T20:45:12.246639-05:00
Incident 1601 created, dump file: /opt/oracle/diag/rdbms/free/FREE/incident/incdir_1601/FREE_scmn_20084_20084_i1601.trc
ORA-00600: internal error code, arguments: [(DMM) kgslaInitCtx_lazy:library.load.fail], [], [], [], [], [], [], [], [], [], [], []
Watchdog thread got error 600
Exiting during process startup with error 447 (seq=0)
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: An irrecoverable error occurred in a background process.
ORA-00600: internal error code, arguments: [(DMM) kgslaInitCtx_lazy:library.load.fail], [], [], [], [], [], [], [], [], [], [], []
From there, the solution is simple: the libgfortran.so.5 file is missing. This comes from the gcc-gfortran package for the GNU Fortran compiler. So the solution is simple: install this prerequisite (dependency) via:
dnf install gcc-gfortran
Then the DBCA will complete properly and the Oracle Database 23ai Free database and instance will be created and become available for use.
Final Thoughts
Ultimately, the oracle-database-preinstall-23ai for ARM (aarch64) package needs to be updated to include gcc-gfortran as a prerequisite/dependent package. But in the meantime, users just need to simply install gcc-gfortran before creating the database and everything will be fine.
And overall, these new software releases are great developments. Oracle Database 23ai Free now runs extremely fast on ARM-based computers such as the Apple Silicon line of Macs and MacBooks.
Share this
You May Also Like
These Related Stories
No Comments Yet
Let us know what you think