Oracle Best Practices and Tips

Violin flash Memory Arrays are designed to work simply with standard applications and networks. Given the many feature and configuration options available with Oracle, we have collected a number of best practices and tips for running Oracle environments with Violin. Please scroll down or click on one of the links below to go directly to the section you are looking for. We have also created an Oracle E-business Suite (EBS) Reference Architecture based on HP servers and Violin Memory Arrays that will help boost performance by 20x while reducing operational expense by 50%.

Automatic Storage Management
Memory Arrays integrate seamlessly into your existing environment allowing you to use our storage just like any other hard disk device right down to the 512B Sector. With the latest updates to Windows, Linux Kernel 2.6.32, and couple of UNIX OE, next generation devices are now supported. That means we are no longer required to perform IO on a 512B Sector. Next Generation drives, and more importantly Flash devices like Violin Memory Arrays, operate on 4K Page. So what does this have to do with ASM?

Starting with 11gR2, you can now set sector size to 4K or 4096 for each disk group that you create, allowing for a more efficient IO stack when working with a talkative relational DB engine such as Oracle.

Create DG blah, devices blah, Sector_size = 4K or 4096 (or 512 if you have those devices)

Also use this to support creating Redo Log groups with BLOCK SIZE of 4K when not using ASM.

LOGFILE
GROUP 1 ‘$ORACLE_BASE/oradata/db/redo01.rdo’
SIZE 100M BLOCKSIZE 4096,
GROUP 2 ‘$ORACLE_BASE/oradata/db/redo02.rdo‘
SIZE 100M BLOCKSIZE 4096

These settings will ensure that all IO is aligned on a 4K Boundary.

ASM Redundancy
Our recommendation is unless you are building a RAC cluster there is no immediate benefit for ASM with Normal or High Redundancy with Violin Arrays. When you define your Disk Groups with External Redundancy our vRAID algorithm will handle data protection allowing ASM to focus on multiplexing Allocation Units for all the LUNs in your disk group.

For RAC environments we recommend you setup preferred failure groups, however this depends on the logical distance between the clusters. This helps direct I/O from the RAC nodes to storage closest to them for READS. Even at light speed distance matters.

Compression
If you have been to OpenWorld in the last couple of years there have been many presentations on the use of Compression to improve storage utilization and database performance. You won’t want to go compress every table in your database, but definitely make use of partitioning and use OLTP compression to compress those partitions that will be 80% reads or higher.

For those of you that are using Oracle 11gR2, you can perform the following to get slightly better compression rates for data that is 100% read-only:

Cell_offload_processing=false

Alter Table Move <table > compress high/compress archive

Oracle only needs to decompress the data to perform work on the compressed data and will often not decompress blocks that are only being read, especially if that data is in an index.

Data Guard
Oracle Real Application Cluster (RAC) was designed to scale workloads and perform tasks in parallel.  By design it is shared everything architecture and services can be created and work can fail-over from one active node to another. However, this has never occurred without every user on the cluster noticing something major has happened to the environment. In some cases RAC can actually make your system less available.

Data Guard is an Active/Passive solution that works very well, but use has been limited by the inability of traditional storage arrays to handle the I/O load.

With Violin Flash Memory Arrays, Data Guard needs to be revisited. With the high I/O Performance of flash Memory Arrays you can now effectively use Data Guard as an Active/Passive solution without the expense, complexity and sensitivity of RAC. If you are concerned about Oracle licensing contact your Oracle Reseller and inquire about limited use licenses for DR and Development environments.

Oracle Real Application Cluster (RAC)
Does anyone still run RAC? Sure they do and Violin flash Memory Arrays work very well with RAC. Now all we have to do is wait for the Optimizer/Oracle to catch up to the performance of flash. Now that your data is logically less than 200ms away it is faster to make a read from disk (actually a Memory Array) vs. across the cluster interconnect. Until then build RAC clusters in the normal format – very carefully.

Ensure the interconnect is separated from other IP/UDP traffic. When possible use Jumbo Frames.

Ethernet/10GbE set MTU = 9000+ (make sure switches can support this)

IB = 65K

Replication
Streams, GoldenGate, and Logical Standby (Quest SharePlex)

SharePlex and GoldenGate have both evolved and with moderate programming at the application layer one can create an HA framework. This is a great use case for flash Memory Arrays since you are working at the database layer (Block Aware) vs. the storage controller (e.g. shapshots) with writes occurring at 25ms at both the source and the target removing the disk I/O bottleneck. Imagine the network team asking the DB team to slow down the database because the network is too slow.