7.1 Start and Use XSH

This topic describes how to start and use the Exascale shell command line interface (XSH).

XSH is a command-line tool that is located on Exadata compute nodes and storage servers. You can use XSH to perform Linux-like commands on Exascale files and storage.

To use XSH you must have access to an Exascale user account and the digital key store (wallet) for the Exascale user account.

If you do not specify a wallet in the XSH command, XSH uses the first Exascale user wallet available in the following search path:

  1. $OSSCONF/eswallet
  2. $ORACLE_BASE/admin/eswallet
  3. /etc/oracle/cell/network-config/eswallet

To run an XSH command, use the following command line syntax:

$ xsh [ XSH-command ]

In the command line, XSH-command specifies an XSH command to run. For example:

$ xsh ls
@MYDATA
$ xsh ls @MYDATA
@MYDATA/x  @MYDATA/y  @MYDATA/z1  @MYDATA/z2  @MYDATA/z3
$

If no command is specified, XSH displays a command list and basic help information. For example:

$ xsh
cat
clone
cp
dd
ls
man
hexdump
rm
scrub
snap
strings
template
touch
xattr
version
chacl
mv
lsacl

Enter 'xsh man <command>' or 'xsh man -e <command>' for details
E.g., Enter 'xsh man dd' or 'xsh man -e dd'
Enter 'xsh man man' to see other options accepted by 'xsh man'

To facilitate troubleshooting, you can enable tracing by setting the $XSH_TRACE_LEVEL environment variable. You can set the trace level to 1 (minimum tracing), 2 (medium tracing), or 3 (maximum tracing). For example:

# sh/bash/ksh
$ export $XSH_TRACE_LEVEL=3

A trace file is written for each XSH command issued while tracing is enabled using the $XSH_TRACE_LEVEL environment variable.

If the $ADR_BASE environment variable is set, the trace file is written to:

$ADR_BASE/diag/EXC/xsh_<username>/<hostname>/trace/xsh_<date>.trc

Otherwise, the trace file is written to:

/tmp/diag/EXC/xsh_<username>/<hostname>/trace/xsh_<date>.trc

To stop and deactivate tracing, you can set the $XSH_TRACE_LEVEL environment variable to 0 (zero). For example:

# sh/bash/ksh
$ export $XSH_TRACE_LEVEL=0

Apart from using the $XSH_TRACE_LEVEL environment variable, you can enable tracing for a single command by including the --trace or -T option in the XSH command. For example:

$ xsh ls --trace 3 @MYDATA