Runing Exachk In Virtualized Exadata Environment

Many of you have already used exachk for your Exadata machines and familiar with its uses. But with the virtual Exadata machine, things are little different. You need to run exachk from multiple locations. Number of locations will depend on how you have virtualized your Exadata machine. For example, if you have 2 VM clusters within your Exadata Machine, you will have to run exachk from 3 locations. It does not matter how many nodes you have in your VM cluster, you only need to run exachk in the first user domain (domU) and management domain (domO).

Capture 8

Why Management Domain?

Even though there is no rdbms and clusterware software installed on management domain, you will still need to run exachk to perform hardware and operating system level checks for database nodes, storage servers, InfiniBand fabric and InfiniBand switches. You can also run exachck individually for database servers, storage servers and InfiniBand switches by specifying following command line options (-clusternodes, -cells, -ibswitches).

For this blog, I am only going to focus on running exachk on domO (management domain), you can check following blog ( for running exachk on VM clusters. You will need exachk version and higher for virtualization support. You will be using the same command line option, exachk automatically detects that it is running in an Exadata OVM environment and whether it is running in a management domain or user domain and performs the applicable audit checks.

  1. Download latest exachk version from Oracle Metalink (Doc ID 1070954.1). Copy to /opt/oracle.SupportTools/exachk and unzip

Capture 0

2. Check Version ( ./exachk –v )

Capture 00

3. Run exachk (./exachk –a )

Capture 1

Notes : – You will need root password for each InfiniBand switch. 

4. Collecting Database Nodes information

Capture 3

5. Collecting Storage Nodes information

Capture 4

6. You can download zip file generated by exachk to your laptop and check exachk_XXXX_html

Capture 6

7. Check for fail items and warnings

Capture 7

Capture 9

Capture 10


Oracle OBIEE Query Performence On Exadata

Note : – If there are queries that return slowly from the underlying databases, then you can capture the SQL statements for the queries in the query log and provide them to the database administrator (DBA) for analysis. Usually DBA are able to fix performance issues. But let me summarizes methods that you can use to improve query performance:

  • Table Indexes : It is very import for underlying table or tables to have indexes. There are different types of indexes E.g. (Primary Key, Bitmap, and Composite), make sure to use them properly. Indexes can become invalid for many reasons, make sure to check them on regular bases. It’s a big topic and I am planning to write a blog about Indexes in Data Warehouse in details.
  • Table Partitions : if table is big and contain a lot of rows, you can improve OBIEE query performance by partitioning underlying table(s). There are many types to partitions in Oracle like range, hash and interval, make sure to use them properly.
  • Table Join : There are different type of join in Oracle (Hash Join, Nested Loop Join), I have personally drastic performance different using different type of join.
  • Avoid Disk Sorts : SQL statement execution can create sort activity, especially if you are using Oracle aggregate functions. Check if query is doing Disk Sort and find a way to avoid disk sorts.
  • SQL HINT(s) : Sometime query don’t get best execution plan from optimizer and you can use SQL hints to enforce  optimum execution plan in Oracle.
  • Aggregate Tables : It is extremely important to use aggregate tables to improve query performance. Aggregate tables contain precalculated summarizations of data. It is much faster to retrieve an answer from an aggregate table than to recompute the answer from thousands of rows of detail.
  • Database Cache : There are different types of caching technique in Oracle like result cache, database cache and Exadata Flash Cache. Caching can significantly improve query performance , use them properly.
  • OBIEE Caching : The Oracle BI Server can store query results for reuse by subsequent queries. Query caching can dramatically improve the apparent performance of the system for users, particularly for commonly used dashboards, but it does not improve performance for most ad-hoc analysis.

Running Exachk on Exadata Machine

Exachk is design to evaluate HW & SW configuration, MAA Best practices and database critical issues for all Oracle Engineered Systems.   All checks have explanations, recommendations, and manual verification commands so that customers can self-correct all FAIL, ERROR and WARNING conditions reported.

Step 1 : Download latest exachk version from Oracle Metalink (Doc ID 1070954.1). Copy to /opt/oracle.SupportTools/exachk and unzip.

Capture 0

Step : 2 Check exachk Version

$ ./exachk -v

Capture 1

Step 3 : Run Exadata check

./exachk –a

Capture 2

Step 4: Select Database(s) for checking best practices  

Capture 12

Step 5 : Enter root password:

Capture 4

Step 6: Download .zip file and unzip

$ ls –ltr

Capture 13

Step 7:  Analyze exachk_XXXXX_html

Capture 14

Step 8 : Check Exadata System Health Score

Capture 7

Step 9 : Check for fail items

Capture 15