Friday, 29 September 2017

Oracle Database Appliance Hardware Generation

Oracle Database Appliance

Oracle Database Appliance (ODA) is a pre-configured, highly available Oracle Database Engineered system. ODA system consists of hardware, software, storage and networking. The hardware configuration is designed to provide redundancy and protection against single points of failures in the system.

The Oracle Database Appliance saves time and money by simplifying deployment, maintenance, and support of high availability Database solutions.

ODA consists of two physical servers (Node 0 and Node 1), a storage shelf and optionally an additional storage shelf. The two independent physical servers are interconnected and direct attached to SAS and SSD storage.

ODA is basically a 2-node RAC cluster database system running Oracle Linux operating (OEL), Oracle Database, Oracle Grid Infrastructure (Clusterware and ASM). All these together provides the Oracle Database high availability running on ODA.

Advantages of Oracle Database Appliance

Oracle marketed ODA using the tagline "Simple, Reliable and Affordable".

  • Simple: The ODA deployment made simple and easy to use by using the wizard based deployment.
  • Reliable: The ODA platform provide complete high availability for Database and Application
  • Affordable: With ODA you have the benefit of using Capacity-on-Demand Licensing. Pay for what you use.

Few other benefits includes

  • Saves Time and Money
  • Single Vendor Support
  • High Performance and High Availability
  • End to End Monitoring for all components
  • Reduced Cost
  • Easy management and Supporting


History of ODA Generation

  • V1      - Released in 2011 -  First ODA model 
  • X3-2    - Released in 2013 -  First Generation ODA model
  • X4-2    - Released in 2013 -  Second Generation ODA model
  • X5-2    - Released in 2015 -  Third Generation ODA model
  • X6-2    - Released in 2016 -  Fourth Generation ODA model

Below picture provides few details on the Oracle Database Appliance Hardware generation and enhancement.



In my next article I will touch base on Oracle Database Appliance X6-2 Small, Medium and Large.

Conclusion
In this article we have learned about Oracle Database Appliance and different hardware generations. The Oracle Database Appliance saves time and money by simplifying deployment, maintenance, and support of high availability Database solutions. 

Tuesday, 26 September 2017

Oracle Database Appliance Health Check

Introduction

Oracle introduced odachk with ODA version 2.3. Later in ODA 12.10 it was renamed to orachk.
Oracle ORAchk tool provides a lightweight and non-intrusive health check framework for the Oracle stack of software and hardware components.
ORAchk is available for Oracle Database and Oracle Database Appliance. For all other Engineered systems use EXAchk.


ORAchk Utility

ORAchk is a Configuration Audit tool developed by Oracle to audit various important configuration settings within Real Application Clusters (RAC), Oracle Clusterware (CRS), Automatic Storage Management (ASM) and Grid Infrastructure environments.

Benefits of ORAchk

  • Automates risk identification and proactive notification before business is impacted
  • Runs health checks based on critical and reoccurring problems
  • No risk involved as the report is stored on the server locally
  • Automate health check reports

In this article we will demonstrate how to execute orachk on Oracle Database Appliance


Running ORAchk On Oracle Database Appliance

Execute oakcli orachk -h command to list different options available with orachk

[root@odanode1 ~]# oakcli orachk -h
Usage : ./orachk [-abvhpfmsuSo:c:t:]

        -h      Prints this page.
        -a      All (Perform best practice check and recommended patch check)
        -b      Best Practice check only. No recommended patch check
        -v      Show version
        -p      Patch check only
        -m      exclude checks for Maximum Availability Architecture (MAA) scorecards(see user guide for more details)
        -u      Run orachk to check pre-upgrade or post-upgrade best practices for 11.2.0.3 and above
                -o pre or -o post is mandatory with -u option like ./orachk -u -o pre
        -f      Run Offline.Checks will be performed on data already collected from the system
        -o      Argument to an option. if -o is followed by v,V,Verbose,VERBOSE or Verbose, it will print checks which passs on the screen
                if -o option is not specified,it will print only failures on screen. for eg: orachk -a -o v

        -clusternodes
                Pass comma separated node names to run orachk only on subset of nodes.
        -output
               Create orachk collection zip file and ouptut directory to non-default(current) location.
        -dbnames
                Pass comma separated database names to run orachk only on subset of databases
        -localonly
                Run orachk only on local node.
        -debug
                Run orachk in debug mode. Debug log will be generated.
                eg:- ./orachk -debug
        -dbnone
                Do not prompt database selection and skip all database related checks.
        -dball
                Do not prompt database selection and run database related checks on all databases discovered on system.

        -c      Used only under the guidance of Oracle support or development to override default components

        -upgrade
                Used to force upgrade the version of orachk being run.
        -noupgrade
                Do not prompt for an upgrade even if a later version is available under the location specified by RAT_UPGRADE_LOC.
        -syslog
               Write JSON results from orachk run to syslog.
        -skip_usr_def_checks
                Do not run checks present in user defined xml file.


