The In-Memory Column Store feature that was introduced by Oracle in the database version 12c (220.127.116.11) brings the solution for accelerating performance of database-driven business decision-making to real-time speeds. Since it is an extra-license feature for which Oracle makes you pay around 50% on top of your CPU license (similar to RAC option), you probably ask yourself a few valid questions. Don’t we cache everything already in memory anyway? Is it really required for my application, my company? Will it work for my workload at all? In this post I’ll give you a short guideline and introduction into Oracle database In-Memory feature.
First of all me personally and so probably you do not know any database that works only on disk. Indeed we cache most of our data, code and intermediate results in memory already. Furthermore there are some extra Oracle database performance features that help you to achieve that fairly efficiently, for example:
– KEEP/RECYCLE Pools
– RESULT Cache
– 12c Big Table Caching
– 12c Full Database Caching
The key point of Oracle In-Memory is not “What to cache” but “How”. So the major difference of Oracle In-Memory Column Store is that it enables individual database segments to be loaded into memory in the compressed columnar format. This technique enables segment scans to perform much faster than the traditional on-disk formats, providing performance boost for analytical and reporting workload.
In this article I’ll share an Oracle RMAN script to do restore and recovery an Oracle database from tape library using EMC NetWorker. Apply this RMAN template to different recovery situations you might have. Before looking into the RMAN script see my notes below:
– Read about Oracle Recovery Manager (RMAN) concepts
– Look at the corresponding RMAN backup script for NetWorker
– The recovery script should work for Oracle database 11g, 12c (maybe 10g)
– Oracle database name = ORCL
– I use 2 RMAN channels to speed up the recovery of database
– Recovery of spfile and/or control file is optional and depends on your recovery situation
– PARMS section includes instructions for EMC NetWorker server (depends on Networker server configuration)
– Choose appropriate database recovery scenario (by default -> compete DB recovery; I commented 3 options for incomplete DB recovery scenario)
– This script is independent from RMAN configuration parameters
Recovery Manager (RMAN) is an Oracle utility that you use to manage the backup, restore, and recovery operations on Oracle database. RMAN has a powerful command language that is independent of the operating system.
Recovery Manager has a command-line interface. Oracle Enterprise Manager (OEM) also provides a graphical user interface for the Recovery Manager. Recovery Manager can be used on databases of Oracle8 or later releases.
RMAN provides several features not available when you make user-managed backups with operating system commands:
- You can store frequently executed operations as scripts in the database.
- Using the incremental block-level backup feature you can limit the backup to only those blocks that have changed since the previous backup. This may also reduce the time it takes to perform recovery operations in ARCHIVELOG mode.
- You can use RMAN to manage the size of backup pieces and save time by parallelizing the backup operation.
- RMAN operations can be integrated with the scheduling of the operating system to automate backup operations.
- You can detect block corruption. The information relating to the block corruption that is detected during backup can be obtained by using the V$BACKUP_CORRUPTION and V$COPY_CORRUPTION dynamic views.
- RMAN provides performance enhancements such as:
-Automatic parallelization of backup, restore, and recovery operations
-No generation of extra redo during online database backups
-Backups that are restricted to limit reads per file, per second to avoid interfering with OLTP work
-Prevention of flooding of any one file with reads and writes while still keeping a tape drive streaming, using multiplexing
- RMAN has a media management API to work seamlessly with third-party media management tools interfacing with storage devices providing increased speed and reliability.
- Under the user-managed method you need to keep track of all database files and backups. In a recovery situations you must locate backups for each datafile, copy them to the correct place using operating system commands, and choose which logs to apply. RMAN manages these tasks automatically.
Recovery Manager Components
To minimize downtime during patching of NON-RAC databases Out of Place Patching can be used. You can apply this approach to any Oracle patch starting from Oracle database 11g (18.104.22.168.0+) using OPatch utility. In this case time spent installing the software can be saved from the total database downtime required. However, some downtime is required for switching database services to the new Oracle database home and applying a post-upgrade script. A basic overview of the steps is below:
– Clone the existing database home online
– Apply required patch to the cloned database home using OPatch
– Switch the database services to the cloned database home
– Complete the post installation tasks for the patch applied
– Oracle database 11g and 12c documentation describe DB_HOME cloning only in OFFLINE mode (when DB is down)
– However, there should be no requirement to shutdown any databases, listeners, agents etc. that are running from the source home while cloning the Oracle Home directory because any processes that load the static binaries or libraries into memory should not hold a write lock.
– Oracle Out of Place patching is supported by SAP
– Out of Place patching is a recommended patching method that is used in out of the box deployment procedure of Oracle Enterprise Manager (OEM) Cloud Control 12c+ version
Below we will use a combination of Oracle documentation, a few MOS Notes and a little bit of experience to manually conduct Out of Place patching of Oracle database 12c
Read more »
Oracle database patching is one of the most frequently executed maintenance activities that every DBA does in his life. The task is fairly simple and straight forward using the patch instructions from My Oracle Support (MOS). However in this article I’d like to highlight the importance of different Patch Prerequisite Checks that you have to perform before doing the patching itself. I think the entire success of patching exercise depends mostly on this step as seen on the below table that represents major PSU patching steps and approximate time lines. The rest of this draft document describes some best practices, tips and code examples for doing patch prerequisite checks using OEM Cloud Control, MOS and OPatch utility. Comments, adjustments, other tips and ideas are welcome and will be included in this post.