docker-oracle-xe
docker-oracle-xe copied to clipboard
runOracle.sh failed
docker run -d -p 32118:1521 -p 35518:5500 --name=oracle-xe oracle-xe:18c
Unfortunately DB configuration does not work. The container starts, but orapwd fails, probably because of the symbolic links referencing themselves under /opt/oracle/oradata/dbconfig/XE
/opt/oracle/oradata/dbconfig/XE/orapwXE can not be found.
Database does not exists, configuring Configuring Oracle Listener. Listener configuration succeeded. Configuring Oracle Database XE. [WARNING] [DBT-09251] The listener configuration is not selected for the database. EM DB Express URL will not be accessible. CAUSE: The database should be registered with a listener in order to access the EM DB Express URL. ACTION: Select a listener to be registered or created with the database. Enter SYS user password:
Enter SYSTEM user password:
Enter PDBADMIN User Password:
Prepare for db operation 7% complete Copying database files 29% complete 100% complete [FATAL] Error in Process: /opt/oracle/product/18c/dbhomeXE/bin/orapwd
Enter password for SYS:
OPW-00001: Unable to open password-file 7% complete 0% complete Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.
Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'. The Oracle base remains unchanged with value /opt/oracle Enabling XDB for external access
SQL*Plus: Release 18.0.0.0.0 - Production on Tue Feb 5 16:14:16 2019 Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to an idle instance.
SQL> BEGIN dbms_xdb_config.setlistenerlocalaccess(false); END;
ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
SQL> BEGIN dbms_xdb_config.setglobalportenabled(true); END;
ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
SQL> Disconnected sed: can't read /opt/oracle/product/18c/dbhomeXE/network/admin/listener.oraF: No such file or directory sed: can't read /opt/oracle/product/18c/dbhomeXE/network/admin/tnsnames.ora: No such file or directory The following output is now a tail of the alert.log: tail: cannot open '/opt/oracle/diag/rdbms///trace/alert*.log' for reading: No such file or directory tail: no files remaining
bash-4.2# cd /opt/oracle/oradata/dbconfig/XE/ bash-4.2# pwd /opt/oracle/oradata/dbconfig/XE bash-4.2# ls -la total 12 drwxr-xr-x. 2 root root 4096 Feb 5 16:14 . drwxr-xr-x. 3 root root 4096 Feb 5 16:10 .. lrwxrwxrwx. 1 root root 44 Feb 5 16:10 listener.ora -> /opt/oracle/oradata/dbconfig/XE/listener.ora lrwxrwxrwx. 1 root root 39 Feb 5 16:10 orapwXE -> /opt/oracle/oradata/dbconfig/XE/orapwXE -rw-r--r--. 1 root root 779 Feb 5 16:14 oratab lrwxrwxrwx. 1 root root 44 Feb 5 16:10 spfileXE.ora -> /opt/oracle/oradata/dbconfig/XE/spfileXE.ora lrwxrwxrwx. 1 root root 42 Feb 5 16:10 sqlnet.ora -> /opt/oracle/oradata/dbconfig/XE/sqlnet.ora lrwxrwxrwx. 1 root root 44 Feb 5 16:10 tnsnames.ora -> /opt/oracle/oradata/dbconfig/XE/tnsnames.ora
CentOS Linux release 7.5.1804 (Core)
docker version Client: Version: 18.09.1 API version: 1.39 Go version: go1.10.6 Git commit: 4c52b90 Built: Wed Jan 9 19:35:01 2019 OS/Arch: linux/amd64 Experimental: false
Server: Docker Engine - Community Engine: Version: 18.09.1 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 4c52b90 Built: Wed Jan 9 19:06:30 2019 OS/Arch: linux/amd64 Experimental: false
oracle-database-xe-18c-1.0-1.x86_64.rpm
@sarkiva
- Were there any errors during the build?
- Did you change any other environment variables?
- Is SELinux in enforcing mode?
I had the same issue. I fixed it by generating a new orapwXE file:
- $ /opt/oracle/product/18c/dbhomeXE/bin/orapwd file=/opt/oracle/product/18c/dbhomeXE/dbs/orapwXE password=oracle ENTRIES=30 FORCE=Y IGNORECASE=Y format=12
maybe this could be placed on the script scripts/runOracle.sh instead of this line:
- mv $ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_BASE/oradata/dbconfig/$ORACLE_SID/
just one more note, after that fix I also had problem with spfileXE.ora so I placed this file on /opt/oracle/product/18c/dbhomeXE/dbs:
Later on to startup the database as Standalone (not pluggable), instead of running "/etc/init.d/oracle-xe-18c configure", I customized the db setup with DBCA:
- dbca -silent -createDatabase -templateName XE_Database.dbc -gdbName XE -sid XE -createAsContainerDatabase false -emConfiguration NONE -datafileDestination /opt/oracle/oradata/ -storageType FS -characterSet AL32UTF8 -totalMemory 2048