...
...
...


Execute the following command to run an ODA health check for all components which include checking best practice and recommended patch check

[root@odanode1 ~]# oakcli orachk

Checking for prompts on odanode1 for grid user...

Checking ssh user equivalency settings on all nodes in cluster

Node odanode2 is configured for ssh user equivalency for root user

Checking for prompts for grid user on all nodes...

Searching for running databases . . . . .

. . . . . . . . . . . . . .
List of running databases registered in OCR
1. odatest
2. odauat
3. odadev
4. odaprod
5. All of above
6. None of above

Select databases from list for checking best practices. For multiple databases, select 5 for All or comma separated number like 1,2 etc [1-6][5].5

Searching out ORACLE_HOME for selected databases.

. .
Checking for prompts for oracle user on all nodes...

. . . . . . . . . . . . . . . . . . . . . . . .

.
Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Checking for prompts for oraoem user on all nodes...

. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-------------------------------------------------------------------------------------------------------
                                                 Oracle Stack Status
-------------------------------------------------------------------------------------------------------
Host Name  CRS Installed  RDBMS Installed  CRS UP    ASM UP    RDBMS UP  DB Instance Name
-------------------------------------------------------------------------------------------------------
odanode1 Yes             Yes             Yes        Yes      Yes      odatest odauat odadev odaprod
odanode2 Yes             Yes             Yes        Yes      Yes      odatest odauat odadev odaprod
-------------------------------------------------------------------------------------------------------

*** Checking Best Practice Recommendations (PASS/WARNING/FAIL) ***


Collections and audit checks log file is
/opt/oracle/oak/orachk/orachk_odanode1_odatest_091117_153015/log/orachk.log

Checking for prompts in /root/.bash_profile on odanode1 for root user...

Checking for prompts in /root/.bash_profile on odanode2 for root user...

Starting to run orachk in background on odanode2

. .
=============================================================
                    Node name - odanode1
=============================================================
. . . . .

Collecting - ASM Diskgroup Attributes
Collecting - ASM initialization parameters
Collecting - Database Parameters for odatest database
Collecting - Database Parameters for odauat database
Collecting - Database Parameters for odadev database
Collecting - Database Parameters for odaprod database
Collecting - Database Parameters for odatest database
Collecting - Database Parameters for odauat database
Collecting - Database Parameters for odadev database
Collecting - Database Parameters for odaprod database
Collecting - Database Undocumented Parameters for odatest database
Collecting - Database Undocumented Parameters for odauat database
Collecting - Database Undocumented Parameters for odadev database
Collecting - Database Undocumented Parameters for odaprod database
Collecting - RDBMS Feature Usage for odatest database
Collecting - RDBMS Feature Usage for odauat database
Collecting - RDBMS Feature Usage for odadev database
Collecting - RDBMS Feature Usage for odaprod database
Collecting - Kernel parameters
Collecting - Maximum number of semaphore sets on system
Collecting - Maximum number of semaphores on system
Collecting - Maximum number of semaphores per semaphore set
Collecting - OS Packages
Collecting - Patches for Grid Infrastructure
Collecting - Patches for RDBMS Home
Collecting - number of semaphore operations per semop system call
Collecting - CRS user limits configuration
Collecting - Firmware and software versions
Collecting - Network and Bonding Interfaces Status
Collecting - OS Disk Storage Status
Collecting - System Component Status
Collecting - Validate Shared storage


Data collections completed. Checking best practices on odanode1.
--------------------------------------------------------------------------------------

 INFO =>    Oracle Database Appliance Best Practice References
 WARNING => ORA_CRS_HOME environment variable is set
 INFO =>    $CRS_HOME/log/hostname/client directory has too many older log files.
 INFO =>    user_dump_dest has trace files older than 30 days for odauat
 INFO =>    user_dump_dest has trace files older than 30 days for odadev
 INFO =>    background_dump_dest has files older than 30 days for odauat
 INFO =>    background_dump_dest has files older than 30 days for odadev
 INFO =>    Some data or temp files are not autoextensible for odatest
 INFO =>    Number of SCAN listeners is NOT equal to the recommended number of 3.
 WARNING => NIC bonding is NOT configured for public network (VIP)
 FAIL =>    ASM Audit file destination file count > 100,000
 FAIL =>    Database parameter DB_LOST_WRITE_PROTECT is NOT set to recommended value on odauat instance
 FAIL =>    Database parameter DB_LOST_WRITE_PROTECT is NOT set to recommended value on odadev1 instance
 FAIL =>    Database parameter GLOBAL_NAMES is NOT set to recommended value on odauat instance
 FAIL =>    Database parameter GLOBAL_NAMES is NOT set to recommended value on odatest instance
 FAIL =>    Database parameter GLOBAL_NAMES is NOT set to recommended value on odadev1 instance
 FAIL =>    One or more errors for network and bonding interface checks
 INFO =>    Some custom (non-default) RPM are installed
 WARNING => Database parameter DB_BLOCK_CHECKING is NOT set to the recommended value. on odatest instance
 WARNING => Database parameter _DISABLE_INTERFACE_CHECKING is NOT set to recommended value on odatest instance
 INFO =>    Parallel Execution Health-Checks and Diagnostics Reports for odatest

