4.2.2 Install OML4Py across Exadata compute nodes using DCLI

Instructions for installing OML4Py across Exadata compute nodes using DCLI.

To install OML4Py on Exadata using DCLI, follow the steps:

  1. First install the OML4Py supporting packages to $ORACLE_HOME/oml4py/modules on each node. The OML4Py supporting packages must be installed individually on each compute node. DCLI cannot be used because it uses the system default Python and cause conflicts with the Python installed for use with OML4Py.

    pip3.9 install pandas==1.3.4 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install scipy==1.7.3 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install matplotlib==3.3.3 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install cx_Oracle==8.1.0 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install threadpoolctl==2.1.0 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install scikit-learn==1.0.1 --no-deps --target=$ORACLE_HOME/oml4py/modules
    pip3.9 install joblib==0.14.0 --target=$ORACLE_HOME/oml4py/modules
    pip3.9 uninstall numpy
    pip3.9 install numpy==1.21.5 --target=$ORACLE_HOME/oml4py/modules
  2. Set the PYTHONPATH environment variable to the location of the OML4Py modules:

    export PYTHONPATH=$ORACLE_HOME/oml4py/modules
  3. Download the installation file for your system.

    1. Go to the Oracle Machine Learning for Python Downloads page on the Oracle Technology Network.

    2. Accept the license agreement and select Oracle Machine Learning for Python Downloads (v1.0).

    3. Select Oracle Machine Learning for Python Server Install for Oracle Database on Linux 64 bit.

    4. Save the file to the $ORACLE_HOME/oml4py directory.

    To extract the installation file to $ORACLE_HOME/oml4py directory, use the command:

    unzip oml4py-server-linux-x86_64-1.0.zip -d $ORACLE_HOME/oml4py

    The files are extracted to the $ORACLE_HOME/oml4py/server subdirectory.

  4. On the first node, from the $ORACLE_HOME/oml4py directory, run the server installation script. The following command runs the script in interactive mode:

    perl -Iserver server/server.pl

    To run the server script in non-interactive mode, pass the parameters for the pluggable database, and permanent and temporary tablespaces to the script

    perl -Iserver server/server.pl -y --pdb PDB11 --perm SYSTEM --temp TEMP 

    Run the server script with the --no-db flag on all remaining compute nodes. This sets up the OML4Py server configuration and skips the database configuration steps already performed on the first node:

    perl -Iserver server/server.pl --no-db