Monitoring and Managing Exadata Storage Servers with ExaCLI
The ExaCLI command line utility allows you to perform monitoring and
management functions on Exadata storage servers in an Exadata Cloud Infrastructure instance.
About the ExaCLI Command The ExaCLI command provides a subset of the commands found in the on-premises Exadata command line utility.
ExaCLI Command Reference You can execute various ExaCLI commands to monitor and manage Exadata Storage Servers associated with your Oracle Cloud Infrastructure Exadata DB system. ExaCLI allows you to get up-to-date, real-time information about your Exadata Cloud Service.
The ExaCLI command provides a subset of the commands found in the
on-premises Exadata command line utility.
ExaCLI offers a subset of the commands found in the on-premises Exadata
command line utility CellCLI utility. The utility runs on the database virtual
machines in the Exadata Cloud Service.
See the ExaCLI Command list in this topic to learn what commands are
available.
You need a username and password to connect to the Exadata Storage Server.
On Exadata Cloud Infrastructure, the preconfigured user for Exadata Storage
Server is cloud_user_clustername, where
clustername is the name of the virtual
machine (VM) cluster that is being used.
You can determine the name of the VM cluster by running the following
crsctl command as the grid user on any cluster
node:
crsctl get cluster name
IThis command returns CRS-6724: Current cluster name is
<cluster_name>
The password for cloud_user_clustername is initially
set to a random value, which you can view by running the following command as the
root user on any cluster
node:
This example shows the user on an Exadata compute node issuing the
command to log in to ExaCLI start an interactive ExaCLI session on a storage
server:
Specifies the remote node to which you
want to connect. ExaCLI prompts for the user name if not
specified.
-l username or
--login-name username
Specifies the user name to log into the remote node.
The preconfigured user is cloud_user_clustername.
--xml
Displays the output in XML format.
--cookie-jar
[filename]
Specifies the filename of the cookie jar to use. If
filename is not specified, the cookie is stored in a default
cookie jar located at HOME/.exacli/cookiejar,
where HOME is the home directory of the OS user running the
ExaCLI command.
The presence of a valid cookie allows the ExaCLI user to execute
commands without requiring to login in subsequent ExaCLI
sessions.
-e command or
-e 'command[; command]' or
-e @batchFile
Specifies either the ExaCLI commands to run or a batch file.
ExaCLI exits after running the commands.
If specifying multiple commands to run, enclose the commands in
single quotes to prevent the shell from interpreting the
semi-colon.
Omit this option to start an interactive ExaCLI session.
--cert-proxy
proxy[:port]
Specifies the proxy server to use when downloading
certificates. If port is omitted, port 80 is used
by default.
-n or
--no-prompt
Suppresses prompting for user input.
Notes for the --cookie-jar option:
The user name and password are sent to the remote node for
authentication. On successful authentication, the remote node issues a
cookie (the login credentials) that is stored in the specified
filename on the database node. If
filename is not specified, the cookie is stored in a
default cookie jar located at HOME/.exacli/cookiejar, where
HOME is the home directory of the operating system user running the ExaCLI
command. For the opc user, the home is /home/opc.
The operating system user running the ExaCLI command is the owner of the
cookie-jar file.
A cookie jar can contain multiple cookies from multiple users on multiple
nodes in parallel sessions.
Cookies are invalidated after 24 hours.
If the cookie is not found or is no longer valid, ExaCLI prompts
for the password. The new cookie is stored in the cookie jar identified by
filename, or the default cookie jar if
filename is not specified.
Even without the --cookie-jar option,
ExaCLI still checks for cookies from the default cookie jar. However, if
the cookie does not exist or is no longer valid, the new cookie will not
be stored in the default cookie jar if the --cookie-jar
option is not specified.
Notes for the -e option:
ExaCLI exits after running the commands.
If specifying multiple commands to run, be sure to enclose the commands in
single quotes to prevent the shell from interpreting the semi-colon.
The batch file is a text file that contains one or more ExaCLI commands to
run.
Notes for the -n (--no-prompt)
option:
If ExaCLI needs additional information from the user, for example, if ExaCLI
needs to prompt the user for a password (possibly because there were no
valid cookies in the cookie-jar) or to prompt the user to confirm the remote
nodeโs identity, then ExaCLI prints an error message and exits.
To use ExaCLI on storage servers, you will need to know your target storage
server's IP address.
If you do not know the IP address of the node you want to connect to, you can
find it by viewing the contents of the cellip.ora file.
The following example illustrates how to do so on the UNIX command line for
a quarter rack system. (Note that a quarter rack has three storage cells, and each cell
has two connections, so a total of six IP addresses are
shown.)
If you are connecting to a storage cell for the first time using ExaCLI, you
may be prompted to accept an SSL certificate. The ExaCLI output in this case will look
like the
following:
exacli -l cloud_user_clustername -c 192.168.136.7 --cookie-jar
No cookies found for cloud_user_clustername@192.168.136.7
Password: *********
EXA-30016: This connection is not secure. You have asked ExaCLI to connect to cell 192.168.136.7 securely. The identity of 192.168.136.7 cannot be verified.
Got certificate from server:
C=US,ST=California,L=Redwood City,O=Oracle Corporation,OU=Oracle Exadata,CN=ed1cl03clu01-priv2.usdc2.oraclecloud.com
Do you want to accept and store this certificate? (Press y/n)
Accept the self-signed Oracle certificate by pressing "y" to continue using ExaCLI.
You can execute various ExaCLI commands to monitor and manage Exadata
Storage Servers associated with your Oracle Cloud Infrastructure Exadata DB system. ExaCLI
allows you to get up-to-date, real-time information about your Exadata Cloud
Service.
Use the LIST command with the following services and objects:
ACTIVEREQUEST- Lists all active requests that are currently being served by
the storage servers.
ALERTDEFINITION - Lists all possible alerts and their sources for storage
servers.
ALERTHISTORY - Lists all alerts that have been issues for the storage
servers.
CELL - Used to list the details of a specific attribute of the storage
servers or storage cells. The syntax is as follows:
LIST CELL ATTRIBUTES A,B,C
, with A, B, and
C being attributes. To see all cell attributes, use the
LIST CELL ATTRIBUTES ALL
command.
CELLDISK - Lists the attributes of the cell disks in the storage servers. Use
the following syntax to list the cell disk details:
LIST CELLDISK cell_disk_name
DETAIL
.
DATABASE - Lists details of the databases. Uses the regular LIST command
syntax:
LIST DATABASE
and
LIST DATABASE DETAIL
. You can also use this command to show
an individual attribute with the following syntax:
LIST DATABASE
ATTRIBUTES NAME
.
FLASHCACHE - Lists the details of the Exadata system's flash cache. For this
object, you can use the following syntax patterns:
LIST FLASHCACHE DETAIL
or
LIST FLASHCACHE
ATTRIBUTES attribute_name
.
FLASHCACHECONTENT - Lists the details of all objects in the flash cache,
or the details of a specified object ID. To list all the details of all objects,
use
LIST FLASHCACHECONTENT DETAIL
. To list details for a
specific object, use a where clause as follows:
LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL
Note: To find the object ID of a specific object, you can query
user_objects
using the object's name to get the
data_object_id
of a partition or table.
FLASHLOG - Lists the attributes for the Oracle Exadata Smart Flash Log.
GRIDDISK - Lists the details of a particular grid disk. The syntax is similar
to the CELLDISK command syntax. To view all attributes:
LIST GRIDDISK grid_disk_name
DETAIL
. To view
specified attributes of the grid disk:
LIST
GRIDDISK grid_disk_name ATTRIBUTES size,
name
.
IBPORT - Lists details of the InfiniBand ports. Syntax is
LIST IBPORT DETAIL
.
IORMPROFILE - Lists any IORM profiles that have been set on the storage
servers. You can also refer back to the profile attribute on the DATABASE object if
a database has an IORM profile on it. Syntax is
LIST
IORMPROFILE
.
LUN - The LUN (logical unit number) object returns the number and the detail
of the physical disks in the storage servers. List the LUNs of the disks with
LIST LUN
. List the details of each LUN with
LIST LUN lun_number
DETAIL
.
METRICCURRRENT - Lists the current metrics for a particular object type.
Syntax is
LIST METRICCURRENT WHERE
objectType = 'CELLDISK'
.
This command also allows for sorting and results limits as seen in the following
example:
LIST METRICCURRENT attributes name, metricObjectName
ORDER BY metricObjectName asc, name desc LIMIT 5
METRICDEFINITION - Lists metric definitions for the object that you can then
get details for. With the command
LIST
metricDefinition WHERE objectType=cell
, you
can get all the metrics for that object type. You can then use the metric definition
object again to get details for one of those specific metrics just listed:
LIST metricDefinition WHERE
name= IORM_MODE DETAIL
.
METRICHISTORY - List metrics over a specified period of time. For example,
with the command
LIST METRICHISTORY WHERE ageInMinutes <
30
, you
can list all the metrics collected over the past 30 minutes. You can also use the
predicate collectionTime to set a range from a specific time. Use collectionTime as
shown in the follow example:
LIST METRICHISTORY WHERE collectionTime
> '2018-04-01T21:12:00-10:00'
.
The metric history object can also be used to see a specific metric using the
objectโs name (for example,
LIST
METRICHISTORY CT_FD_IO_RQ_SM
) or with a
"where" clause to get objects with similar attributes like name (for example,
LIST METRICHISTORY WHERE
name like 'CT_.*'
).
OFFLOADGROUP - Lists the attributes for the offload group that are running on
your storage servers. You can list all details for all groups with
LIST OFFLOADGROUP DETAIL
, or list the attributes for a
specific group, as shown in the following example:
LIST
OFFLOADGROUP offloadgroup4
. List specific
attributes with
LIST OFFLOADGROUP ATTRIBUTES name
.
PHYSICALDISK - Lists all physical disks. Use the results of
LIST PHYSICALDISK
to identify a specific disk for further
investigation, then list the details of that disk using the command as follows:
LIST PHYSICALDISK 20:10 DETAIL
. To list the details of flash
disks, use the command as follows:
LIST PHYSICALDISK
FLASH_1_0 DETAIL
).
PLUGGABLEDATABASE - Lists all PDBs. View the details of a specific PDB with
LIST PLUGGABLEDATABASE pdb_name
.
QUARANTINE - Lists all SQL statements that you prevented from using Smart
Scans. The syntax is
LIST QUARANTINE
DETAIL
. You
can also use a "where" clause on any of the available attributes.
Use the ExaCLI CREATE, ALTER, DROP, and LIST commands to act on the following Exadata Storage Server objects:
DIAGPACK - Lists the diagnostic packages and their status in your Exadata
system. The syntax is
LIST DIAGPACK
[DETAIL]
,
with DETAIL being an optional attribute. Use
CREATE DIAGPACK
with the
packStartTime
attribute to gather logs and trace files
into a single compressed file for downloading, as in the following example:
CREATE DIAGPACK
packStartTime=2019_12_15T00_00_00
.
You can also use the value "now" with packStartTime:
CREATE DIAGPACK packStartTime=now
To download a diagnostic package, use
DOWNLOAD DIAGPACK
package_namelocal_directory
.
For example, the following command downloads a diagnostic package to the /tmp
directory: