Skip to main content
Version: 2.202111.x.x LTS

FAQ

The FAQ chapter lists common and often asked questions and their answers regarding the nevisAppliance.

How to get back the removed SQL Plus

Q: I see that SQL Plus is removed from the Rolling Releases of the nevisAppliance extended image due to license restrictions. How do I get it back on my nevisAppliance RR?

A: Due to Oracle license restrictions, we cannot deliver Oracle software that is directly installed in the nevisAppliance. But you can add it on your own on designated machines.

Proceed as follows:

  1. Download the RPM packages from the Oracle website: <http://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html/> You need the following .rpm files:

    • oracle-instantclient-basic-12.2.0.1.0-1.rpm
    • oracle-instantclient-sqlplus-12.2.0.1.0-1_x86_64.rpm
  2. Copy these files to a new 'boot safe' directory on the nevisAppliance: /home/nvbuser/oracle

  3. Create an installation script in the directory /etc/init.d.custom.first/S10installOracleClient, with this content:

    Installation script
    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    export PATH
    case "$1" in
    start)
    rpm -i /home/nvbuser/oracle-instantclient-basic-12.2.0.1.0-1.rpm /home/nvbuser/oracle-instantclient-sqlplus-12.2.0.1.0-1.x86_64.rpm
    # create custom sqlplus / sqlplus64 wrapper with LD_LIBRARY_PATH"
    # here some further and manual steps are required
    # according to http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html#ic_x64_inst
    # we create a wrapper for sqlplus to set LD_LIBRARY_PATH
    # locally because adnpkg heavily uses sudo which runs in a non-interactive shell

    # delete symlink "/usr/bin/sqlplus64" created by oracle
    rm /usr/bin/sqlplus*

    cat >"/usr/bin/sqlplus" <<EOF
    #!/bin/bash
    # Custom Nevis wrapper sets LD_LIBRARY_PATH locally and delivers 'sqlplus' to us,
    # because Oracle delivers now solely 'sqlplus64' tool.

    export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
    exec /usr/lib/oracle/12.2/client64/bin/sqlplus "${@}"
    EOF

    # and create ours instead
    chmod +x /usr/bin/sqlplus
    ln -s /usr/bin/sqlplus /usr/bin/sqlplus64

    chmod 755 /usr/bin/sqlplus

    # delete symlink "/usr/bin/sqlplus64" created by oracle
    rm -f /usr/bin/sqlplus64

    # ... and create our instead
    ln -s /usr/bin/sqlplus /usr/bin/sqlplus64
    ;;
    stop)
    # nothing to stop
    ;;
    *)
    echo "Usage: S20installOracleClient {start|stop}"
    exit 1
    esac
    exit 0
  4. Make the script executable:

    chmod 500 /etc/init.d.custom.first/S10installOracleClient
  5. Reboot your nevisAppliance.

    Note, that system startup takes a bit longer now due to the package installation!

How to enable core dumps

Q: How do I enable core dumps for Nevis components (like nevisProxy) on the nevisAppliance?

A: Core dumps are disabled to protect the current system. You can enable them for support cases (make sure you take care of the disk consumption they need).

To enable core dumps, proceed as described in the following code block:

Enabling core dumps
# vi /etc/systemd/coredump.conf -> uncomment everything '#' except the parms without value (MaxUse,KeepFree)
# sysctl kernel.core_pattern='| /usr/lib/systemd/systemd-coredump %p %u %g %s %t %c %e'
# vi /etc/sysctl.conf -> set "fs.suid_dumpable = 2'
# sysctl -p -> check values from cmd above
# kill -ABRT <pid> as a check to see that it's working…

Core dumps are found in the following directory: /var/lib/systemd/coredump

How to install a custom splunkforwarder

Q: I must have a custom splunkforwarder version on my nevisAppliance, which works with our shop infrastructure/standard, not the most current splunkforwarder version delivered with the Rolling Release. How can I do that?

A: Follow the instructions below to install a custom splunkforwarder version.

  1. Download and copy the RPM to a location that survives reboots (for example, /home/nvbuser/splunkforwarder)

  2. Copy the following script to the directory /etc/init.d.custom.first/S20installsplunkforwarder, use the command chmod to make it executable, and adapt it to your chosen paths and splunkforwarder version.

    Copy this script
    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    export PATH
    case "$1" in
    start)
    /etc/init.d/splunk stop
    rpm -e splunkforwarder
    rpm -i /home/nvbuser/splunkforwarder/splunkforwarder-<version>-linux-2.6-x86_64.rpm
    /etc/init.d/splunk start
    ;;
    stop)
    # nothing to stop
    ;;
    *)
    echo "Usage: S00installsplunkforwarder {start|stop}"
    exit 1
    esac
    exit 0

How to change the Nevis systemd-based startup file

Q: I must change the nevisProxy startup time to be longer (300 seconds) then the default value set because our config is very complex. How can I change the relevant reboot-resistant file on the nevisAppliance?

A: Follow the instructions below to adjust the value and restart/check the service.

Changing Nevis systemd file
(1) First, edit the respective service file and assign the value with an editor:
# systemctl edit [email protected]

In the editor that opens, insert the following two lines which override the default setting of '1min 30s' (although this value is not explicitly seen
in our service file in /usr/lib/systemd/system/[email protected] because this is a standard value set by systemd initially) and assign it your new value of 300 seconds:

[Service]
TimeoutStartSec=300

Reload the daemon:
# systemctl daemon-reload

Now restart the nevisProxy instance:
# nevisproy restart <instance>

Verify the new setting:
# systemctl show nevisproxy@<instance>.service

The value shown differs in the kind how systemd works internally and represents your assigned value. Although you have set 'TimeoutStartSec', systemd shows your assigned value as 'TimeoutStartUSec' (micro-seconds) - because that is the internal representation of the setting. In addition, the value is written in a different format (min and seconds):

Type=forking
Restart=on-failure
PIDFile=/var/opt/nevisproxy/proxy/run/navajo.pid
NotifyAccess=none
RestartUSec=12s
TimeoutStartUSec=5min <==================
TimeoutStopUSec=1min 30s
...