11.1 exadcli Command Reference

The exadcli utility runs commands on multiple remote nodes in parallel threads.

Overview

exadcli enables you to issue an ExaCLI command to be run on multiple remote nodes. Remote nodes are referenced by their host name or IP address. Unlike dcli, exadcli can only run ExaCLI commands. Other commands, such as shell commands, cannot be performed using exadcli.

The exadcli utility is installed when the database node is imaged. exadcli does not support an interactive session with a remote application on the remote node.

exadcli connects in parallel to the remote nodes and authenticates the user. Command output (stdout and stderr) is collected and displayed after the command finishes on the specified remote nodes.

exadcli runs ExaCLI in a “no-prompt” mode. This means that if user interaction is needed (for example, if you need to enter a password or if you need to verify that the certificate from a remote node is valid), then exadcli exits with an error. The command exadcli --authenticate can be used to log into every cell or database node using the same password. The authentication token is stored in the cookie jar and future exadcli sessions will not need to enter an password.

Prerequisites

  • To use exadcli, you have to set up users and roles on all the remote nodes.

  • Before using exadcli, you must use ExaCLI to accept the identity certificate of cell or database nodes. This needs to be done only once per cell (unless the cell is upgraded or a new certificate is uploaded to the remote database or cell node), for example:

    Note:

    If you are using Oracle Exadata System Software release 19.3 or later, then enter y or n followed by pressing Enter when prompted.
    $ exacli -l dbnodeadministrator -c dbnode01 --cookie-jar 
    No cookies found for dbnodeadministrator@dbnode01. 
    Password: ************ 
    EXA-30016: This connection is not secure. You have asked ExaCLI to connect to cell dbnode01:7879 securely. The identity of dbnode01:7879 cannot be verified. 
    Got certificate from server: 
    C=US,ST=California,L=Redwood City,O=Oracle Corporation,OU=Oracle Exadata,CN=localhost 
    Do you want to accept and store this certificate? (Press y/n) y 
    exacli dbnodeadministrator@dbnode01:7879> exit 

    You must accept the certificate on every cell or database node. See Using exadcli for the First Time for a complete example of configuring access prior to using exadcli.

  • Java version 1.8 or later

    You can determine the version of Java by running the java -version command. In addition, the JAVA_HOME environment variable must be set to point to the installation directory of the proper version of Java.

File Path

/usr/local/sbin/exadcli

Syntax

You run ExaCLI from the operating system command line.

exadcli options command[; command]

Options

Option Description
-c host [,host] 

--connect=host [,host]

Specifies a comma-delimited list of target remote nodes to which ExaCLI commands are sent.

-g filename

--group-file=filename

Specifies a file containing a list of target remote nodes to which commands are sent. The remote nodes can be identified by host names or IP addresses.

-l username

--login-user=username

Specifies the user to log in as on the remote nodes. This is a DBMCLI or CellCLI user, not an operating system user.

-t

--list

Displays the target remote nodes that are named with the -c option or in the group file identified by the -g option.

-x filename

--exec-file=filename

Specifies the command file to run on the remote nodes. The command file contains a list of ExaCLI commands.

Note: exadcli does not have an interactive mode. You can specify the commands to run using the –x option, or you can specify the commands at the end of the command-line.

--authenticate

Prompts for the user password. The user will be authorized on all remote nodes using the password and the authorization is stored in the default cookie jar.

--max-lines=maxlines

Limits the maximum output lines from a remote node. Default is 100,000 lines.

--xml

Causes the output to be displayed in XML format. This option is passed through to ExaCLI.

-h

--help

Displays the help message.

command

or

'command[; command]'

Specifies ExaCLI commands to run on the remote nodes. To specify multiple commands, enclose the command string in single quotes and separate each command with the semicolon character ;.

Note: exadcli does not have an interactive mode. You can specify the commands to run using the –x option, or you can specify the commands at the end of the command-line.

--cookie-jar [filename]

Specifies the cookie jar file. This option is passed through to ExaCLI.

Note: This option is deprecated. Now, exadcli always uses the cookie jar.

Usage Notes

  • Return values from exadcli are:

    • 0: Commands were run successfully on all the remote nodes.
    • 1: One or more remote nodes could not be reached or a remote command returned a non-zero status.
    • 2: A local error prevented the command.
  • If any remote nodes are down or do not respond, then a message is written to stderr listing the unresponsive remote nodes. The operation continues on other remote nodes, and the return code after completion is 1.

  • If you restart the Management Server (MS), then you must re-authenticate exadcli using the exadcli --authenticate command.

    $ exadcli -c dbnode01,dbnode02,dbnode03 -l dbnodeadministrator --authenticate

Related Topics