The Architecture of Exadata Machine

Exadata Database machine provides a high performance, high availability and plenty of storage space platform for oracle database .The high availability clustering is is provided by Oracle RAC and ASM will be responsible for storage mirroring. Infiniband technology provides high bandwidth and low latency cluster interconnect and storage networking.  The powerful compute nodes joins in the RAC cluster to offers the great performance.

Component of Exadata Storage Server

It’s another storage device, which has CUP, Memory, Disks, network cards, an Operating System Oracle Linux and Most important past Exadata Storage Server Software. There are mainly three services which run on cell server for the processing which are:

CellSRV (Cell Service): This is the primary component of Exadata Cell which provides all Exadata Storage services. This process communicates with the Database server for providing database blocks

MS (Management Server): MS service provides an interface to DBA for communicating or Managing Cell Server. CellCLI is the Command Line tool that Exadata DBA used for performing Exadata Administration services.

RS (Restart Server): This service is to make sure the functioning of the Exadata Server. RS monitors CellSRV and MS for liveliness and restarts them whenever required.

Main Features of Exadata Storage Server

1.Smart Flash Cache Intelligent CachingStorage servers usually have two kinds of storage Hard disk and Flash Cache. Flash Cache is a fast storage device used to keep most frequently accessed data for faster access, whenever there is a requirement of a block it is first looked into Flash Cache and if available returned to the server without going to Hard disk for reading the block. This is a common feature in Storage servers.

2.Hybrid Columnar Compression (HCC): Compression is used for reducing storage consumption for large databases. In this technique, a logical unit called the Compression unit is used to store Hybrid columnar Compressed Rows. At the time of data loading Column values are detached from rows, grouped and then compressed. After compression, this is fit into the compression unit

3.Smart Scan Processing: In the Exadata storage server has got the intelligence to filter data at the storage level, rather than transferring it to the database server.
Exadata Smart Scan works filtering for the following kind of queries:

  • Predicate Filter: In a query with where clause only blocks with satisfying where clause condition will only go to the database server, not the entire table.
  • Column Filtering: Suppose in a select query like “select name, age from employee” is execute on DB server by DBA, then only columns name and age data will send to Database Server not all columns of tables.
  •  Join Processing: All join processing are done at Storage level itself, so only filtered data is sent to the DB server.

4. I/O Resource Management: In a traditional Database environment, If you have more than one database running on a Shared storage server. Large queries from one database can use more resources and cause a performance issue for other databases. Another case a batch job has started in one DB by a DBA which case performance trouble into OLTP Database.

Managing Exadata Machine

Some important utilities used in managing Exadata machine

CellCLI – Let’s move on to the next stack in the software: the Exadata Storage Server. To manage this, Oracle provides a command-line tool: CellCLI (Cell Command Line Interpreter). All the cell-related commands are entered through the CellCLI.

DCLI – The scope of the CellCLI command is the cell where it is run, not in other cells. Sometimes you may want to execute a command across multiple cells from one command prompt, e.g. shutting down multiple nodes. There is another command-line tool for that: DCLI.

SQL – Once the cell disks are made available to the database nodes, the rest of the work is similar to what happens in a typical Oracle RAC database, in the language you use every day: SQL. SQL*Plus is an interface many DBAs use. You can also use other interfaces such as Oracle SQL Developer. If you have Grid Control, there are lots of commands you don’t even need to remember; they will be GUI based.

ASMCMD – ASMCMD is the command-line interface for managing ASM resources like disk groups, backups, etc.

SRVCTL – SRVTCL is a command-line interface to manage Oracle Database 11.2 RAC Clusters. At the database level, most of the commands related to a cluster, e.g. starting/stopping cluster resources, checking for status, etc. can be done through this interface.

CRSCTL – CRSCTL is another tool to manage clusters. As of 11.2, the need to use this tool has dwindled to near zero. But there is at least one command in this category.

What is Cell Offloading?

The storage in the Exadata Database Machine is not just dumb storage. The storage cells are intelligent enough to process some workload inside them, saving the database nodes from that work. This process is referred to as cell offloading.

What is Smart Scan?

Smart Scan is a subset of Cell Offload Processing and is perhaps the feature that is most highly associated with ExadataSmart Scan allows Oracle databases to push query information down to the storage level, specifically: Filtration (predicate information)

Networking Topology in Exadata

Oracle Exadata Database Machine includes database servers, Exadata Storage Servers, as well as equipment to connect the servers to your network. The network connections allow the servers to be administered remotely, and clients to connect to the database servers.

Leaf and Spine switches are used for networking

Flash cache in Exadata

The flash cache is a hardware component configured in the Exadata storage cell server which delivers high performance in read and write operations.

Exadata (ExaCs) DB System: Shared Database Homes

This section covers how you can Create, Manage, Delete Shared Oracle Database Home for Exadata DB System on Oracle Cloud (ExaCS).

Until now, you could create only one Database per Oracle DB Home. For every DB you create on Exadata, it used to create its own dedicated Oracle Home & there is one to one mapping between an Oracle Home & number of the database you can have on that Exadata DB System on Cloud (ExaCS).