Best Practice checking completed.Checking recommended patches on odanode1.
---------------------------------------------------------------------------------

Collecting patch inventory on CRS HOME /u01/app/12.1.0.2/grid
Collecting patch inventory on ASM HOME /u01/app/12.1.0.2/grid
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome1
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome2
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome3
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/12.1.0.2/dbhome4

Copying results from odanode2 and generating report. This might take a while. Be patient.

. .
=============================================================
                    Node name - odanode2
=============================================================
. . . . .

Collecting - Kernel parameters
Collecting - Maximum number of semaphore sets on system
Collecting - Maximum number of semaphores on system
Collecting - Maximum number of semaphores per semaphore set
Collecting - OS Packages
Collecting - Patches for Grid Infrastructure
Collecting - Patches for RDBMS Home
Collecting - number of semaphore operations per semop system call
Collecting - CRS user limits configuration
Collecting - Firmware and software versions
Collecting - Network and Bonding Interfaces Status
Collecting - OS Disk Storage Status
Collecting - System Component Status
Collecting - Validate Shared storage

Data collections completed. Checking best practices on odanode2.
--------------------------------------------------------------------------------------

 INFO =>    $CRS_HOME/log/hostname/client directory has too many older log files.
 INFO =>    user_dump_dest has trace files older than 30 days for odaprod
 INFO =>    user_dump_dest has trace files older than 30 days for odadev
 INFO =>    background_dump_dest has files older than 30 days for odaprod
 INFO =>    background_dump_dest has files older than 30 days for odadev
 INFO =>    Number of SCAN listeners is NOT equal to the recommended number of 3.
 WARNING => NIC bonding is NOT configured for public network (VIP)
 FAIL =>    ASM Audit file destination file count > 100,000
 FAIL =>    Database parameter DB_LOST_WRITE_PROTECT is NOT set to recommended value on odaprod instance
 FAIL =>    Database parameter DB_LOST_WRITE_PROTECT is NOT set to recommended value on odadev2 instance
 FAIL =>    Database parameter GLOBAL_NAMES is NOT set to recommended value on odaprod instance
 FAIL =>    Database parameter GLOBAL_NAMES is NOT set to recommended value on odadev2 instance
 FAIL =>    One or more errors for network and bonding interface checks
 INFO =>    Some custom (non-default) RPM are installed

Best Practice checking completed.Checking recommended patches on odanode2.
---------------------------------------------------------------------------------

Collecting patch inventory on CRS HOME /u01/app/12.1.0.2/grid
Collecting patch inventory on ASM HOME /u01/app/12.1.0.2/grid
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome1
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome2
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/11.2.0.4/dbhome3
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/12.1.0.2/dbhome4

---------------------------------------------------------------------------------
                      CLUSTERWIDE CHECKS
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------

Detailed report (html) - /opt/oracle/oak/orachk/orachk_odanode1_odatest_091117_153015/orachk_odanode1_odatest_091117_153015.html
UPLOAD(if required) - /opt/oracle/oak/orachk/orachk_odanode1_odatest_091117_153015.zip

Review the report for FAILURE, WARNING and take necessary action to fix the issue by following the recommendation provided within the report. You can also work with Oracle Support if don't understand a particular issue or if you want to clarify with them before taking an action.



Conclusion

In this article we have learned to perform an Oracle Database Appliance Health check using orachk. Oracle introduced odachk with ODA version 2.3. Later in ODA 12.10 it was renamed to orachk. Oracle ORAchk tool provides a lightweight and non-intrusive health check framework for the Oracle stack of software and hardware components.

Saturday, 23 September 2017

Oracle Database Appliance Kit Command Line Interface (oakcli)

Introduction

oakcli stands for Oracle Appliance Kit Command Line Interface. oakcli utility is used to manage Oracle Database Applaince. It used to carry out management tasks such as, Deploying, Patching, validating, monitoring, troubleshooting, Create Database, Create database homes, Configuring core key, manage Virtual machines and so on. 

oakcli utility is located under the direcoty /opt/oracle/oak/bin/oakcli
oakcli logs oakcli commands output under the directory /opt/oracle/oak/log/<hostname>/client/oakcli.log

Few things that you can do with oakcli but not limited to are:

  • Deploy Oracle Database Appliance
  • Configure network for Oracle Database Appliance deployment
  • Patching Oracle Database Appliance
  • Unpacking packages into oakcli repository
  • Troubleshoot Oracle Database Appliance
  • Monitor Oracle Database Appliance
  • Validate Oracle Database Appliance
  • Applying the Core Configuration key
  • Copying the deployment configuration file
  • Locate a disk on ODA
  • Manage ODA Repository
  • Manage ODA diagnostics collection


Execute the oakcli -h command to list the different options available with oakcli:

[root@odanode1 ~]# oakcli -h
Usage:  oakcli show       - Shows disk, diskgroup, expander, controller, server, processor, memory, power, cooling, network, enclosure, storage, version, fs, raidsyncstatus, dbhomes, dbstorage, databases, db_config_params, core_config_key, env_hw, ASR
        oakcli configure  - Configures the Network or ASR or additional Net
        oakcli apply      - Applies the core_config_key
        oakcli locate     - Locates a disk
        oakcli deploy     - Deploys the Database Appliance
        oakcli update     - Updates the Database Appliance
        oakcli validate   - Validates the Database Appliance
        oakcli manage     - Manages the OAK repository, diagcollect etc.,
        oakcli unpack     - Unpack the given package to OAK repository
        oakcli copy       - Copies the deployment config file
        oakcli upgrade    - Upgrades database
        oakcli stordiag   - Run storage diagnostic tool on both Nodes
        oakcli test       - Test ASR
        oakcli orachk     - Performs configuration settings check on ODA
        oakcli create     - Creates Database, DB storage, snapshotdb, dbhome, db_config_params file
        oakcli delete     - Deletes Database, DB storage, dbhome, db_config_params file
        oakcli modify     - Performs modify opeartions on Database
        oakcli resize     - Resizes DB storage

Commonly used Oracle Database Appliance Commands used on daily basis and their Output 


  • Execute the following command to list all the options that can be used with oakcli show

[root@odanode1 ~]# oakcli show -h
Usage:
oakcli show {disk|diskgroup|expander|fs|raidsyncstatus|controller|server|processor|memory|iraid|power|cooling|network|ib|enclosure|storage|core_config_key|version|dbhomes|dbstorage|databases|db_config_params|asr|env_hw} [<options>]
where:
        disk                     - About the disk
        diskgroup                - ASM disk group
        expander                 - Expander
        fs                       - Filesystem
        controller               - Controller
        storage                  - All storage components
        version                  - Running software version
        dbhomes                  - Installed oracle database homes
        dbstorage                - Details of ACFS storage setup for the databases
        databases                - Database names
        db_config_params         - db_config_params file
        asr                      - ASR configuration
        env_hw                   - Environment and Hardware information
        server                   - Details of server sub-system
        processor                - Details of processor sub-system
        memory                   - Details of memory sub-system
        iraid                    - Details of internal RAIDs sub-system
        power                    - Details of power supply sub-system
        cooling                  - Details of cooling sub-system
        network                  - Details of network sub-system
        ib                       - Details of infiniband sub-system
        enclosure                - Details of enclosure sub-system
        raidsyncstatus           - RAID sync status information
        core_config_key          - Core configuration
For detailed help on each command and object and its options use:
oakcli <command> <object> -h


  • To check if whether ODA deployment is Bare Metal or Virtualized

[root@odanode1 ~]# oakcli show env_hw
BM ODA X5-2
Public interface : COPPER
or
[root@odanode1 ~]# lsmod |grep net
( If no reply, It means the ODA is Bare Metal)


  • To get the ODA software version

[root@odanode1 ~]# oakcli show version
Version
-------
12.1.2.9.0


  • To get the ODA software and component version

[root@odanode1 ~]# /opt/oracle/oak/bin/oakcli show version -detail
Reading the metadata. It takes a while...
System Version  Component Name            Installed Version         Supported Version
--------------  ---------------           ------------------        -----------------
12.1.2.10.0
                Controller_INT            11.05.03.00               Up-to-date
                Controller_EXT            11.05.03.00               Up-to-date
                Expander                  0018                      Up-to-date
                SSD_SHARED                944A                      Up-to-date
                HDD_LOCAL                 A72A                      Up-to-date
                HDD_SHARED                A72A                      Up-to-date
                ILOM                      3.2.8.25 r114493          Up-to-date
                BIOS                      25040100                  Up-to-date
                IPMI                      1.8.12.4                  Up-to-date
                HMP                       2.3.5.2.8                 Up-to-date
                OAK                       12.1.2.10.0               Up-to-date
                OL                        6.8                       Up-to-date
                GI_HOME                   12.1.0.2.170117(2473      Up-to-date
                                          2082,24828633)
                DB_HOME                   12.1.0.2.170117(2473      Up-to-date
                                          2082,24828633)


  • To list the shared disks on ODA

[root@odanode1 ~]# oakcli show disk
        NAME            PATH            TYPE            STATE           STATE_DETAILS
        e0_pd_00        /dev/sda        HDD             ONLINE          Good
        e0_pd_01        /dev/sdc        HDD             ONLINE          Good
        e0_pd_02        /dev/sde        HDD             ONLINE          Good
        e0_pd_03        /dev/sdg        HDD             ONLINE          Good
        e0_pd_04        /dev/sdi        HDD             ONLINE          Good
        e0_pd_05        /dev/sdk        HDD             ONLINE          Good
        e0_pd_06        /dev/sdm        HDD             ONLINE          Good
        e0_pd_07        /dev/sdo        HDD             ONLINE          Good
        e0_pd_08        /dev/sdq        HDD             ONLINE          Good
        e0_pd_09        /dev/sds        HDD             ONLINE          Good
        e0_pd_10        /dev/sdu        HDD             ONLINE          Good
        e0_pd_11        /dev/sdw        HDD             ONLINE          Good
        e0_pd_12        /dev/sdy        HDD             ONLINE          Good
        e0_pd_13        /dev/sdaa       HDD             ONLINE          Good
        e0_pd_14        /dev/sdac       HDD             ONLINE          Good
        e0_pd_15        /dev/sdae       HDD             ONLINE          Good
        e0_pd_16        /dev/sdag       SSD             ONLINE          Good
        e0_pd_17        /dev/sdah       SSD             ONLINE          Good
        e0_pd_18        /dev/sdaj       SSD             ONLINE          Good
        e0_pd_19        /dev/sdal       SSD             ONLINE          Good
        e0_pd_20        /dev/sdan       SSD             ONLINE          Good
        e0_pd_21        /dev/sdap       SSD             ONLINE          Good
        e0_pd_22        /dev/sdas       SSD             ONLINE          Good
        e0_pd_23        /dev/sdau       SSD             ONLINE          Good


  • To list ASM disk groups on ODA

[root@odanode1 ~]# oakcli show diskgroup
DiskGroups
----------
DATA
FLASH
RECO
REDO


  • To list the Local file system and ACFS file system on ODA

[root@odanode1 ~]# oakcli show fs
      Type     Total Space      Free Space  Total DG Space   Free DG Space  Diskgroup Mount Point
      ext3          29757M          12875M               -               -            /
      ext3             98M             61M               -               -            /boot
      ext3          59515M          21886M               -               -            /opt
      ext3         297580M          99815M               -               -            /u01
      acfs          51200M          51022M       52428736M       50878580M       DATA /u02/app/oracle/oradata/EC00001
      acfs          51200M          38661M       52428736M       50878580M       DATA /u02/app/oracle/oradata/EC00002
      acfs          51200M          51022M       52428736M       50878580M       DATA /u02/app/oracle/oradata/EC00003
      acfs         614400M         498139M       52428736M       50878580M       DATA /u02/app/oracle/oradata/datastore
      acfs         113920M         112668M        1526208M        1145088M      FLASH /u02/app/oracle/oradata/flashdata
      acfs          51200M          51022M        8618304M        4531524M       RECO /cloudfs
      acfs           5120M           5033M        8618304M        4531524M       RECO /u01/app/oracle/fast_recovery_area/EC00001
      acfs           5120M           3446M        8618304M        4531524M       RECO /u01/app/oracle/fast_recovery_area/EC00002
      acfs           5120M           5033M        8618304M        4531524M       RECO /u01/app/oracle/fast_recovery_area/EC00003
      acfs        1971200M        1923144M        8618304M        4531524M       RECO /u01/app/oracle/fast_recovery_area/datastore
      acfs           1536M           1456M         763120M         671776M       REDO /u01/app/oracle/oradata/EC00001
      acfs           1536M           1070M         763120M         671776M       REDO /u01/app/oracle/oradata/EC00002
      acfs           1536M           1456M         763120M         671776M       REDO /u01/app/oracle/oradata/EC00003
      acfs          25600M          13484M         763120M         671776M       REDO /u01/app/oracle/oradata/datastore


  • To list ODA Storage Shelve details

[root@odanode1 ~]# oakcli show storage
==== BEGIN STORAGE DUMP ========
Host Description: Oracle Corporation:ORACLE SERVER X5-2
Total number of controllers: 3
        Id         = 1
        Serial Num = 500605b00a2f5c10
        Vendor     = LSI Logic
        Model      = ORCL-EXT-SAS3
        FwVers     = 09.00.00.00
        strId      = mpt3sas:03:00.0

        Id         = 2
        Serial Num = 500605b00a2f5b00
        Vendor     = LSI Logic
        Model      = ORCL-EXT-SAS3
        FwVers     = 09.00.00.00
        strId      = mpt3sas:13:00.0

        Id         = 0
        Serial Num = SV52603740
        Vendor     = LSI Logic
        Model      = LSI MegaRAID 9361-8i
        FwVers     = 4.230.40-3739
        strId      = mptmega:23:00.0

Total number of expanders: 2
        Id         = 1
        Serial Num = 5080020001e65bea
        Vendor     = ORACLE
        Model      = DE2-24C
        FwVers     = 0018
        strId      = Secondary
        WWN        = 5080020001e677be

        Id         = 0
        Serial Num = 5080020001e65bea
        Vendor     = ORACLE
        Model      = DE2-24C
        FwVers     = 0018
        strId      = Primary
        WWN        = 5080020001ea4ebe

