### Initial System Admin Account Setup Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/performing-initial-switch-configuration-cisco-nexus-ethernet-switch.html Guides through setting up the system admin account. It prompts to abort auto-provisioning, enforce secure password standards (set to 'no' in this example), and set the admin password. ```bash Running S93thirdparty-script... Populating conf files for hybrid sysmgr ... Starting hybrid sysmgr ... inserting /isan/lib/modules/klm_cisco_nb.o ... done Abort Auto Provisioning and continue with normal setup ? (yes/no) [n]: yes ---- System Admin Account Setup ---- Do you want to enforce secure password standard (yes/no) [y]: no Enter the password for "admin": Confirm the password for "admin": ``` -------------------------------- ### GRUB Command Line Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/using-elastic-configuration-image-new-system.html This snippet shows an example of interacting with the GRUB command line, including setting the root device and installing the bootloader. ```grub grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... failed (this is not fatal) Running "embed /grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal) Running "install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf "... succeeded Done. grub> quit ``` -------------------------------- ### Example: Booting a Guest from a Diagnostic ISO Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/boot-iso-command.html This example demonstrates the full process of booting a guest from a diagnostic ISO, including the commands to start the VM, set up networking if needed, and revert to booting from the hard disk when finished. ```bash # vm_maker --boot-from-iso /root/home/diagnostics.iso --domain dm01vm01 [INFO] Running 'virsh undefine dm01vm01.example.com'... [INFO] Running 'virsh define /var/log/exadatatmp/dm01vm01.example.com.xml.new.357b'... [INFO] The domain 'dm01vm01.example.com' is ready for booting. [INFO] Run the following command to boot from the diagnostic iso: [INFO] [INFO] virsh start dm01vm01.example.com --console [INFO] [INFO] If network is needed to be setup on the VM, run [INFO] setup_management.sh from the console after the guest has booted. [INFO] [INFO] When finished, run the following commands to restore [INFO] the domain to boot from its hard disk: [INFO] [INFO] vm_maker --stop-domain dm01vm01.example.com --force [INFO] vm_maker --boot-from-hd --domain dm01vm01.example.com ``` -------------------------------- ### Setup for Snapshot Tree Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/lssnapshots.html Sequence of commands to create files, snapshots, and clones, setting up the environment for demonstrating the snapshot tree display. ```bash @my-data/> putfile somelocalfile file1 Putting file somelocalfile to @my-data/file1 Success. @my-data/> snapshotfile file1 snap1_of_file1 Success. @my-data/> clonefile file1 clone1 Success. @my-data/> snapshotfile file1 snap2_of_file1 Success. @my-data/> snapshotfile clone1 snap1_of_clone1 Success. ``` -------------------------------- ### Install Exadata System Release with PXE Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/using-pxe-image-new-system-release-12.1.2.2.0-or-higher.html Execute this command to start the installation of the Exadata system release using a configuration file and enabling logging. Ensure node private keys are copied to the OEDA WorkDir if key-based authentication is enabled for the root OS user. ```bash [root] # ./install.sh -cf ../machine_config_file.xml -l ``` -------------------------------- ### Allocate GUIDs Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/configuring-network-cards-x6-2-or-later-ovm-guest.html Example of allocating GUIDs using specific virtual machine configuration files located in the /EXAVMIMAGES/conf directory. ```bash # /opt/exadata_ovm/exadata.img.domu_maker allocate-guids /EXAVMIMAGES/conf/ test08adm01vm01.example.com-vm.xml /EXAVMIMAGES/conf/final-test08adm01vm01 .example.com-vm.xml ``` -------------------------------- ### Manual Steps for Guest Network Interface Configuration Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/adding-bonded-network-interface-guest.html This example outlines the manual steps required within the guest domain after using vm_maker to allocate a bridge. It includes determining a unique interface name, updating udev rules, stopping and starting the domain, and configuring the interface using ipconf.pl. Note that these steps are environment-specific and should not be copied verbatim. ```bash [INFO] Please perform the following manual steps: [INFO] 1. Determine a unique network interface name within the domain to which [INFO] you are attaching this interface. Typically bonded [INFO] interfaces are named bondeth, for example 'bondeth1', and [INFO] non-bonded interfaces are named eth, for example 'eth2'. [INFO] The name must be unique within the domain. In the example below [INFO] the name 'bondeth0' has been chosen. [INFO] 2. Add the following line to the file [INFO] '/etc/udev/rules.d/70-persistent-net.rules' within the domain: [INFO] SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="0000:00:PCI-slot-number.0", ATTR{type}=="1", NAME="guest-interface" [INFO] You MUST execute steps 4 and 5! You CANNOT simply reboot from within [INFO] the domain. [INFO] 4. vm_maker --stop-domain guest-name [INFO] 5. vm_maker --start-domain guest-name [INFO] 6. Login to the domain and run the following command: [INFO] /opt/oracle.cellos/ipconf.pl -nocodes [INFO] This command will ask you for configuration information for this [INFO] new interface. [INFO] NOTE: if you have more than one interface to add to this domain, [INFO] please execute the instructions above, and then call this command again. [INFO] The domain must be stopped and started between invocations of this [INFO] command. ``` -------------------------------- ### Example: Starting up an Offload Group Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/alter-offloadgroup.html Shows how to start up a specific offload group named 'offloadgroup1'. ```APIDOC ## Example 7-61 Starting up the Offload Group Named "offloadgroup1" ``` ALTER OFFLOADGROUP offloadgroup1 startup ``` ``` -------------------------------- ### Configure DNS Servers and Domain Name Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/configuring-cisco-catalyst-4948-ethernet-switch.html Set the domain name and up to three DNS servers for the switch. Ensure to replace example values with your specific installation details. ```bash exa1sw-ip#configure terminal Enter configuration commands,one per line.End with CNTL/Z. exa1sw-ip(config)#ip domain-name example.com exa1sw-ip(config)#ip name-server 10.7.7.3 exa1sw-ip(config)#ip name-server 198.51.100.5 exa1sw-ip(config)#ip name-server 10.8.160.1 exa1sw-ip(config)#end *Sep 15 14:26:37.045:%SYS-5-CONFIG_I:Configured from console by console exa1sw-ip#write memory Building configuration... Compressed configuration from 2603 bytes to 1158 bytes [OK ] ``` -------------------------------- ### Manually Start a KVM Guest Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/starting-user-domain-kvm.html Use this command to manually start a specific KVM guest. Replace `db01_guest01.example.com` with the actual guest name. The guest may take a few minutes to establish network connectivity after starting. ```bash # /opt/exadata_ovm/vm_maker --start-domain db01_guest01.example.com [INFO] Running 'virsh start db01_guest01.example.com... Domain db01_guest01.example.com started [INFO] The domain has been started but may not have network connectivity for several minutes. ``` -------------------------------- ### Start User Domain Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/increasing-size-grid-infrastructure-home-or-database-home-file-system.html Start the user domain by creating it using its configuration file from the management domain. ```bash # xm create /EXAVMIMAGES/GuestImages/DomainName/vm.cfg ``` -------------------------------- ### Example: Setting Up and Testing a Network Interface Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/setup-ip-command.html Demonstrates setting up a network interface with a specific IP, netmask, gateway, and VLAN, then testing connectivity and verifying the configuration. Includes cleanup. ```bash # ping 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. From 10.32.106.12 icmp_seq=1 Destination Host Unreachable ^C --- 192.0.2.1 ping statistics --- 2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 999ms # /opt/exadata_ovm/vm_maker --setup-ip 192.0.2.6 --interface eth3 --netmask 255.255.255.128 --gateway 192.0.2.1 --vlan 144 [INFO] Interface eth3 currently down [INFO] Bringing up interface eth3 [INFO] Interface eth3.144 is plumbed. # ping 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. 64 bytes from 192.0.2.1: icmp_seq=2 ttl=255 time=0.317 ms 64 bytes from 192.0.2.1: icmp_seq=3 ttl=255 time=0.302 ms 64 bytes from 192.0.2.1: icmp_seq=4 ttl=255 time=0.307 ms ^C --- 192.0.2.1 ping statistics --- 4 packets transmitted, 3 received, 25% packet loss, time 3077ms rtt min/avg/max/mdev = 0.302/0.308/0.317/0.021 ms # ip rule 0: from all lookup local 32757: from 192.0.2.6 to 192.0.2.1 iif eth3.144 lookup main 32758: from all to 10.32.96.5 lookup 220 32759: from 10.32.96.5 lookup 220 32760: from all to 10.32.106.0/23 lookup 210 32761: from 10.32.106.0/23 lookup 210 32762: from all to 192.168.0.4 lookup 181 32763: from 192.168.0.4 lookup 181 32764: from all to 192.168.0.3 lookup 180 32765: from 192.168.0.3 lookup 180 32766: from all lookup main 32767: from all lookup default # ip a s | grep eth3 5: eth3: mtu 1500 qdisc mq state UP group default qlen 1000 67: eth3.144@eth3: mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.0.2.6/25 scope global eth3.144 # /opt/exadata_ovm/vm_maker --cleanup-ip eth3 --vlan 144 [INFO] Deleting routing rules. [INFO] Flushing ip-address from interface. # ip a s | grep eth3 5: eth3: mtu 1500 qdisc mq state UP group default qlen 1000 ``` -------------------------------- ### Get Online Help for XSH 'cat' Command Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/start-and-use-xsh.html Use the XSH 'man' command to access specific online help for commands. This example shows how to get help for the 'cat' command, including its synopsis, description, options, and examples. ```bash $ xsh man cat NAME cat - Dump the contents of the file to standard out SYNOPSIS cat [{ -w | --wallet } ] [{ -T | --trace } [ ]] [--aio=] filename DESCRIPTION Dump the contents of the file to standard out. OPTIONS -w, --wallet Path to the wallet directory. -T, --trace Trace level, default level = 1. --aio= Number of async IOs, default=4. EXAMPLES cat --aio=8 @DATA/example.dbf cat /tmp/example.txt -w $OSSCONF/eswallet ``` -------------------------------- ### Install VM Cluster with OEDA Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/adding-cluster-existing-system.html Initiates the installation of a VM cluster on an Oracle Exadata Database Machine using the OEDA tool. Specify the configuration file and the step to start installation. ```bash ./install.sh -cf cluster4.xml -s 18 -nocalibratecell ``` -------------------------------- ### Start vmetrics Service Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/installing-and-starting-vmetrics-service.html Execute the service command as the root user on dom0 to start the vmetrics service after installation. The service will then gather statistics every 30 seconds. ```bash [root@scac10adm01 vmetrics]# service vmetrics.svc start ``` -------------------------------- ### Example: List Database Server Details via REST Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/executing-commands-remotely-using-rest.html This example demonstrates how to run the `list dbserver detail` command on a database node using its specific port. ```URL https://dbnode:7879/MS/RESTService/?cmd=list+dbserver+detail ``` -------------------------------- ### Create Mount Points and Mount Partitions Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/recovering-exadata-x10m-and-x11m-database-servers-customized-partitions.html Create necessary directories as mount points and then mount the formatted partitions using `mount`. This example assumes `/mnt` as the base directory for recovery. ```bash # mount -t xfs /dev/VGExaDb/LVDbSys1 /mnt # mkdir -p /mnt/u01 # mount -t xfs /dev/VGExaDb/LVDbOra1 /mnt/u01 # mkdir -p /mnt/home # mount -t xfs /dev/VGExaDb/LVDbHome /mnt/home # mkdir -p /mnt/var # mount -t xfs /dev/VGExaDb/LVDbVar1 /mnt/var # mkdir -p /mnt/var/log # mount -t xfs /dev/VGExaDb/LVDbVarLog /mnt/var/log # mkdir -p /mnt/var/log/audit # mount -t xfs /dev/VGExaDb/LVDbVarLogAudit /mnt/var/log/audit # mkdir -p /mnt/tmp # mount -t xfs /dev/VGExaDb/LVDbTmp /mnt/tmp # mkdir -p /mnt/boot # mount -t xfs /dev/md24p1 /mnt/boot ``` -------------------------------- ### Get Cluster GUID using crsctl Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/using-omf-exascale.html Retrieve the Oracle Grid Infrastructure (GI) cluster GUID using the `crsctl` command. This is used in OMF file naming conventions. ```bash # crsctl get css clusterguid ``` -------------------------------- ### Get PDB GUID for CDB Snapshots Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/creating-snapshot-full-database.html If creating a snapshot of a Container Database (CDB), retrieve the Globally Unique Identifier (GUID) for each Pluggable Database (PDB) using SQL*Plus. This GUID is used to create specific directories for PDB data files. ```sql sqlplus / as sysdba SQL> ALTER SESSION set container=PDB1; SQL> SELECT guid FROM v$pdbs; ``` -------------------------------- ### Run Pre-checks and Upgrade InfiniBand Switches Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/patchmgr-syntax-infiniband-switches.html This example first runs the prerequisite checks on all InfiniBand switches, then proceeds to upgrade the switches listed in the 'ib_group' file. ```bash ./patchmgr --ibswitches --upgrade --ibswitch_precheck ``` ```bash ./patchmgr --ibswitches ib_group --upgrade ``` -------------------------------- ### LIST SOFTWAREHISTORY Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/list.html Displays the history of software installations and updates. Use this to track software changes. ```shell LIST SOFTWAREHISTORY ``` -------------------------------- ### Mount Partitions Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/recovering-x6-or-earlier-database-servers-customized-partitions.html Provides an example of how partitions are mounted under a top-level directory like /mnt, showing the mapping of logical volumes to mount points. ```text /dev/VGExaDb/LVDbSys1 on /mnt /dev/VGExaDb/LVDbOra1 on /mnt/u01 /dev/sda1 on /mnt/boot ``` -------------------------------- ### Example: Create Devices from Target IPs Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/creating-device-create-device.html This example demonstrates creating devices by specifying a comma-separated list of RDMA Network Fabric IP addresses for targets. The quorumdiskmgr will discover and log into these targets. ```bash quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46" ``` -------------------------------- ### Example: Create an Exascale file Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/touch.html Demonstrates how to create a new 1 gigabyte file using the touch command. ```APIDOC ## Example: Create an Exascale file Assuming that `@my-data/my-file` does not already exist, the following example creates a 1 gigabyte file at `@my-data/my-file`. ```bash $ xsh touch --size=1G @my-data/my-file ``` If the file (`@my-data/my-file`) already existed, the command would set the size of the preexisting file to 1 gigabyte. ``` -------------------------------- ### Reload Cisco Nexus Switch Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/configuring-cisco-nexus-9336c-switch.html Reboots the Cisco Nexus switch to apply configuration changes or to start the automated setup process. Confirm the reload by entering 'y'. ```bash dbm0sw-rocea0# reload This command will reboot the system. (y/n)? [n] y 2017 Aug 31 01:09:00 dbm0sw-rocea0 %$ VDC-1 %$ %PLATFORM-2-PFM_SYSTEM_RESET: Manual system restart from Command Line Interface CISCO SWITCH Ver7.59 Device detected on 0:1:2 after 0 msecs ... ``` -------------------------------- ### Create Exascale File Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/touch.html Demonstrates how to create a new Exascale file with a specified size. If the file exists, its size is updated. ```bash $ xsh touch --size=1G @my-data/my-file ``` -------------------------------- ### Original ifcfg-bondib0 File Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/changing-infiniband-network-information.html Shows the default configuration of the `ifcfg-bondib0` file for an InfiniBand interface. ```bash #### DO NOT REMOVE THESE LINES #### #### %GENERATED BY CELL% #### DEVICE=bondib0 USERCTL=no BOOTPROTO=none ONBOOT=yes IPADDR=192.168.20.8 NETMASK=255.255.248.0 NETWORK=192.168.16.0 BROADCAST=192.168.23.255 BONDING_OPTS="mode=active-backup miimon=100 downdelay=5000 updelay=5000" IPV6INIT=no MTU=65520 ``` -------------------------------- ### Running DBMCLI Commands from a Script Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/start.html Example of using the START command to execute DBMCLI commands from a script file named 'alter_dbserver'. The script file is assumed to be in the current directory. ```shell START alter_dbserver ``` -------------------------------- ### LIST IORMPLAN Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/list.html Displays IORM plan configurations. Use this to review IORM settings. ```shell LIST IORMPLAN ``` -------------------------------- ### Filtering Roles by Name Pattern Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/list-role-dbm.html Use the 'where' clause with a 'like' operator to filter roles based on a name pattern. This example displays roles where the name starts with 'db_'. ```shell DBMCLI> LIST ROLE where name like 'db_*' ``` -------------------------------- ### Start Guest VM from Diagnostic ISO Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/starting-guest-diagnostic-iso.html Execute this command to boot the guest VM using the diagnostic ISO after it has been configured. The `--console` flag attaches to the VM's console. ```bash # virsh start dm01vm01.example.com --console ``` -------------------------------- ### List Cell Disk Attributes in METRICSTREAM Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/list-metricstream.html Filters the metric stream to display attributes related to cell disks. This example uses a LIKE clause to match names starting with 'N_NIC.'. ```shell CellCLI> LIST METRICSTREAM WHERE name LIKE 'N_NIC.*' ``` -------------------------------- ### Example: Cleaning Up a Network Interface Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/cleanup-ip-command.html This example demonstrates the process of cleaning up a network interface previously configured with `--setup-ip`. It shows the state before and after the cleanup, including ping tests, IP address configuration, and routing rules. ```bash # ping 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. From 10.32.106.12 icmp_seq=1 Destination Host Unreachable ^C --- 192.0.2.1 ping statistics --- 2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 999ms # /opt/exadata_ovm/vm_maker --setup-ip 192.0.2.6 --interface eth3 --netmask 255.255.255.128 --gateway 192.0.2.1 --vlan 144 [INFO] Interface eth3 currently down [INFO] Bringing up interface eth3 [INFO] Interface eth3.144 is plumbed. # ping 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. 64 bytes from 192.0.2.1: icmp_seq=2 ttl=255 time=0.317 ms 64 bytes from 192.0.2.1: icmp_seq=3 ttl=255 time=0.302 ms 64 bytes from 192.0.2.1: icmp_seq=4 ttl=255 time=0.307 ms ^C --- 192.0.2.1 ping statistics --- 4 packets transmitted, 3 received, 25% packet loss, time 3077ms rtt min/avg/max/mdev = 0.302/0.308/0.317/0.021 ms # ip rule 0: from all lookup local 32757: from 192.0.2.6 to 192.0.2.1 iif eth3.144 lookup main 32758: from all to 10.32.96.5 lookup 220 32759: from 10.32.96.5 lookup 220 32760: from all to 10.32.106.0/23 lookup 210 32761: from 10.32.106.0/23 lookup 210 32762: from all to 192.168.0.4 lookup 181 32763: from 192.168.0.4 lookup 181 32764: from all to 192.168.0.3 lookup 180 32765: from 192.168.0.3 lookup 180 32766: from all lookup main 32767: from all lookup default # ip a s | grep eth3 5: eth3: mtu 1500 qdisc mq state UP group default qlen 1000 67: eth3.144@eth3: mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.0.2.6/25 scope global eth3.144 # /opt/exadata_ovm/vm_maker --cleanup-ip eth3 --vlan 144 [INFO] Deleting routing rules. [INFO] Flushing ip-address from interface. # ip a s | grep eth3 5: eth3: mtu 1500 qdisc mq state UP group default qlen 1000 ``` -------------------------------- ### Starting a Software Update Immediately Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/alter-softwareupdate.html This example demonstrates how to force an immediate software update using the currently specified attribute values. This is useful for applying updates outside the scheduled time. ```APIDOC ## ALTER SOFTWAREUPDATE UPGRADE FORCE ### Description Immediately starts a software update process, overriding the scheduled time. ### Method CellCLI command ### Endpoint N/A (CellCLI command) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` ALTER SOFTWAREUPDATE UPGRADE FORCE ``` ### Response #### Success Response (200) Indicates that the software update has been initiated. #### Response Example None explicitly provided in source, but implies the update process has started. ``` -------------------------------- ### start-domain Command Syntax Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/start-domain-command.html This is the general syntax for the vm_maker --start-domain command. It outlines the required arguments and available options for starting or creating KVM guests. ```bash vm_maker --start-domain { guest_name | XML-config-file | --all } [ --no-discovery ] [ --keep ] [ --locked ] [ --ssh-key key_file ] [ --secure-boot { enable | disable }] [ --console ] [ --console-log { enable | disable }] ``` -------------------------------- ### Resize Grid Disks with WHERE Clause Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/alter-griddisk.html Resize specific grid disks using the WHERE clause, for example, to resize only RECO disks. This feature is available starting with Oracle Exadata System Software release 20.1.0. ```bash ALTER GRIDDISK size=5T WHERE name like 'RECO.*' ``` -------------------------------- ### Create Mount Points and Mount Partitions Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/recovering-x7-or-x8-oracle-linux-database-servers-customized-partitions.html Create necessary directories as mount points and then mount the respective partitions. Replace `filesystem_type` with `xfs` or `ext4` based on your system's configuration. ```bash # mkdir -p /mnt/u01 # mkdir -p /mnt/boot # mount /dev/VGExaDb/LVDbSys1 /mnt -t filesystem_type # mount /dev/VGExaDb/LVDbOra1 /mnt/u01 -t filesystem_type # mount /dev/sda1 /mnt/boot -t filesystem_type ``` -------------------------------- ### Verify Hardware and OS Installation Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/clone-oracle-grid-infrastructure-replacement-database-server.html Use the cluster verification utility (`cluvfy`) to check hardware and operating system setup on the specified servers. Ignore messages related to storage validation on the replacement server if they fail. ```bash $ cluvfy stage -post hwos -n replacement_server,working_server -verbose ``` -------------------------------- ### Example: Creating a Security Key Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/create-key.html This example demonstrates the usage of the CREATE KEY command and shows the generated hexadecimal security key. The key must be manually copied to the relevant hosts and cells. ```shell CellCLI> CREATE KEY 3452c64fec9a5800bbe48d4093269400 ``` -------------------------------- ### Compare Guest XML Configuration Files Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/recover-and-restart-kvm-guests.html Compare the restored guest XML configuration files in `/etc/libvirt/qemu/` with the backup copies in `/XML/`. This helps identify any necessary manual updates. ```bash # diff /etc/libvirt/qemu/guestname.xml /XML/guestname.xml ``` -------------------------------- ### Configure Interdatabase Plan with Flash Cache Min and Size Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/using-flash-cache-attributes-iorm-plans.html Starting with Oracle Exadata System Software release 19.3.0, you can specify both flashCacheMin and flashCacheSize for the same target. This example demonstrates configuring an interdatabase plan with these combined attributes. ```sql ALTER IORMPLAN - dbplan=((name=sales, share=8, flashCacheMin=3G, flashCacheSize=10G), - (name=finance, share=8, flashCacheLimit=10G, flashCacheMin=2G), - (name=dev, share=2, flashCacheLimit=4G, flashCacheMin=1G), - (name=test, share=1, limit=10, flashCacheSize=1G)) ``` -------------------------------- ### Create Exascale Template Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/mktemplate.html Demonstrates how to create a user-defined Exascale template with specific vault, media type, redundancy, and content type settings. ```bash $ xsh mktemplate --vault my-data --name my-template --media-type EF --redundancy high --content-type DATA ``` -------------------------------- ### Get Oracle Home Patch Inventory Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmr/obtaining-current-configuration-information.html Collects detailed patch inventory for a specific Oracle home across all nodes. Requires running as the Oracle home owner. Note: The example path may need adjustment. ```bash /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory -oh ORACLE_HOME -detail -all_nodes >> opatch_oracle.txt ``` -------------------------------- ### Display Help for a Specific DBMCLI Command Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/help.html Provide a specific command topic as an argument to the HELP command to display detailed help text for that command. For example, to get help on the ALTER command, use 'HELP ALTER'. ```bash DBMCLI> HELP ALTER ``` ```bash DBMCLI> HELP DROP ALERTHISTORY ``` -------------------------------- ### Example: List Database Server Detail Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/executing-commands-remotely-using-rest.html This example shows how to run the `list dbserver detail` command on a database node using the REST API. ```APIDOC ## Example: List Database Server Detail ### Description Retrieve detailed information about the database servers on the Exadata machine. ### Method GET ### Endpoint `https://dbnode:7879/MS/RESTService/?cmd=list+dbserver+detail` ### Parameters #### Query Parameters - **cmd** (string) - Required - The command to execute (`list dbserver detail`). ``` -------------------------------- ### Configure NTP Servers on Cisco Switch Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/configuring-cisco-catalyst-4948-ethernet-switch.html Configure up to two NTP servers for time synchronization. Replace the example IP addresses with your specific installation values. The switch will synchronize to local time once connected to the network and has NTP access. ```cli exa1sw-ip# configure terminal Enter configuration commands,one per line. End with CNTL/Z. exa1sw-ip(config)# ntp server 10.7.7.32 prefer exa1sw-ip(config)# ntp server 198.51.100.19 exa1sw-ip(config)# end *Sep 15 14:51:08.665:%SYS-5-CONFIG_I:Configured from console by console exa1sw-ip# write memory Building configuration... Compressed configuration from 2654 bytes to 1163 bytes [OK ] exa1sw-ip# show ntp status . exa1sw-ip# show clock 21:00:23.175 EST Mon Aug 9 2018 ``` -------------------------------- ### Run install.sh Script with Configuration File Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/configuring-oracle-exadata-database-machine-using-oracle-exadata-deployment-assistant.html Execute the install.sh script to install and deploy the Exadata software. The configuration_file parameter specifies the path to the main XML configuration file. ```bash install.sh configuration_file ``` -------------------------------- ### start-domain Command Syntax and Options Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/start-domain-command.html Use the `--start-domain` command to create and start an Oracle Linux KVM guest. This section outlines the command syntax and available options for managing guest domains. ```APIDOC ## start-domain Command Use the `--start-domain` command to create and start an Oracle Linux KVM guest. ### Syntax ``` vm_maker --start-domain { guest_name | XML-config-file | --all } [ --no-discovery ] [ --keep ] [ --locked ] [ --ssh-key key_file ] [ --secure-boot { enable | disable }] [ --console ] [ --console-log { enable | disable }] ``` ### Options * **guest_name**: The name of an existing guest to start. * **XML-config-file**: The full file name of the XML configuration file for creating a new guest. * **--all**: Starts all existing domains on the host. * **--no-discovery**: Optionally specifies to skip network discovery and bridge creation when creating a new guest. * **--keep**: Indicates that the guest should not be removed even if the first boot fails. * **--locked**: If specified in conjunction with the `--ssh-key` option, password-based authentication is disabled for the `root` user, and access to the guest requires key-based authentication. Otherwise, the option forces users to choose a new password when they log in for the first time. * **--ssh-key**: Optionally specifies the location of a file containing an SSH public key, which is used for authenticating the `root` user. * **--secure-boot**: Optionally controls the KVM Guest Secure Boot feature. KVM Guest Secure Boot leverages the UEFI boot framework in Oracle Linux KVM to restrict which binaries can boot the KVM guest. Exadata support for UEFI in KVM is introduced in Oracle Exadata System Software release 24.1.0. Consequently, KVM Guest Secure Boot is available only on new UEFI boot-enabled KVM guests starting with Oracle Exadata System Software release 24.1.0. * **--secure-boot enable**: Enables KVM Guest Secure Boot on the KVM guest. This is the default for all new UEFI boot-enabled KVM guests. * **--secure-boot disable**: Creates the KVM guest with KVM Guest Secure Boot disabled. * **--console**: Optionally causes `vm_maker` to display console messages when starting existing guests. * **--console-log**: Optionally specifies how logging of console output is handled: * **--console-log enable**: Console output is written to a log file. * **--console-log disable**: Console output is not written to a log file. ``` -------------------------------- ### Install ovmd and xenstoreprovider Packages Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/displaying-statistics.html Installs the necessary packages on Oracle Linux 5 and 6 to support the Oracle VM API. Ensure these packages are installed on domU's. ```bash # yum install ovmd xenstoreprovider ``` -------------------------------- ### ALTER CELL STARTUP SERVICES Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/alter-cell.html Starts specified services on the cell. This command can be used to start individual services, all services, or specific Exascale services. Disabled Exascale services must be started by name. ```APIDOC ## ALTER CELL STARTUP SERVICES ### Description Starts the specified service or all services on the cell. This command is used to initiate services that are currently stopped. ### Syntax ``` ALTER CELL STARTUP SERVICES { RS | MS | CELLSRV | ALL | EGS | USREDS | SYSEDS | ERS | BSM | BSW | IFD } ``` ### Parameters - **Services**: Specifies the service(s) to start. Options include: - `RS`: Restart Server - `MS`: Management Server - `CELLSRV`: Cell Server - `ALL`: RS, MS, CELLSRV, and all enabled Exascale services - `EGS`, `USREDS`, `SYSEDS`, `ERS`, `BSM`, `BSW`, `IFD`: Specific Exascale services ### Usage Notes To enable a disabled Exascale service, you must start it specifically by name. ``` -------------------------------- ### Create User Domain VM Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/recovery-steps-exadata-storage-server-software-releases-12.2.1.1.0-and-later.html Starts a virtual machine instance using its configuration file located within the /EXAVMIMAGES directory. ```bash # xm create /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg ``` -------------------------------- ### Start User Domain Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/modifying-memory-allocated-user-domain.html Start a user domain by creating it using its configuration file. Connect to the console with -c to view boot messages. ```bash # xm create /EXAVMIMAGES/GuestImages/DomainName/vm.cfg ``` -------------------------------- ### Configure Guest to Boot from Hard Drive Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/boot-hd-command.html Use this command to set a guest to boot from its primary boot device. The domain must be started separately using the `--start-domain` command. ```bash vm_maker --boot-from-hd --domain guest-name ``` -------------------------------- ### Start Migrated Guest Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/manually-moving-guest-different-kvm-host.html Start the guest on the target KVM host after the migration process is complete. ```bash # vm_maker --start-domain GuestName ``` -------------------------------- ### Example: Creating a User Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/create-user.html Demonstrates the process of creating a user named 'agarcia' and setting their password. The system prompts for the password and confirmation. ```sql CellCLI> CREATE USER agarcia PASSWORD = * password: Confirm password: password User agarcia successfully created. ``` -------------------------------- ### Example: Dropping a Specific Quarantine Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/drop-quarantine.html This example demonstrates how to drop a single quarantine identified by its number. ```shell CellCLI> DROP QUARANTINE 1 ``` -------------------------------- ### InfiniBand Partition Configuration File Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/configuring-infiniband-partitioning-oracle-vm-rac-clusters.html This is an example of an InfiniBand partition configuration file. It defines default and specific partition settings for IP over InfiniBand (IPoIB) interfaces. ```shell #! version_number : 1 #! version_number : 12 Default=0x7fff, ipoib : ALL_CAS=full, ALL_SWITCHES=full, SELF=full; SUN_DCS=0x0001, ipoib : ALL_SWITCHES=full; = 0x0004,ipoib: 0x0021280001cf3787=full, 0x0021280001cf205b=full; ``` -------------------------------- ### Example Output for Domain Shutdown Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/shutting-user-domain-management-domain.html This is an example of the output you might see after successfully shutting down domains. ```text Domain dm01db01vm04 terminated All domains terminated ``` -------------------------------- ### Example: Update DNS and View Output Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/change-dns-server-exadata-storage-server.html This example demonstrates updating DNS servers with specific IP addresses and shows the typical output, including informational messages and configuration backup details. ```bash [root@dbm03celadm06]# ipconf -update -dns 10.31.138.25,10.231.225.65 [Info]: ipconf command line: ipconf -update -dns 10.31.138.25,10.231.225.65 Logging started to /var/log/cellos/ipconf.log [Info]: Updating dns/ntp [Info]: Backup existing cell configuration file /opt/oracle.cellos/cell.conf to /var/log/exadatatmp/cell.conf_2020_01_13-17_59_44 [Info]: Custom changes have been detected in /etc/resolv.conf [Info]: Original file /etc/resolv.conf will be saved in /etc/resolv.conf.backupbyExadata [Done]: Update cell configuration file /opt/oracle.cellos/cell.conf OK ``` -------------------------------- ### Change Group ID Example Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmmn/manually-changing-user-ids-and-group-ids-dbmsrv.html Example of changing the group ID for the `dbmusers` group to `3001`. ```bash # groupmod -g 3001 dbmusers ``` -------------------------------- ### Example: Describing the DATABASE Object Source: https://docs.oracle.com/en/engineered-systems/exadata-database-machine/sagug/describe-database.html This example demonstrates how to use the DESCRIBE DATABASE command to view all available attributes for a database. The output lists various database configuration and performance-related attributes. ```shell CellCLI> DESCRIBE DATABASE name asmClusterName databaseID flashCacheLimit flashCacheMin flashCacheSize iormDiskLimit iormDiskShare iormFlashLimit iormFlashShare lastRequestTime pmemCacheLimit pmemCacheMin pmemCacheSize profile xrmemCacheLimit xrmemCacheMin xrmemCacheSize ```