What’s New?

Now, you can add Oracle Database Homes to an existing Exadata DB system by using the Oracle Cloud Infrastructure (OCI)Console, the API (Rest API), or the CLI (dbaascli). It also allows the user to create Multiple Database Homes in a Single Database.

Before, If you want to create 3 databases, you have to create 3 DB Oracle Home for each DB, but now you can put all those Databases into single Oracle Home, which means you can now create, manage & delete these Oracle Home.

What Is Oracle Database Home?

A Database Home is a directory location on the Exadata database compute nodes that contain Oracle Database software binary files.

When you do Patching in Oracle Cloud, you first patch the DB System then you patch the Database home, DB System is nothing but the host machine where your database is installed.

How To Manage DB Home In ExaCS?

You can also manage & delete Database Homes and perform other management tasks on a Database Home by using any of the three methods:

  1. Oracle Cloud Console
  2. dbaascli Utility (This tool is also used to patch an Exadata machine or Exadata DB on Cloud)
  3. REST API

1. Oracle Cloud Console

One can create DB Home and Database using the Oracle Console

Steps to create a new Database Home in an existing Exadata DB system

  1. Open the Hamburger menu. Go to Database, click Bare Metal, VM, and Exadata.
  2. Choose your Compartment. A list of DB systems is displayed.
  3. In the list of DB systems, find the Exadata DB system on which you want to create the Database Home, and then click its name to display details about it.
  4. Under Resources, click Database Homes. A list of Database Homes is displayed.
  5. Click Create Database Home. Enter the name and select the DB version.
  6. Click Create. When the Database Home creation is complete, the status changes from Provisioning to Available. A new database home is successfully created!
  7. Now Open the Hamburger menu. Go to Database, click Bare Metal, VM, and Exadata
  8. Click on Create New Database. Provide the DB name and choose the Existing Database Home you want to add the DB too.
  9. Click on Create Database. When the Database Home creation is complete, the status changes from Provisioning to Available.

A new database is successfully created and added to the Database Home.

2. dbaascli Utility

We can use dbaascli utility to manage Database Home using Command Line Interface. Below are some of the most commonly used commands:

1) View information about Oracle Home directory locations by using

  • # dbaascli dbhome info

2) Moving a Database to Another Oracle Home

  • # dbaascli database move –dbname <dbname> –ohome <oracle_home>

3) Creating an Oracle Home

  • # dbaascli dbhome create –version <software_version>

4) Deleting an Oracle Home

  • # dbaascli dbhome purge

3. REST APIs

The Oracle Cloud Infrastructure APIs are typical REST APIs that use HTTPS requests and responses. Below is an example.

Example to Create Database Home with database details

 POST /20160918/dbHomes
  Host: database.us-phoenix-1.oraclecloud.com
  <authorization and other headers>
  {
    "dbSystemId" : "ocid1.dbsystem.oc1.phx.<unique_ID>",
    "displayName" : "createdDbHome",
    "source": "NONE",
    "dbVersion" : "12.1.0.2",
    "database" : {
      "adminPassword" : "<password>",
      "dbName" : "myTestDb",
      "dbUniqueName" : "myTestDb_phx1cs",
      "dbBackupConfig" : {
        "recoveryWindowInDays" : 30,
        "autoBackupEnabled" : true
      }
    }
  }

Storage Options in ExaCS

Depending on the configuration, there are 3, 6 and 12 Storage Servers in Exadata Cloud Service. In each Storage Server, there are four types of storage:

  • Flash Storage
  • 3 ASM Disk Groups: Data, Reco and Sparse

Flash Storage

Exadata’s Flash Storage has a special feature called Smart Flash Cache. All the frequently accessed data files are stored here.

ASM Disk Groups

Automatic Storage Management or ASM disk groups is Oracle’s storage management unit. It has 3 disk groups and all of them have high redundancy. These disk groups are:

  1. Data Disk Group
  2. Reco Disk Group
  3. Sparse Disk Group

Data Disk Group

In the Data Disk Group, all the less frequently accessed data and other data files are stored.

Reco Disk Group

Reco or Recovery Disk Group is known for Fast Recovery Area (FRA) i.e. it is used for backup and recovery. All the backup files like RMAN backup and Archive Redo logs are stored here.

Sparse Disk Group

Sparse Disk Group is an optional disk group. Unlike other disk groups, the client can choose whether they wish to create it or not.  This disk group is used to store the snapshots of the Exadata Server, which are quick and memory-efficient clones of Exadata Database Server and are easy to create and destroy. These snapshots are mainly used in Development and Testing environment.

Other Options While Provisioning Exadata

Normally, Exadata gives 60% and 40% of the usable disk storage to Data Disk and Reco Disk, respectively. However, these can vary when we customize our Exadata Database. There are two options available while creating an Exadata Database:

  1. Create Sparse Disk Group
  2. Database Backup on Exadata Storage

Choosing any of these or both of these options changes the percentage of memory allocation of each storage type in the following manner