Total number of PDs: 24
        /dev/sda        LSI Logic         HDD 4000gb slot:  0  exp:  0
        /dev/sdc        LSI Logic         HDD 4000gb slot:  1  exp:  0
        /dev/sde        LSI Logic         HDD 4000gb slot:  2  exp:  0
        /dev/sdg        LSI Logic         HDD 4000gb slot:  3  exp:  0
        /dev/sdi        LSI Logic         HDD 4000gb slot:  4  exp:  0
        /dev/sdk        LSI Logic         HDD 4000gb slot:  5  exp:  0
        /dev/sdm        LSI Logic         HDD 4000gb slot:  6  exp:  0
        /dev/sdo        LSI Logic         HDD 4000gb slot:  7  exp:  0
        /dev/sdq        LSI Logic         HDD 4000gb slot:  8  exp:  0
        /dev/sds        LSI Logic         HDD 4000gb slot:  9  exp:  0
        /dev/sdu        LSI Logic         HDD 4000gb slot: 10  exp:  0
        /dev/sdw        LSI Logic         HDD 4000gb slot: 11  exp:  0
        /dev/sdy        LSI Logic         HDD 4000gb slot: 12  exp:  0
        /dev/sdaa       LSI Logic         HDD 4000gb slot: 13  exp:  0
        /dev/sdac       LSI Logic         HDD 4000gb slot: 14  exp:  0
        /dev/sdae       LSI Logic         HDD 4000gb slot: 15  exp:  0
        /dev/sdag       LSI Logic         SSD  400gb slot: 16  exp:  0
        /dev/sdah       LSI Logic         SSD  400gb slot: 17  exp:  0
        /dev/sdaj       LSI Logic         SSD  400gb slot: 18  exp:  0
        /dev/sdal       LSI Logic         SSD  400gb slot: 19  exp:  0
        /dev/sdan       LSI Logic         SSD  200gb slot: 20  exp:  0
        /dev/sdap       LSI Logic         SSD  200gb slot: 21  exp:  0
        /dev/sdas       LSI Logic         SSD  200gb slot: 22  exp:  0
        /dev/sdau       LSI Logic         SSD  200gb slot: 23  exp:  0
==== END STORAGE DUMP =========


  • To list Database homes on ODA

[root@odanode1 ~]# oakcli show dbhomes
Oracle Home Name      Oracle Home version                  Home Location
----------------      -------------------                  ------------
OraDb12102_home1      2.1.0.2.170117(24732082,24828633)  /u01/app/oracle/product/12.1.0.2/dbhome_1


  • To list database storage on ODA

[root@odanode1 ~]# oakcli show dbstorage

All the DBs with DB TYPE as non-CDB share the same volumes

DB_NAMES           DB_TYPE    Filesystem                                        Size     Used    Available    AutoExtend Size  DiskGroup
-------            -------    ------------                                    ------    -----    ---------   ----------------   --------
odatest            CDB        /u01/app/oracle/oradata/EC00001                    1.5G     0.45G       1.05G              1G        REDO
                              /u02/app/oracle/oradata/EC00001                     50G    12.24G      37.76G              1G        DATA
                              /u01/app/oracle/fast_recovery_area/EC00001           5G     1.63G       3.37G              1G        RECO

odaprod            non-CDB    /u01/app/oracle/oradata/datastore                   25G    11.83G      13.17G             N/A        REDO
                              /u02/app/oracle/oradata/datastore                  600G   113.54G     486.46G             N/A        DATA
                              /u02/app/oracle/oradata/flashdata               111.25G     1.22G     110.03G             55G       FLASH
                              /u01/app/oracle/fast_recovery_area/datastore      1925G    46.93G    1878.07G            194G        RECO
odadev             CDB        /u01/app/oracle/oradata/EC00002                    1.5G     0.08G       1.42G              1G        REDO
                              /u02/app/oracle/oradata/EC00003                     50G     0.17G      49.83G              1G        DATA
                              /u01/app/oracle/fast_recovery_area/EC00003           5G     0.08G       4.92G              1G        RECO

odaqa              CDB        /u01/app/oracle/oradata/EC00002                    1.5G     0.08G       1.42G              1G        REDO
                              /u02/app/oracle/oradata/EC00002                     50G     0.17G      49.83G              1G        DATA
                              /u01/app/oracle/fast_recovery_area/EC00002           5G     0.08G       4.92G              1G        RECO


  • To list databases on ODA

[root@odanode1 ~]# oakcli show databases
Name     Type       Storage   HomeName             HomeLocation                                       Version
-----    ------     --------  --------------       ----------------                                   ----------
odaprod  RAC        ACFS      OraDb12102_home1     /u01/app/oracle/product/12.1.0.2/dbhome_1          12.1.0.2.170117(24732082,24828633) 


  • To list the database configuration parameter files on ODA

