#!/bin/sh echo 'Installing Oracle Database XE...' # See: https://www.oracle.com/database/technologies/appdev/xe/quickstart.html # /vagrant_data is a directory that is mounted from the host filesystem and # contains the installation binary, "oracle-database-xe-18c-1.0-1.x86_64.rpm". cd /vagrant_data yum -y localinstall oracle-database*18c* # Modify /etc/hosts so that the one line includes the non-FQDN, e.g.: "oracle7"; # absent this measure, Oracle complains, very oddly: [FATAL] [DBT-06103] The port (5,500) is already in use. sudo sed -i "s/oracle7\.localdomain/oracle7 oracle7.localdomain/" /etc/hosts # Create oracle user's home directory. mkdir /home/oracle chown oracle:dba /home/oracle chmod 770 /home/oracle # Create a Bash profile that includes the necessary environment variables. cat << EOF > /home/oracle/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE export ORACLE_HOME ORACLE_SID=xe export ORACLE_SID PATH=$PATH:/home/oracle/.local/bin:/home/oracle/bin:/opt/oracle/product/18c/dbhomeXE/bin export PATH EOF chown oracle:oinstall /home/oracle/.bash_profile # Configure XE with silent installation; see: https://docs.oracle.com/en/database/oracle/oracle-database/18/xeinl/performing-silent-installation.html (echo "secret"; echo "secret";) | /etc/init.d/oracle-xe-18c configure # >> /tmp/xe_logs/XEsilentinstall.log 2>&1 # Configure default users and settings. echo @/vagrant/scripts-custom/resources/provision | sudo ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE PATH=$PATH:/home/oracle/.local/bin:/home/oracle/bin:/opt/oracle/product/18c/dbhomeXE/bin -H -u oracle /bin/sh -c "/opt/oracle/product/18c/dbhomeXE/bin/sqlplus system/secret@//localhost:1521/XEPDB1" # Disable and stop the firewall, which will prevent incoming connection if not done: systemctl stop firewalld systemctl disable firewalld systemctl mask --now firewalld