[root@odanode1 ~]# oakcli show db_config_params
The available DB configuration files are :
acfsoemrepo
default
orcl


  • To list ASR status on ODA

[root@odanode1 ~]# oakcli show asr
The ASR is not configured


  • To check the ODA servers details

[root@odanode1 ~]# oakcli show server

        Power State              : On
        Open Problems            : 0
        Model                    : ODA X5-2
        Type                     : Rack Mount
        Part Number              : 33772477+1+1
        Serial Number            : 1942NMF001
        Primary OS               : Not Available
        ILOM Address             : 14.68.20.101
        ILOM MAC Address         : 00:10:E0:8D:B3:FC
        Description              : Oracle Database Appliance X5-2 1535NMF00K
        Locator Light            : Off
        Actual Power Consumption : 363 watts
        Ambient Temperature      : 27.750 degree C
        Open Problems Report     : System is healthy


  • To list Processor on ODA

[root@odanode1 ~]# oakcli show processor

        NAME  HEALTH HEALTH_DETAILS PART_NO. LOCATION   MODEL                         MAX_CLK_SPEED TOTAL_CORES

        CPU_0 OK     -              060F     P0 (CPU 0) Intel(R) Xeon(R) CPU E5-2699  2.300 GHz       18
        CPU_1 OK     -              060F     P1 (CPU 1) Intel(R) Xeon(R) CPU E5-2699  2.300 GHz       18


  • To list Physical Memory on ODA

[root@odanode1 ~]# oakcli show memory

        NAME    HEALTH HEALTH_DETAILS PART_NO.         SERIAL_NO.         LOCATION MANUFACTURER MEMORY_SIZE CURR_CLK_SPEED ECC_Errors

        DIMM_0  OK     -              6A4G40DM0-CPB    00CE021525728FCD58 P0/D0    Samsung      32 GB       2133 MHz       0
        DIMM_11 OK     -              6A4G40DM0-CPB    00CE021525728FCD54 P0/D1    Samsung      32 GB       2133 MHz       0
        DIMM_12 OK     -              6A4G40DM0-CPB    00CE021525728FCD1C P1/D0    Samsung      32 GB       2133 MHz       0
        DIMM_15 OK     -              6A4G40DM0-CPB    00CE021525728FCD5F P1/D3    Samsung      32 GB       2133 MHz       0
        DIMM_20 OK     -              6A4G40DM0-CPB    00CE021525728FCD3C P1/D8    Samsung      32 GB       2133 MHz       0
        DIMM_23 OK     -              6A4G40DM0-CPB    00CE021525728FCD56 P1/D1    Samsung      32 GB       2133 MHz       0
        DIMM_3  OK     -              6A4G40DM0-CPB    00CE021525728FCD5B P0/D3    Samsung      32 GB       2133 MHz       0
        DIMM_8  OK     -              6A4G40DM0-CPB    00CE021525728FCD29 P0/D8    Samsung      32 GB       2133 MHz       0


  • To list raid configuration on ODA

[root@odanode1 ~]# oakcli show iraid

        NAME     CTRL# PRODUCT                  SERIAL_NO     BIOS_VER                      FW_VER         VDISK_TYPE   VDISK_STATE  PDISK_MODEL         EID:SLT  PDISK_STATE SIZE       

CV_MODEL CV_STATE CV_TEMP
        IR_0_0_0 0     LSI MegaRAID 9361-8i     SV52603740    6.17.04.2_4.16.08.00_0x06060A 4.230.40-3739  RAID1        Optl         H109060SESUN600G    252:0    Onln        557.861 GB CVPM02   Optimal  29C
        IR_0_0_1 0     LSI MegaRAID 9361-8i     SV52603740    6.17.04.2_4.16.08.00_0x06060A 4.230.40-3739  RAID1        Optl         H109060SESUN600G    252:1    Onln        557.861 GB CVPM02   Optimal  29C


  • To check power on ODA

[root@odanode1 ~]# oakcli show power

        NAME            HEALTH HEALTH_DETAILS PART_NO. SERIAL_NO.         LOCATION INPUT_POWER OUTPUT_POWER INLET_TEMP      EXHAUST_TEMP

        Power_Supply_0  OK     -              7079395  476856Z+1524CE007B PS0      Present     167 watts    35.000 degree C 37.125 degree C
        Power_Supply_1  OK     -              7079395  476856Z+1524CE007V PS1      Present     163 watts    35.000 degree C 40.125 degree C


  • To check FAN status on ODA

[root@odanode1 ~]# oakcli show cooling

        NAME   HEALTH HEALTH_DETAILS LOCATION FAN % FAN SPEED

        Fan_0  OK     -              FM0      40 %  7800 RPM
        Fan_1  OK     -              FM0      38 %  6600 RPM
        Fan_10 OK     -              FM2      47 %  9200 RPM
        Fan_11 OK     -              FM2      48 %  8300 RPM
        Fan_12 OK     -              FM3      48 %  9300 RPM
        Fan_13 OK     -              FM3      46 %  8000 RPM
        Fan_14 OK     -              FM3      39 %  7600 RPM
        Fan_15 OK     -              FM3      39 %  6800 RPM
        Fan_2  OK     -              FM0      64 %  12300 RP
        Fan_3  OK     -              FM0      60 %  10400 RP
        Fan_4  OK     -              FM1      63 %  12200 RP
        Fan_5  OK     -              FM1      59 %  10200 RP
        Fan_6  OK     -              FM1      36 %  7000 RPM
        Fan_7  OK     -              FM1      34 %  6000 RPM
        Fan_8  OK     -              FM2      36 %  7000 RPM
        Fan_9  OK     -              FM2      35 %  6100 RPM


  • To check network status on ODA

[root@odanode1 ~]# oakcli show network
Gathering Statistics...


  • To check IB interface on ODA

[root@odanode1 ~]# oakcli show ib
Infiniband is not present in the system


  • To check ODA servers enclosure

[root@odanode1 ~]# oakcli show enclosure

        NAME        SUBSYSTEM         STATUS      METRIC

        E0_FAN0     Cooling           Not install 0 rpm
        E0_FAN1     Cooling           Not install 0 rpm
        E0_FAN2     Cooling           OK          3450 rpm
        E0_FAN3     Cooling           OK          3070 rpm
        E0_FAN4     Cooling           OK          3750 rpm
        E0_FAN5     Cooling           OK          3070 rpm
        E0_FAN6     Cooling           Not install 0 rpm
        E0_FAN7     Cooling           Not install 0 rpm
        E0_IOM0     Encl_Electronics  OK          -
        E0_IOM1     Encl_Electronics  OK          -
        E0_PSU0     Power_Supply      Not install -
        E0_PSU1     Power_Supply      OK          -
        E0_PSU2     Power_Supply      OK          -
        E0_PSU3     Power_Supply      Not install -
        E0_TEMP0    Amb_Temp          OK          30 C
        E0_TEMP1    Midplane_Temp     OK          35 C
        E0_TEMP2    PCM0_Inlet_Temp   OK          41 C
        E0_TEMP3    PCM0_Hotspot_Temp OK          50 C
        E0_TEMP4    PCM1_Inlet_Temp   OK          35 C
        E0_TEMP5    PCM1_Hotspot_Temp OK          45 C
        E0_TEMP6    IOM0_Temp         OK          52 C
        E0_TEMP7    IOM1_Temp         OK          43 C


  • To check RAID sync status

[root@odanode1 ~]# oakcli show raidsyncstatus
 Raid Type  Raid Device     Raid Status     maintainPdFailHistory  Rebuildrate
  H/W Raid    /dev/sdaw         Optimal                       OFF          30%

  • To check CPU core configuration key file applied on ODA

  [root@odanode1 ~]# oakcli show core_config_key
Optional core config key is not applied on the machine yet!


  • To check OAK daemon is running on ODA server

[root@odanode1 ~]# ps -ef |grep oakd
root     21707  3996  0 Jan05 ?        1-20:47:15 /opt/oracle/oak/bin/oakd foreground
root     58895 83838  0 16:01 pts/0    00:00:00 grep oakd


  • To check OAK location

[root@odanode1 ~]# env |grep ORA
ORA_OAK_HOME=/opt/oracle/oak


  • To configure fistnet on ODA

[root@oak1 ~]# /opt/oracle/oak/bin/oakcli configure firstnet


  • To deploy ODA

[root@oak1 ~]# oakcli deploy


  • To unpack sofware on ODA

[root@odanode1 ~]#oakcli unpack -package p25499210_1212100_Linux_x86-64_1of2.zip
Unpacking will take some time , Please wait...
Successfully unpacked the files to repository.


  • To create Database on ODA

[root@odanode1 ~]# oakcli create database -db odatest -oh OraDb12102_home1


  • To validate cabling on ODA

[root@oak1 ~]# /opt/oracle/oak/bin/oakcli validate -c storagetopology


  • To update/patch ODA server

[root@oak1 ~]# oakcli update -patch 12.1.2.10.0 --server -local


  • To update/patch ODA storage


[root@oak1 ~]# oakcli update -patch 12.1.2.10.0 --storage


Conclusion
In this article we have learned about oackcli utility and few ODA commands used on daily basis. oakcli stands for Oracle Appliance Kit Command Line Interface. oakcli utility is used to manage Oracle Database Applaince. It used to carry out management tasks such as, Deploying, Patching, validating, monitoring, troubleshooting, Create Database, Create database homes, Configuring core key, manage Virtual machines and so on. 

Comparing Oracle Database Appliance X8-2 Model Family

September 2019 Oracle announced Oracle Database Appliance X8-2 (Small, Medium and HA). ODA X8-2 comes with more computing resources com...