SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Category: Backup and Recovery
                                                                                            Product Line: Oracle Database
                                                                                                          1.45v 2013.04.10



        YOU MOST PROBABLY DON 'T NEED RMAN CATALOG
                                                  DATABASE

Yury Velikanov, The Pythian Group


ABSTRACT
This paper discusses in details the cost and value of RMAN catalog database.


TARGET AUDIENCE
This paper is targeted for experienced Oracle DBAs who supported and implemented RMAN based backup and
recovery procedures.


EXECUTIVE SUMMARY
Learner will be able to:
        Justify RMAN catalog database to system’s business owner
        Leverage additional RMAN catalog benefits
        Improve RMAN based backup procedures


BACKGROUND
The title of this paper is purposely thought provoking. My intention is not to discourage you from using catalog
database, but rather encourage you to think about the cost and value it adds. In this paper I will discuss legitimate
reasons why one should use an RMAN catalog database, if a catalog database is in use, then what additional value it can
provide to improve operations.
Many DBAs continue to use RMAN catalog database simply because of historical reasons. Oracle’s general advice in
earlier database versions was to use Catalog database. In fact most of us know that in first versions of a recovery
manager (RMAN) “catalog” was the default option. With newer versions, Oracle changed the default behavior to
“nocatalog” and I think there have been some legitimate reasons for it.
This paper will review: What costs are involved with running catalog database; What problems does it address and what
risks does it help mitigate; What additional value (e.g. reporting, metadata backup and long storage etc) you can leverage
from it. In addition it reviews special cases such as RMAN using MML (Media Management Layer or simply a tape
system, some DBAs know it as SBT_TAPE) integration; RMAN in Disaster Recovery configuration; RMAN backups
based on file system; Retention policy management and some others. Finally you will find practical and general hints on
how to use a catalog database at the end of this paper.
I must warn you that this paper assumes that you have previous RMAN knowledge. In the ideal case you should be an
Oracle DBA for some time and have experience in backup and recovery. This paper doesn’t provide ready to use
solutions. The main purpose is to make a complete overview of why you may need or may not need an RMAN catalog
database. Solutions to be provided as additional work related to this paper.
Acknowledgments:
I would like to say a huge thanks to all my social media friends, workmates at Pythian and other DBAs who contributed
to this paper with their ideas and suggestions. Thanks a lot for the following people for investing their time and efforts
to review and improve the paper:
        Steve Karam one of the first reviewers / editors
        Brian Pardy one of the first reviewers / editors
        Fuad Arshad
        John Piwowar
        Martin Bach
        Kamran Agayev
        Andrey Goryunov
        Sergey Kosourikhin
        Christine Kivi a significant proofreading contributor


Why RMAN catalog is an overhead? / COST
Let me start with not so obvious statement for many DBAs: RMAN catalog database is an overhead that needs
justification to exist. Unlike any general business related database it does not store application data. Therefore a business
owner of an IT environment may have a valid question: How much does this component cost me and what value it
adds? We as IT representatives should have a very good answers, right? Most of DBAs that I have spoken to about it
admitted that they use a catalog database because it was been created before them or they followed Oracle’s
recommendations without analyzing if it is necessary. Let us start with understanding how big an overhead the catalog
database is and how much does it cost?
So, what costs are involved running an RMAN catalog database? By saying “cost” I do not mean just server hardware
resources1. In many cases hardware costs are not the main contributing factor (hardware is cheap today, right?). Time is
a cost and “inexpensive” DBA time needs to be invested to maintain, troubleshoot, patch and update catalog database. Let
us go through some typical activities associated with RMAN catalog database implementation and maintenance:
        IMPLEMENTATION COST: Catalog database and associated RMAN catalog schema need to be created
              o    Partially we can mitigate this cost by using OEM database (if exists then we do not need to create
                   additional database). It is common to see DBAs using OEM database for the catalog schema as it has
                   the similar availability requirements and licensing implications. However this introduces dependency
                   between OEM and RMAN catalog. This decision limits our maintenance windows and upgrade
                   options to some extent.
              o    If we do not have a database where to locate RMAN schema then we need to create a new one. Any
                   new database creation involves planning and communication with friendly neighbour departments
                   (system administrators, network team, backup team etc). This consumes time and resources.
              o    In business critical environments we should think and ensure that catalog database is highly available.
                   This adds to the implementation costs.
              o    In some larger enterprise networks, DBAs sometimes decides to introduce a separate RMAN catalogs
                   based on geographical locations to reduce risk of network issues impacting database backups. This
                   increases the implementation and maintenance costs in proportion to the number of RMAN catalog
                   databases.
        MAINTENANCE COST: A catalog database needs to be maintained. A DBA should apply patches and keep
         the database on the supported versions level. You may say it does not need too much attention. I do agree.
         However there is still some time a DBA spends planning, preparing and executing maintenance activities. As


1         It is worth mentioning that that you do not need an Oracle licence to run RMAN database unless you
customise it or use for other purpose that requires a licence. You may check with your Oracle sales representatives
though if you need a licence for RMAN database in DR configuration.
RMAN catalog database is just another Oracle database it requires some DBA’s attention regularly. Depending
         on the databases’ versions used in your network you may require to keep RMAN catalog on relatively fresh
         level2. If Oracle databases maintenance processes are well designed and automated in your organisation it helps
         reduce catalog database maintenance costs. Delaying RMAN catalog database upgrade to the latest version can
         save on the maintenance costs, as quite often there is no necessity to upgrade RMAN database as often as
         other business critical databases.
        DEPENDENCIES: RMAN Catalog database is typically implemented in organisations with several or even
         hundreds of databases. The more databases that use Catalog database, the less downtime that is available to
         maintain it. It can become very difficult to close RMAN database for maintenance resulting in additional
         planning time.
        DOWNTIME: Quite often, depending on the implementation, RMAN backups may fail if a catalog database is
         not available3. Any unplanned downtime of catalog database may trigger backup failures and therefore puts
         possible recovery at risk.
        AVAILABILITY (licensing): As catalog database becomes a critical resource we should ensure that it is highly
         available. We do not want to lose critical backup data, do we? The process could involve Data Guard
         implementation and other measures that adds to the total cost of catalog database. As the downtime should be
         minimal the implementation may need a bit more efforts. By the way, you may call your Oracle Sales
         representative to discuss if you need any additional licences in this case 4.
        TUNING: In the case of managing hundreds or thousands of databases the catalog database may require
         additional tuning efforts. However with the right approach (statistics, additional indexes etc) it can manage a lot
         of databases’ metadata. At the end of the day RMAN catalog is nothing but a schema with approximately 40
         tables. Most of traditional optimisation methods apply to catalog database.


Some may say that the RMAN catalog database maintenance costs are relatively low as it is nothing but an Oracle
database. I do agree. In fact with each additional database that we manage within the catalog database, we reduce the
overall cost per database. Plus RMAN database unlike many business application databases does not generate too much
headache5.
However we do have a real alternative, right? Instead of having an additional database and associated costs, we may use
an individual databases controlfiles. Question is: : when does the benefits of having a catalog database justify the
additional costs associated with it. If we have just one business database can we justify a catalog database or not? How
many databases should an organisation have in order to justify the cost? How critical should a business database be to
mitigate associated recoverability risks?
Now that we have some ideas on what the costs consist of, let us have a look at the benefits. I would like to start with
scenarios when there are technical dependences from catalog database and we must have it.


Cases when catalog database is a MUST
There are just a few technical reasons when we must have a catalog database and where a control file based RMAN
catalog is not good enough. There are solutions for some and limited options for others. Let us discuss each of those:
        Disaster Recovery: When an organisation uses a Data Guard (standby database) for a business database backed
         up by RMAN and there are backups that takes place on both DR sides 6 then we must have a catalog database


2        For example can’t use a 10.2 catalog database with a 11.2.0.3 production environment
3        See “Use resync catalog” section for a discussion on how to reduce this risk
4       If you need a license for a catalog database standby you may workaround it by synchronizing you RMAN
backups with a RMAN catalogs on both DR sides. I mention it later in the paper.
5        We do not change it as often as other databases/applications
6        It would be my preferable option to reduce backup load on primary database and offsite backups
to synchronise backup information for both primary and disaster recovery sites. See the “Catalog & DR”
         section bellow for further discussion. I think there is no work around here.
        KEEP: There are requirements to use a RMAN KEEP command to keep a backup for longer than current
         retention policy and a controlfile (control_file_record_keep_time) allows. This way information about backups that
         we would like to keep will be stored in a catalog database until it expires. However long term backups need a
         special care and should be treated as archiving rather than as regular backups. We may also want to backup
         oracle database software that is associated with the backup and possibly operational system. In case of file
         system backups many of us feel more comfortable if one off backup’s files are moved (copied to other
         directory or volumes) rather than keeping those on the original location. As alternative we could create a
         backup on an alternative location and UNCATALOG those to exclude from the purge process. At the time of
         recovery you either use a control file created along with the backup or use CATALOG or CATALOG START
         WITH RMAN commands to register it in the current control file 7. In both cases KEEP command is not
         necessary or in other words there are alternative solutions and the KEEP command is a nice to have. In case of
         tapes (MML) backups, most often a retention policy is managed by MML layer (with no good visibility for
         DBA teams) and therefore RMAN KEEP command would not be very useful8. The most important point here
         would be to ensure that the backup is sent to the right MML retention pool. RMAN backup’s log file contains
         important recovery information (e.g. handle and pool names). Those are to be kept a safe place until possible
         recovery. However if you have a need for the KEEP command then you should use a catalog database. If you
         decide to use RMAN catalog for this reason please confirm that the MML solution used in your environments
         supports RMAN retention policy and it has a priority over MML side retention policies.
        CONTROL FILE SIZE: If the size of database control files (control_file_record_keep_time) does not allow storing
         as long a history as necessary for current retention policy, then you need a catalog database to ensure obsolete
         backups get deleted and you can restore from backups older than what is stored in the control file. In this
         scenario ability to purge obsolete backups is more important than a restore operation. If for example we use
         MML and it controls the backup data purging process, then it is not critical that a current controlfile “knows”
         about all backups available. We can always restore a controlfile we need using the right MML “handle”. The
         handle could be obtained from either a backup’s log file or recovering an older controlfile copy that the current
         controlfile is aware of9. However, based on my experience, if an organisation uses a file system (e.g. NFS) to
         store backups then it is rare when a retention policy is greater than a reasonable sized controlfile could handle
         (e.g. 30 days). If an organisation uses a tape solution, then most often the retention policy is managed by MML
         layer and therefore catalog does not play any role in a backup’s purging process. The controlfile size limitation
         could be a legitimate reason to introduce a catalog database, however as you can see there are still some
         methods to address some of the challenges without requiring a catalog database.
        DUPLICATE does not need a catalog database. Some of you may say that RMAN DUPLICATE from
         backups without target connection 10 requires a catalog database. As a matter of fact there is the following
         statement in the oracle 11GR2 documentation - “RMAN can perform backup-based duplication with or without either of
         the following connections: Target, Recovery catalog”. DUPLICATE does not require catalog database. You may want to
         review the “Creation Of Rman Duplicate Without Target And Recovery Catalog Connection. [ID 1113713.1]” note for
         additional details.




7 There is a risk however that the current controlfile may be on the different version. This is why the suggestion is to
include operation system and oracle home backups along with the database backup that you are planning to keep longer
than normal retention policy.
8 With exception of recovery process. In this case we will need to restore “old” controlfile from tapes and then process
with regular recovery. However recovery from “old” backup may treated as exceptional case and therefore may not be
significant enough reason for a catalog database introduction. As an additional argument I would like to mention that
restore from an “old” backup often involves more complex activities (e.g. OS and Oracle Home restore) to be treated as
exception.
9         This method could be time consuming as we may need to recover several controlfiles before getting to the
right one. In this scenario storing backups’ log files may be more reasonable solution.
10       This is a new 11G R2 feature
This leaves us with three legitimate technical reasons when you may need catalog database 11.
If you found that one or a combination of the reasons for RMAN catalog database applies to your configuration and
you cannot use possible solutions suggested then you may read the next section to learn about possible additional
benefits you can leverage from the catalog database. Others may find that the benefits are more valuable than associated
costs and therefore leverage catalog database benefits.


Benefits of using RMAN catalog / VALUE
We have discussed COSTs involved in creating and maintaining catalog database as well as reviewed cases where catalog
database is a MUST. It is time to focus on the VALUE added by catalog database. Let us start with a simple and easy to
implement optional feature.
        ADDITIONAL CONTROL: An additional, centralized control level for day to day backups. I like this idea
         very much. If we have a catalog database with hundreds if not thousands of databases registered and backed up
         on regular basis then a report could be introduced that would notify a DBA team’s manager (or backup DBA,
         oncall, etc) about problems with last night backups or just provide a summary for review. It would not replace
         proper error handling functionality with oncall DBA notification 12 built within the backup process. However, if
         a DBA manages hundreds of databases then he/she may miss some of the issues (I was there personally). This
         option introduces a “safety fuse”. It protects an organisation from possible human and technical errors. If I
         was a DBA manager, I would strongly consider this option so I may sleep soundly at night.
        MONITORING & REPORTING: Backups’ volumes and throughput day to day monitoring. One of the main
         Oracle DBA responsibilities is to ensure that database backups run well. Catalog database provides an easy and
         centralized day to day monitoring repository.
              o   You may introduce several reports that would help you identify any changes in the backups patterns
                  (e.g. backup network slowdown or backup volumes increase because of redo volumes increase etc)
                  without connecting to each of possibly many database servers.
              o   It also could be used as a troubleshooting tool if backup run time increases (comparing the backup
                  volumes, throughput etc with previous executions). For example if there is an archived logs volume
                  increases you may check TOP objects with most block changes or if the volumes are the same it could
                  indicate a problem with backup network or MML layer.
              o   As catalog database contains information about backups’ timing, volumes and compression rates you
                  can use this information for tuning backups, changing parallel parameters and control the impact.
              o   Some service based organisation may charge their clients (e.g. internal clients, projects etc) per backup
                  GB. The catalog database could be used to measure and report the backup volume per database or set
                  of databases, simplifying cost estimates.
        CAPACITY PLANNING: Depending on the retention policy used and backup cycles it could be challenging
         to estimate the total capacity necessary for all databases’ backups. As an example, if NFS is used as storage for
         backups and there are hourly archive logs, daily incremental and weekly full backups then total storage used by
         the database backup may change significantly 13 depending on the day of the week. Capacity planning may
         become even more challenging if backups are executed from multiple RAC nodes and there are several
         databases that use the same NFS mount for storing backups. A centralized catalog makes the space utilisation
         reporting and capacity planning easier. Please bear in mind that records about backups are removed from the
         catalog database at the time that backups are obsoleted and deleted based on the retention policy used. There is
         no difference from that perspective between a controlfile or database based catalog. Therefore for capacity


11       If you disagree and know other reasons please get in touch with me (google my name). Be sure that I am quite
happy to be wrong and will include your reason and mention your name (if you ok with it)
12       I strongly believe that oncall DBA must be paged about any backup related problem. As backup is one of the
most critical tasks that a DBA manages and responsible for. Therefore he/she should be notified about any problem
immediately. Ok, ok there are some exceptions could be made. But those should be very well controlled.
13       The maximum difference is equal to size of all weekly incremental and all archive log backup volumes.
planning you may want to introduce an additional (custom) set of tables to store day to day measurements for
         long term capacity planning.
        MML: MML backups tend to be stored longer than file system backups, therefore there is a tendency to use an
         RMAN catalog in such configurations. However, quite often MML layer has its own retention policy and
         RMAN is rarely used to manage the backup retention policy. Therefore, if we ensure that we can restore a
         controlfile from MML (e.g., using MML repository or backup log files) we may not need an RMAN catalog
         database. See the “Catalog & MML integration” section for additional details on this topic.
        RMAN SCRIPTS: A catalog database allows us to store RMAN scripts so they can be reused to backup
         databases in a standard way across an enterprise. This allows the use of unified backup scripts across many (if
         not all) databases. The scripts are pulled out from the catalog database each time a backup is performed. Along
         with RMAN default configuration settings stored on a catalog database, this makes it easy to control and adjust
         backup scripts without connecting to each server and adjusting every single backup script.
              o    Cons: Backups become highly dependent on the catalog database. If it is not available then ALL
                   backups fail. Alternatively we can make local backups less dependent on the catalog by using local
                   shell scripts, and even if the catalog database is not available backups still run (synchronizing backup
                   metadata later on at the time the catalog becomes available).
        EASY CONTROLFILE RECOVERY: Independent of the configuration you use, catalog database makes
         controlfile recovery very easy and a standard procedure across all Oracle environments. In most cases, you just
         run a single command to recover a controlfile. However you only will need this in the scenario where there is
         complete loss of the current controlfile.
This concludes my list of additional value added options. Now it is up to you to put things together and present it to
your system business owner. If you have used an RMAN catalog database before reading this paper you may consider
implementing some of the ideas I listed above in order to streamline your operations and get more value from the
configuration.


Catalog usage
In this section I would like to discuss some of the important RMAN catalog database usage scenarios and options you
should be careful with. Let me start with a controlfile recovery from an auto backup. While this is not directly related to
the catalog database it may explain an additional use case compared to a configuration without a catalog database.

CONTROL FILE AUTO RECOVERY
From a complete database recovery point of view (e.g., complete server or storage loss 14) the main task for which we
possibly need a catalog database is a controlfile restore. As soon as the controlfile is restored, in most cases we do not
need a catalog database as the controlfile contains all information necessary for further recovery.
It is not as big a problem for file system based backups (e.g., NFS filers) as for tape based backups. Quite often we need
to know a “handle” name15 to restore a file or group of files from tapes (MML). Some of you may say that if we
configure a controlfile auto backup (RMAN command “CONFIGURE CONTROLFILE AUTOBACKUP ON”) then
the controlfile recovery problem is solved. Do not say that too quickly. The problem with controlfile auto recovery from
MML is that a restore of a single control file could take several hours. A controlfile's auto backup uses a standard handle
name (%F format). The handle name consists of the following components: “c-“ + “database ID” + “date” + “XX”,
where “XX” is a hexadecimal sequence that starts with 00 and has a maximum of FF. The sequence increases each time
a new controlfile auto backup is created in a given day. It is important to mention that the index resets daily. At recovery
time, RMAN, in order to recover the freshest auto backup copy, tries to use a handle name with FF at the end, and then
FE and so on until MML sends back a stream of data instead of returning a file/stream not found error. Sometimes it
may take up to 240 roundtrips to get to the right index/handle name. It is not rare to see one roundtrip to MML service


14         Please note that while full recovery scenarios happen, most often DBAs deal with cases where either a current
controlfile copy is available or it is known from where to recover a controlfile (e.g., cloning from production). Therefore
full recovery happens rarely. Nevertheless a DBA should be ready for a worst case scenario.
15        A name assigned to a backup stream at the time of backup.
taking 2-5 minutes. After a simple calculation it brings us to 8-20 hours16 just for a controlfile recovery. Because of the
way a controlfile auto backup works, controlfile file auto recovery may not be an acceptable option to use for a
controlfile recovery. An alternative would be to provide a handle name within the recovery command. The handle name
could be found in a backup log file or from the MML repository.

CATALOG & MML INTEGRATION
The next catalog database usage scenario I would like to cover is catalog and MML (tape) configuration. This is a
configuration where I personally find a catalog database most reasonable to use, as it reduces significant risks and
streamlines the recovery process.

CONTROL FILE RECOVERY
One important step in the recovery process is a controlfile restore. Depending on your recovery parameters you may
want to restore a controlfile from older backups rather than from latest backup (e.g., auto backup). The good news is
any controlfile that contains information about a backup you want to restore from will be sufficient for a recovery. This
means you have flexibility to restore a controlfile from up to several days after a target backup has been taken. The
length of the interval will be dependent on retention policy and controlfile size (control_file_record_keep_time). Let us list
several common ways to restore a controlfile from MML repository WITHOUT an RMAN catalog database to make a
case for use of a catalog database:
         -    MML REPOSITORY: First of all it is always possible to find a stream of data using MML repository that
              most likely will be a controlfile. Most MMLs repositories have information about the client that sent each
              stream of data and the time when it happened. It is just matter of luck and time (trial and error method).
              However, often in a restore scenario we do not have much time. The fact that there could be several
              databases running on the same MML client (DB server) could introduce an additional challenge.
         -    RMAN LOG: Recovery Manager records handle names each time it sends data to MML in log files. This
              is one additional argument for why it is important to store RMAN log files in an easily accessible place
              (e.g., most commonly the DBA team’s mailbox). This can reduce the trial and error time significantly
         -    HANDLE: For most RMAN & MML configurations it is possible to assign a custom handle name at the
              time you execute a backup. The method to do so is dependent on the MML software. Most commonly
              you either set it via RMAN “ENV=” clause or “format” channel keyword. If you assign a meaningful
              name to a controlfile backup piece (e.g., DB name, date & time) then it will be an easy task to identify a
              handle you are interested in from the MML repository as it lists all the handles' names.
As you can see there are options that allow you to restore a controlfile from MML without using a catalog database. The
third option even allows you to pass metadata information to MML that allows you to identify a controlfile “handle” you
need to recover from the MML side without any issues. However it requires very close cooperation between the Oracle
DBA and the tape system’s management team. In many organizations those two teams do not talk to each other very
often. Sometimes MML management is outsourced to third organization. Communications between Oracle DBA and
MML teams may take significant time, if possible at all.
However RMAN catalog database allows avoiding sometimes “difficult” communications. For many DBA teams it is
easier to introduce a catalog database rather than streamline communications that may be a crucial component in a
potential restore process. For tape administration teams it has its own benefit: they do not need to provide access to
MML repository data to Oracle DBAs.
Finally, a catalog database introduces a standard way for restoring controlfiles and databases. This means that even an
external Oracle DBA who is not familiar with an organization's specific setup (e.g., log file locations, MML integration
details, etc) would not have significant problems restoring controlfiles or databases.
If an organization has hundreds of databases it often much easier (cheaper) to introduce a catalog database than to work
on other backup and restore options. In addition, the organization could use the other benefits of an RMAN catalog to
justify maintenance costs.




16 You can reduce controlfile recovery time from autobackup dramatically with maxseq and maxdays options. See
restoreSpecOperand, FROM AUTOBACKUP from Oracle® Database Backup and Recovery Reference 11g Release 2 (11.2)
RETENTION POLICY MANAGEMENT
Typically an organization uses centralized MML services where Oracle databases are just one client of many (others
could be: filesystems, MS Exchange, other databases, etc). In such a configuration there are often common backup data
retention pools defined (e.g., 1-2 weeks storage, 1-2 month storage & long term or custom) to ensure effective tape life
cycles and recycling. RMAN is not used to ensure the backup retention policy and there is a bit of a challenge to
synchronize RMAN and MML layer data. RMAN may still contain data about backups that are not available in MML.
One of the common approaches used in such a case is to change the status of old backups that have crossed the tape
retention policy to UNAVAILABLE to keep records for capacity planning purposes and to UNCATALOG at the time
we no longer need the records. Please note that the DELETE command will delete records from the catalog database
and they would no longer be available for further capacity planning activities. As the RMAN catalog and MML data are
not synchronized in an automatic way there could be situations when RMAN would try to request a non-existent
backup. This configuration should be carefully planned and tested to avoid such situations.

CATALOG & DR
One of the configurations where an RMAN catalog is a MUST is if an organization takes backups from both sites or
from the Disaster Recovery (DR) site only 17. If you are running backups from both primary and standby databases you
should be aware about backups associations to different sites (SITE_KEY column in RMAN catalog view). Any disk
based backups considered as local to the site/database that they have been taken from. Tape based backups are
considered to be accessible from both sites. You may want to review “RMAN Backups in a Data Guard Environment” from
“Oracle Database Backup and Recovery Reference 11g Release 2 (11.2)” for more information. Special care should be taken
running backups in Disaster Recovery configuration and an RMAN catalog is required to complete the task.

CATALOG & FS
Some may think that this is a very simple configuration, and in fact it is, unless there is a separate file system backup that
backs up your RMAN backup directories. In such a case I would strongly suggest you consider implementing MML
integration as otherwise you are at risk of either missing copying some RMAN backup files to tape (putting
recoverability at risk) or making too many tape backups for some of the RMAN backup files. You may find the reasons
behind this advice in the “10 Problems with your RMAN backup script” paper.
Despite the warning, many organizations run such a configuration. Therefore in the context of an RMAN catalog and
recoverability I would like to suggest you to keep RMAN metadata records in the catalog repository as long as backup
files are available on tapes. Do not use DELETE OBSOLETE commands. This ensures that the RMAN catalog
repository is “aware” of backups available on the tapes and you could use the “RESTORE … PREVIEW” command to
get the full list of files necessary for an intended recovery.


Practical hints for catalog usage
I am providing additional hints for catalog database usage for your consideration under this section. Most of the
information here, for one reason or another, did not find a good place in the previous section.

DO NOT SEPARATE DEVELOPMENT & PRODUCTION CATALOGS
Having a centralized RMAN repository across development and production environments will make your environment
cloning (DUPLICATION) efforts easier, avoiding unnecessary additional operations. You still may want to have an
RMAN development environment for upgrade testing. You may want either to keep a database synchronized with both
catalogs or to switch some development databases to the second catalog only for the duration of your upgrade testing.

DBID MUST BE DIFFERENT FOR ALL DATABASES
This is rather small comment. Before Oracle introduced the DB New ID utility (nid) it was a common practice to have
multiple databases with the same ID. Nowadays the DUPLICATE command changes the DB’s ID for you and if you



17       I would strongly suggest this option in DR configuration as it allows you to take backup load away from the
production system and to create offsite backups at the same time.
need to you can run the “nid” utility to change the ID yourself. You cannot register multiple databases with the same ID
under the same RMAN catalog repository, with the exception of databases in a Data Guard configuration.

TO USE OR NOT TO USE RMAN CATALOG STORED SCRIPTS?
The RMAN stored scripts are a very powerful feature that simplifies backup script change management across the whole
enterprise network. Before each backup the catalog stored script is retrieved from the repository. It is enough to change
a script in one place to adjust all or a subset of databases' backup procedures. It pays off in environments with many
databases (e.g., private clouds). Shell backup script management may introduce significant overhead in such
environments.
However, if we introduce catalog stored RMAN scripts we should make sure that the RMAN catalog database is highly
available. Otherwise backups will fail when unable to access the backup scripts.
An alternative solution is to sacrifice manageability and make sure that backups may happen even if a catalog is not
available.

RMAN SETUP FOR CATALOG DATABASE FAILURES
It is relatively simple to ensure that backups keep running even if a catalog database for one reason or another is not
available. First of all you must use shell backup scripts as opposed to RMAN catalog stored scripts. Ensure that the
catalog connection string is executed within the RMAN script’s body instead of connecting to a catalog when calling the
rman executable. This way even if the catalog database is not available, the backup will continue, reporting a warning on
catalog database unavailability.
Do not use the following syntax in your backup scripts: rman target / catalog user/password@catalog. This command will fail
if the catalog database is not available because of network or other issues.

USE RESYNC CATALOG
Instead of keeping a connection to a catalog database during the whole backup, we could connect to the catalog database
and issue “resync catalog” command at the end of each backup. This provides several benefits, including the following:
         -    Reduces RMAN catalog dependencies for long duration backups. The backup will need connectivity to a
              catalog database only for a very short time at the end of each run.
         -    If you use traditional connectivity a backup will fail if there is a connection failure to a catalog database
              during the backup execution. However this is avoided, reducing failures, if we use “resync catalog” at the
              end of each backup.
         -    Backups will run with no problems even if an RMAN catalog database is not available (e.g., if there is
              ongoing RMAN catalog maintenance). The backup metadata will get synchronized during the next backup
              execution.

INTRODUCE TWO CATALOG DATABASES TO ENSURE HIGH AVAILABILITY
There is nothing that would prevent you from registering a database in two catalog databases if you need it. One
potential use case is a DR solution where there are two catalog databases on both sites. Each database would connect to
both catalogs at the end of each backup run and issue the “resync catalog” command to keep both up to date. This
effectively ensures the catalog database's high availability in the case of a disaster recovery scenario and there is at least
one catalog database to synchronize with in case the other RMAN catalog database is unavailable for a maintenance
process. Note that a database can resynchronise with the catalog database any time, even after a few weeks out of
synchronisation.
This solution could be used as an alternative to Data Guard that potentially may trigger additional licensing 18.




18You must check the licensing question with you Oracle Sales representatives. This paper has a technical nature and
cannot be used as a reference in licensing questions. The only purpose here is to provide a reader with different possible
technical solutions to ensure RMAN catalog database high availability.
KEEP RMAN CATALOG ON THE SAME HARDWARE AS MML SOFTWARE
If possible, you may consider keeping both the RMAN catalog database and MML software on the same piece of
equipment. These two components have the same availability requirements. If MML is not available, the fact that the
catalog database is unavailable would not make any difference. However, while this configuration saves some resources,
it makes MML server dependent on Oracle catalog requirement and vice versa. A proper capacity planning should be
put in place before making such decision as MML side processes quite often as resources intensive.


Conclusions
Databases backup is an Oracle DBA’s primary responsibility area. It is our responsibility to ensure that databases have a
valid backup and could be restored based on business requirements at any time. We should streamline and bullet proof
the recovery process. The best time to prepare for a comfortable recovery is weeks, months or even years before you
need to execute it. An RMAN catalog database helps simplify potential recovery and provides a suite of other benefits.
However any additional database in an organization’s network increases operational costs. Today when organizations
have limited budgets and resources any cost increase needs to be justified. Many Oracle DBAs do not have a strong
justification for RMAN catalog database. Typically if an RMAN catalog database exists it was created for historical
reasons or because of Oracle recommendation without requirements analysis. This paper provided you with list of
scenarios where an RMAN catalog database must be used because of technical dependences and additional value added
and risk reducing use-cases.
In large environments with hundreds or even thousands of databases RMAN database is easier to justify as its
management costs spread across many databases and value increases as it helps to manage large number of databases
reducing related maintenance costs.
In configurations where RMAN is integrated with MML (Tapes based backup solution) catalog database simplifies
recovery operations. It does not apply to technical procedures only. It also reduces the number of people and
communication steps involved in most recovery scenarios and therefore simplify and reduce the time necessary for a
database recovery. On the other hand it is simpler to restore a database from file system based backups. In such
configuration Oracle DBAs should assess other benefits that RMAN catalog database provides.
If a catalog database exists in the environment you are managing already consider implementing other use-cases you and
your team can leverage from, simplifying and bulletproofing backup operations and reducing recoverability risks.

Contenu connexe

Tendances

Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsCloudera, Inc.
 
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...Massimo Cenci
 
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...Databricks
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsSpark Summit
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guideRyan Blue
 
Sql vs NoSQL-Presentation
 Sql vs NoSQL-Presentation Sql vs NoSQL-Presentation
Sql vs NoSQL-PresentationShubham Tomar
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB plc
 
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...Altinity Ltd
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Web Services
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - DatalakeLam Le
 
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...Jeff Z. Pan
 
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020Timothy McAliley
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!Chris Taylor
 
Deep Dive into the New Features of Apache Spark 3.1
Deep Dive into the New Features of Apache Spark 3.1Deep Dive into the New Features of Apache Spark 3.1
Deep Dive into the New Features of Apache Spark 3.1Databricks
 
Big Data Security in Apache Projects by Gidon Gershinsky
Big Data Security in Apache Projects by Gidon GershinskyBig Data Security in Apache Projects by Gidon Gershinsky
Big Data Security in Apache Projects by Gidon GershinskyGidonGershinsky
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databasesFabio Fumarola
 

Tendances (20)

Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
 
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
 
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark Applications
 
Parquet performance tuning: the missing guide
Parquet performance tuning: the missing guideParquet performance tuning: the missing guide
Parquet performance tuning: the missing guide
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Sql vs NoSQL-Presentation
 Sql vs NoSQL-Presentation Sql vs NoSQL-Presentation
Sql vs NoSQL-Presentation
 
Big Data: an introduction
Big Data: an introductionBig Data: an introduction
Big Data: an introduction
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...
OSA Con 2022 - Apache Iceberg_ An Architectural Look Under the Covers - Alex ...
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - Datalake
 
ZFS appliance
ZFS applianceZFS appliance
ZFS appliance
 
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
Linked Data and Knowledge Graphs -- Constructing and Understanding Knowledge ...
 
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!
 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
 
Deep Dive into the New Features of Apache Spark 3.1
Deep Dive into the New Features of Apache Spark 3.1Deep Dive into the New Features of Apache Spark 3.1
Deep Dive into the New Features of Apache Spark 3.1
 
Big Data Security in Apache Projects by Gidon Gershinsky
Big Data Security in Apache Projects by Gidon GershinskyBig Data Security in Apache Projects by Gidon Gershinsky
Big Data Security in Apache Projects by Gidon Gershinsky
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databases
 

En vedette

Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rmanitsabidhussain
 
Oracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskOracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskAlan Williams
 
You most probably dont need an RMAN catalog database
You most probably dont need an RMAN catalog databaseYou most probably dont need an RMAN catalog database
You most probably dont need an RMAN catalog databaseYury Velikanov
 
Introduction to Oracle RMAN, backup and recovery tool.
Introduction to Oracle RMAN, backup and recovery tool.Introduction to Oracle RMAN, backup and recovery tool.
Introduction to Oracle RMAN, backup and recovery tool.guest5ac6fb
 
Rman Presentation
Rman PresentationRman Presentation
Rman PresentationRick van Ek
 
10 Problems with your RMAN backup script
10 Problems with your RMAN backup script10 Problems with your RMAN backup script
10 Problems with your RMAN backup scriptYury Velikanov
 
RMAN backup Oracle
RMAN backup OracleRMAN backup Oracle
RMAN backup OracleAlfan Dya
 

En vedette (8)

Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
 
Oracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskOracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ Autodesk
 
You most probably dont need an RMAN catalog database
You most probably dont need an RMAN catalog databaseYou most probably dont need an RMAN catalog database
You most probably dont need an RMAN catalog database
 
Introduction to Oracle RMAN, backup and recovery tool.
Introduction to Oracle RMAN, backup and recovery tool.Introduction to Oracle RMAN, backup and recovery tool.
Introduction to Oracle RMAN, backup and recovery tool.
 
Rman Presentation
Rman PresentationRman Presentation
Rman Presentation
 
10 Problems with your RMAN backup script
10 Problems with your RMAN backup script10 Problems with your RMAN backup script
10 Problems with your RMAN backup script
 
RMAN backup Oracle
RMAN backup OracleRMAN backup Oracle
RMAN backup Oracle
 
RMAN – The Pocket Knife of a DBA
RMAN – The Pocket Knife of a DBA RMAN – The Pocket Knife of a DBA
RMAN – The Pocket Knife of a DBA
 

Similaire à RMAN Catalog Database Cost and Value

The High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceThe High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceEmbarcadero Technologies
 
How to survive a disaster with RMAN
How to survive a disaster with RMANHow to survive a disaster with RMAN
How to survive a disaster with RMANGustavo Rene Antunez
 
Oracle-12c Online Training by Quontra Solutions
 Oracle-12c Online Training by Quontra Solutions Oracle-12c Online Training by Quontra Solutions
Oracle-12c Online Training by Quontra SolutionsQuontra Solutions
 
Využijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplnoVyužijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplnoMarketingArrowECS_CZ
 
Migration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication TechnologyMigration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication TechnologyDonna Guazzaloca-Zehl
 
Choosing an IdM User Store technology
Choosing an IdM User Store technologyChoosing an IdM User Store technology
Choosing an IdM User Store technologyMichael J Geiser
 
Software architecture case study - why and why not sql server replication
Software architecture   case study - why and why not sql server replicationSoftware architecture   case study - why and why not sql server replication
Software architecture case study - why and why not sql server replicationShahzad
 
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)Hari Srinivasan
 
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...djkucera
 
RMAN in 12c: The Next Generation (WP)
RMAN in 12c: The Next Generation (WP)RMAN in 12c: The Next Generation (WP)
RMAN in 12c: The Next Generation (WP)Gustavo Rene Antunez
 
What is OLAP -Data Warehouse Concepts - IT Online Training @ Newyorksys
What is OLAP -Data Warehouse Concepts - IT Online Training @ NewyorksysWhat is OLAP -Data Warehouse Concepts - IT Online Training @ Newyorksys
What is OLAP -Data Warehouse Concepts - IT Online Training @ NewyorksysNEWYORKSYS-IT SOLUTIONS
 
Oracle dba-daily-operations
Oracle dba-daily-operationsOracle dba-daily-operations
Oracle dba-daily-operationsraima sen
 
Collaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mysteryCollaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mysteryNelson Calero
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning courseAlberto Centanni
 
Optimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesOptimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesEmbarcadero Technologies
 
Optimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesOptimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesMichael Findling
 

Similaire à RMAN Catalog Database Cost and Value (20)

The High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceThe High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High Performance
 
Oracle 12c Architecture
Oracle 12c ArchitectureOracle 12c Architecture
Oracle 12c Architecture
 
How to survive a disaster with RMAN
How to survive a disaster with RMANHow to survive a disaster with RMAN
How to survive a disaster with RMAN
 
Oracle-12c Online Training by Quontra Solutions
 Oracle-12c Online Training by Quontra Solutions Oracle-12c Online Training by Quontra Solutions
Oracle-12c Online Training by Quontra Solutions
 
Využijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplnoVyužijte svou Oracle databázi naplno
Využijte svou Oracle databázi naplno
 
Migration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication TechnologyMigration to Oracle 12c Made Easy Using Replication Technology
Migration to Oracle 12c Made Easy Using Replication Technology
 
Choosing an IdM User Store technology
Choosing an IdM User Store technologyChoosing an IdM User Store technology
Choosing an IdM User Store technology
 
Software architecture case study - why and why not sql server replication
Software architecture   case study - why and why not sql server replicationSoftware architecture   case study - why and why not sql server replication
Software architecture case study - why and why not sql server replication
 
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
 
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
 
PASS Summit 2020
PASS Summit 2020PASS Summit 2020
PASS Summit 2020
 
RMAN in 12c: The Next Generation (WP)
RMAN in 12c: The Next Generation (WP)RMAN in 12c: The Next Generation (WP)
RMAN in 12c: The Next Generation (WP)
 
What is OLAP -Data Warehouse Concepts - IT Online Training @ Newyorksys
What is OLAP -Data Warehouse Concepts - IT Online Training @ NewyorksysWhat is OLAP -Data Warehouse Concepts - IT Online Training @ Newyorksys
What is OLAP -Data Warehouse Concepts - IT Online Training @ Newyorksys
 
Building a SaaS Style Application
Building a SaaS Style ApplicationBuilding a SaaS Style Application
Building a SaaS Style Application
 
Oracle dba-daily-operations
Oracle dba-daily-operationsOracle dba-daily-operations
Oracle dba-daily-operations
 
Collaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mysteryCollaborate 2012 - RMAN eliminate the mystery
Collaborate 2012 - RMAN eliminate the mystery
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning course
 
Optimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesOptimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero Technologies
 
Optimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero TechnologiesOptimizing Your Database Performance | Embarcadero Technologies
Optimizing Your Database Performance | Embarcadero Technologies
 
Dba_resume
Dba_resumeDba_resume
Dba_resume
 

Plus de Yury Velikanov

AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
 
RAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionRAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionYury Velikanov
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Yury Velikanov
 
Oracle e-Business Suite & RAC 11GR2
Oracle e-Business Suite & RAC 11GR2Oracle e-Business Suite & RAC 11GR2
Oracle e-Business Suite & RAC 11GR2Yury Velikanov
 
All Oracle DBAs have to know about Unix Memory Monitoring
All Oracle DBAs have to know about Unix Memory MonitoringAll Oracle DBAs have to know about Unix Memory Monitoring
All Oracle DBAs have to know about Unix Memory MonitoringYury Velikanov
 
Yury's CV as of 2013.03.31
Yury's CV as of 2013.03.31Yury's CV as of 2013.03.31
Yury's CV as of 2013.03.31Yury Velikanov
 
Sharing experience implementing Direct NFS
Sharing experience implementing Direct NFSSharing experience implementing Direct NFS
Sharing experience implementing Direct NFSYury Velikanov
 
10 Problems with your RMAN backup script - whitepaper
10 Problems with your RMAN backup script - whitepaper10 Problems with your RMAN backup script - whitepaper
10 Problems with your RMAN backup script - whitepaperYury Velikanov
 
Oracle 11G SCAN: Concepts and Implementation Experience Sharing
Oracle 11G SCAN: Concepts and Implementation Experience SharingOracle 11G SCAN: Concepts and Implementation Experience Sharing
Oracle 11G SCAN: Concepts and Implementation Experience SharingYury Velikanov
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data miningYury Velikanov
 

Plus de Yury Velikanov (10)

AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015
 
RAC Attack 12c Installation Instruction
RAC Attack 12c Installation InstructionRAC Attack 12c Installation Instruction
RAC Attack 12c Installation Instruction
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
 
Oracle e-Business Suite & RAC 11GR2
Oracle e-Business Suite & RAC 11GR2Oracle e-Business Suite & RAC 11GR2
Oracle e-Business Suite & RAC 11GR2
 
All Oracle DBAs have to know about Unix Memory Monitoring
All Oracle DBAs have to know about Unix Memory MonitoringAll Oracle DBAs have to know about Unix Memory Monitoring
All Oracle DBAs have to know about Unix Memory Monitoring
 
Yury's CV as of 2013.03.31
Yury's CV as of 2013.03.31Yury's CV as of 2013.03.31
Yury's CV as of 2013.03.31
 
Sharing experience implementing Direct NFS
Sharing experience implementing Direct NFSSharing experience implementing Direct NFS
Sharing experience implementing Direct NFS
 
10 Problems with your RMAN backup script - whitepaper
10 Problems with your RMAN backup script - whitepaper10 Problems with your RMAN backup script - whitepaper
10 Problems with your RMAN backup script - whitepaper
 
Oracle 11G SCAN: Concepts and Implementation Experience Sharing
Oracle 11G SCAN: Concepts and Implementation Experience SharingOracle 11G SCAN: Concepts and Implementation Experience Sharing
Oracle 11G SCAN: Concepts and Implementation Experience Sharing
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data mining
 

Dernier

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

RMAN Catalog Database Cost and Value

  • 1. Category: Backup and Recovery Product Line: Oracle Database 1.45v 2013.04.10 YOU MOST PROBABLY DON 'T NEED RMAN CATALOG DATABASE Yury Velikanov, The Pythian Group ABSTRACT This paper discusses in details the cost and value of RMAN catalog database. TARGET AUDIENCE This paper is targeted for experienced Oracle DBAs who supported and implemented RMAN based backup and recovery procedures. EXECUTIVE SUMMARY Learner will be able to:  Justify RMAN catalog database to system’s business owner  Leverage additional RMAN catalog benefits  Improve RMAN based backup procedures BACKGROUND The title of this paper is purposely thought provoking. My intention is not to discourage you from using catalog database, but rather encourage you to think about the cost and value it adds. In this paper I will discuss legitimate reasons why one should use an RMAN catalog database, if a catalog database is in use, then what additional value it can provide to improve operations. Many DBAs continue to use RMAN catalog database simply because of historical reasons. Oracle’s general advice in earlier database versions was to use Catalog database. In fact most of us know that in first versions of a recovery manager (RMAN) “catalog” was the default option. With newer versions, Oracle changed the default behavior to “nocatalog” and I think there have been some legitimate reasons for it. This paper will review: What costs are involved with running catalog database; What problems does it address and what risks does it help mitigate; What additional value (e.g. reporting, metadata backup and long storage etc) you can leverage from it. In addition it reviews special cases such as RMAN using MML (Media Management Layer or simply a tape system, some DBAs know it as SBT_TAPE) integration; RMAN in Disaster Recovery configuration; RMAN backups based on file system; Retention policy management and some others. Finally you will find practical and general hints on how to use a catalog database at the end of this paper. I must warn you that this paper assumes that you have previous RMAN knowledge. In the ideal case you should be an Oracle DBA for some time and have experience in backup and recovery. This paper doesn’t provide ready to use solutions. The main purpose is to make a complete overview of why you may need or may not need an RMAN catalog database. Solutions to be provided as additional work related to this paper.
  • 2. Acknowledgments: I would like to say a huge thanks to all my social media friends, workmates at Pythian and other DBAs who contributed to this paper with their ideas and suggestions. Thanks a lot for the following people for investing their time and efforts to review and improve the paper:  Steve Karam one of the first reviewers / editors  Brian Pardy one of the first reviewers / editors  Fuad Arshad  John Piwowar  Martin Bach  Kamran Agayev  Andrey Goryunov  Sergey Kosourikhin  Christine Kivi a significant proofreading contributor Why RMAN catalog is an overhead? / COST Let me start with not so obvious statement for many DBAs: RMAN catalog database is an overhead that needs justification to exist. Unlike any general business related database it does not store application data. Therefore a business owner of an IT environment may have a valid question: How much does this component cost me and what value it adds? We as IT representatives should have a very good answers, right? Most of DBAs that I have spoken to about it admitted that they use a catalog database because it was been created before them or they followed Oracle’s recommendations without analyzing if it is necessary. Let us start with understanding how big an overhead the catalog database is and how much does it cost? So, what costs are involved running an RMAN catalog database? By saying “cost” I do not mean just server hardware resources1. In many cases hardware costs are not the main contributing factor (hardware is cheap today, right?). Time is a cost and “inexpensive” DBA time needs to be invested to maintain, troubleshoot, patch and update catalog database. Let us go through some typical activities associated with RMAN catalog database implementation and maintenance:  IMPLEMENTATION COST: Catalog database and associated RMAN catalog schema need to be created o Partially we can mitigate this cost by using OEM database (if exists then we do not need to create additional database). It is common to see DBAs using OEM database for the catalog schema as it has the similar availability requirements and licensing implications. However this introduces dependency between OEM and RMAN catalog. This decision limits our maintenance windows and upgrade options to some extent. o If we do not have a database where to locate RMAN schema then we need to create a new one. Any new database creation involves planning and communication with friendly neighbour departments (system administrators, network team, backup team etc). This consumes time and resources. o In business critical environments we should think and ensure that catalog database is highly available. This adds to the implementation costs. o In some larger enterprise networks, DBAs sometimes decides to introduce a separate RMAN catalogs based on geographical locations to reduce risk of network issues impacting database backups. This increases the implementation and maintenance costs in proportion to the number of RMAN catalog databases.  MAINTENANCE COST: A catalog database needs to be maintained. A DBA should apply patches and keep the database on the supported versions level. You may say it does not need too much attention. I do agree. However there is still some time a DBA spends planning, preparing and executing maintenance activities. As 1 It is worth mentioning that that you do not need an Oracle licence to run RMAN database unless you customise it or use for other purpose that requires a licence. You may check with your Oracle sales representatives though if you need a licence for RMAN database in DR configuration.
  • 3. RMAN catalog database is just another Oracle database it requires some DBA’s attention regularly. Depending on the databases’ versions used in your network you may require to keep RMAN catalog on relatively fresh level2. If Oracle databases maintenance processes are well designed and automated in your organisation it helps reduce catalog database maintenance costs. Delaying RMAN catalog database upgrade to the latest version can save on the maintenance costs, as quite often there is no necessity to upgrade RMAN database as often as other business critical databases.  DEPENDENCIES: RMAN Catalog database is typically implemented in organisations with several or even hundreds of databases. The more databases that use Catalog database, the less downtime that is available to maintain it. It can become very difficult to close RMAN database for maintenance resulting in additional planning time.  DOWNTIME: Quite often, depending on the implementation, RMAN backups may fail if a catalog database is not available3. Any unplanned downtime of catalog database may trigger backup failures and therefore puts possible recovery at risk.  AVAILABILITY (licensing): As catalog database becomes a critical resource we should ensure that it is highly available. We do not want to lose critical backup data, do we? The process could involve Data Guard implementation and other measures that adds to the total cost of catalog database. As the downtime should be minimal the implementation may need a bit more efforts. By the way, you may call your Oracle Sales representative to discuss if you need any additional licences in this case 4.  TUNING: In the case of managing hundreds or thousands of databases the catalog database may require additional tuning efforts. However with the right approach (statistics, additional indexes etc) it can manage a lot of databases’ metadata. At the end of the day RMAN catalog is nothing but a schema with approximately 40 tables. Most of traditional optimisation methods apply to catalog database. Some may say that the RMAN catalog database maintenance costs are relatively low as it is nothing but an Oracle database. I do agree. In fact with each additional database that we manage within the catalog database, we reduce the overall cost per database. Plus RMAN database unlike many business application databases does not generate too much headache5. However we do have a real alternative, right? Instead of having an additional database and associated costs, we may use an individual databases controlfiles. Question is: : when does the benefits of having a catalog database justify the additional costs associated with it. If we have just one business database can we justify a catalog database or not? How many databases should an organisation have in order to justify the cost? How critical should a business database be to mitigate associated recoverability risks? Now that we have some ideas on what the costs consist of, let us have a look at the benefits. I would like to start with scenarios when there are technical dependences from catalog database and we must have it. Cases when catalog database is a MUST There are just a few technical reasons when we must have a catalog database and where a control file based RMAN catalog is not good enough. There are solutions for some and limited options for others. Let us discuss each of those:  Disaster Recovery: When an organisation uses a Data Guard (standby database) for a business database backed up by RMAN and there are backups that takes place on both DR sides 6 then we must have a catalog database 2 For example can’t use a 10.2 catalog database with a 11.2.0.3 production environment 3 See “Use resync catalog” section for a discussion on how to reduce this risk 4 If you need a license for a catalog database standby you may workaround it by synchronizing you RMAN backups with a RMAN catalogs on both DR sides. I mention it later in the paper. 5 We do not change it as often as other databases/applications 6 It would be my preferable option to reduce backup load on primary database and offsite backups
  • 4. to synchronise backup information for both primary and disaster recovery sites. See the “Catalog & DR” section bellow for further discussion. I think there is no work around here.  KEEP: There are requirements to use a RMAN KEEP command to keep a backup for longer than current retention policy and a controlfile (control_file_record_keep_time) allows. This way information about backups that we would like to keep will be stored in a catalog database until it expires. However long term backups need a special care and should be treated as archiving rather than as regular backups. We may also want to backup oracle database software that is associated with the backup and possibly operational system. In case of file system backups many of us feel more comfortable if one off backup’s files are moved (copied to other directory or volumes) rather than keeping those on the original location. As alternative we could create a backup on an alternative location and UNCATALOG those to exclude from the purge process. At the time of recovery you either use a control file created along with the backup or use CATALOG or CATALOG START WITH RMAN commands to register it in the current control file 7. In both cases KEEP command is not necessary or in other words there are alternative solutions and the KEEP command is a nice to have. In case of tapes (MML) backups, most often a retention policy is managed by MML layer (with no good visibility for DBA teams) and therefore RMAN KEEP command would not be very useful8. The most important point here would be to ensure that the backup is sent to the right MML retention pool. RMAN backup’s log file contains important recovery information (e.g. handle and pool names). Those are to be kept a safe place until possible recovery. However if you have a need for the KEEP command then you should use a catalog database. If you decide to use RMAN catalog for this reason please confirm that the MML solution used in your environments supports RMAN retention policy and it has a priority over MML side retention policies.  CONTROL FILE SIZE: If the size of database control files (control_file_record_keep_time) does not allow storing as long a history as necessary for current retention policy, then you need a catalog database to ensure obsolete backups get deleted and you can restore from backups older than what is stored in the control file. In this scenario ability to purge obsolete backups is more important than a restore operation. If for example we use MML and it controls the backup data purging process, then it is not critical that a current controlfile “knows” about all backups available. We can always restore a controlfile we need using the right MML “handle”. The handle could be obtained from either a backup’s log file or recovering an older controlfile copy that the current controlfile is aware of9. However, based on my experience, if an organisation uses a file system (e.g. NFS) to store backups then it is rare when a retention policy is greater than a reasonable sized controlfile could handle (e.g. 30 days). If an organisation uses a tape solution, then most often the retention policy is managed by MML layer and therefore catalog does not play any role in a backup’s purging process. The controlfile size limitation could be a legitimate reason to introduce a catalog database, however as you can see there are still some methods to address some of the challenges without requiring a catalog database.  DUPLICATE does not need a catalog database. Some of you may say that RMAN DUPLICATE from backups without target connection 10 requires a catalog database. As a matter of fact there is the following statement in the oracle 11GR2 documentation - “RMAN can perform backup-based duplication with or without either of the following connections: Target, Recovery catalog”. DUPLICATE does not require catalog database. You may want to review the “Creation Of Rman Duplicate Without Target And Recovery Catalog Connection. [ID 1113713.1]” note for additional details. 7 There is a risk however that the current controlfile may be on the different version. This is why the suggestion is to include operation system and oracle home backups along with the database backup that you are planning to keep longer than normal retention policy. 8 With exception of recovery process. In this case we will need to restore “old” controlfile from tapes and then process with regular recovery. However recovery from “old” backup may treated as exceptional case and therefore may not be significant enough reason for a catalog database introduction. As an additional argument I would like to mention that restore from an “old” backup often involves more complex activities (e.g. OS and Oracle Home restore) to be treated as exception. 9 This method could be time consuming as we may need to recover several controlfiles before getting to the right one. In this scenario storing backups’ log files may be more reasonable solution. 10 This is a new 11G R2 feature
  • 5. This leaves us with three legitimate technical reasons when you may need catalog database 11. If you found that one or a combination of the reasons for RMAN catalog database applies to your configuration and you cannot use possible solutions suggested then you may read the next section to learn about possible additional benefits you can leverage from the catalog database. Others may find that the benefits are more valuable than associated costs and therefore leverage catalog database benefits. Benefits of using RMAN catalog / VALUE We have discussed COSTs involved in creating and maintaining catalog database as well as reviewed cases where catalog database is a MUST. It is time to focus on the VALUE added by catalog database. Let us start with a simple and easy to implement optional feature.  ADDITIONAL CONTROL: An additional, centralized control level for day to day backups. I like this idea very much. If we have a catalog database with hundreds if not thousands of databases registered and backed up on regular basis then a report could be introduced that would notify a DBA team’s manager (or backup DBA, oncall, etc) about problems with last night backups or just provide a summary for review. It would not replace proper error handling functionality with oncall DBA notification 12 built within the backup process. However, if a DBA manages hundreds of databases then he/she may miss some of the issues (I was there personally). This option introduces a “safety fuse”. It protects an organisation from possible human and technical errors. If I was a DBA manager, I would strongly consider this option so I may sleep soundly at night.  MONITORING & REPORTING: Backups’ volumes and throughput day to day monitoring. One of the main Oracle DBA responsibilities is to ensure that database backups run well. Catalog database provides an easy and centralized day to day monitoring repository. o You may introduce several reports that would help you identify any changes in the backups patterns (e.g. backup network slowdown or backup volumes increase because of redo volumes increase etc) without connecting to each of possibly many database servers. o It also could be used as a troubleshooting tool if backup run time increases (comparing the backup volumes, throughput etc with previous executions). For example if there is an archived logs volume increases you may check TOP objects with most block changes or if the volumes are the same it could indicate a problem with backup network or MML layer. o As catalog database contains information about backups’ timing, volumes and compression rates you can use this information for tuning backups, changing parallel parameters and control the impact. o Some service based organisation may charge their clients (e.g. internal clients, projects etc) per backup GB. The catalog database could be used to measure and report the backup volume per database or set of databases, simplifying cost estimates.  CAPACITY PLANNING: Depending on the retention policy used and backup cycles it could be challenging to estimate the total capacity necessary for all databases’ backups. As an example, if NFS is used as storage for backups and there are hourly archive logs, daily incremental and weekly full backups then total storage used by the database backup may change significantly 13 depending on the day of the week. Capacity planning may become even more challenging if backups are executed from multiple RAC nodes and there are several databases that use the same NFS mount for storing backups. A centralized catalog makes the space utilisation reporting and capacity planning easier. Please bear in mind that records about backups are removed from the catalog database at the time that backups are obsoleted and deleted based on the retention policy used. There is no difference from that perspective between a controlfile or database based catalog. Therefore for capacity 11 If you disagree and know other reasons please get in touch with me (google my name). Be sure that I am quite happy to be wrong and will include your reason and mention your name (if you ok with it) 12 I strongly believe that oncall DBA must be paged about any backup related problem. As backup is one of the most critical tasks that a DBA manages and responsible for. Therefore he/she should be notified about any problem immediately. Ok, ok there are some exceptions could be made. But those should be very well controlled. 13 The maximum difference is equal to size of all weekly incremental and all archive log backup volumes.
  • 6. planning you may want to introduce an additional (custom) set of tables to store day to day measurements for long term capacity planning.  MML: MML backups tend to be stored longer than file system backups, therefore there is a tendency to use an RMAN catalog in such configurations. However, quite often MML layer has its own retention policy and RMAN is rarely used to manage the backup retention policy. Therefore, if we ensure that we can restore a controlfile from MML (e.g., using MML repository or backup log files) we may not need an RMAN catalog database. See the “Catalog & MML integration” section for additional details on this topic.  RMAN SCRIPTS: A catalog database allows us to store RMAN scripts so they can be reused to backup databases in a standard way across an enterprise. This allows the use of unified backup scripts across many (if not all) databases. The scripts are pulled out from the catalog database each time a backup is performed. Along with RMAN default configuration settings stored on a catalog database, this makes it easy to control and adjust backup scripts without connecting to each server and adjusting every single backup script. o Cons: Backups become highly dependent on the catalog database. If it is not available then ALL backups fail. Alternatively we can make local backups less dependent on the catalog by using local shell scripts, and even if the catalog database is not available backups still run (synchronizing backup metadata later on at the time the catalog becomes available).  EASY CONTROLFILE RECOVERY: Independent of the configuration you use, catalog database makes controlfile recovery very easy and a standard procedure across all Oracle environments. In most cases, you just run a single command to recover a controlfile. However you only will need this in the scenario where there is complete loss of the current controlfile. This concludes my list of additional value added options. Now it is up to you to put things together and present it to your system business owner. If you have used an RMAN catalog database before reading this paper you may consider implementing some of the ideas I listed above in order to streamline your operations and get more value from the configuration. Catalog usage In this section I would like to discuss some of the important RMAN catalog database usage scenarios and options you should be careful with. Let me start with a controlfile recovery from an auto backup. While this is not directly related to the catalog database it may explain an additional use case compared to a configuration without a catalog database. CONTROL FILE AUTO RECOVERY From a complete database recovery point of view (e.g., complete server or storage loss 14) the main task for which we possibly need a catalog database is a controlfile restore. As soon as the controlfile is restored, in most cases we do not need a catalog database as the controlfile contains all information necessary for further recovery. It is not as big a problem for file system based backups (e.g., NFS filers) as for tape based backups. Quite often we need to know a “handle” name15 to restore a file or group of files from tapes (MML). Some of you may say that if we configure a controlfile auto backup (RMAN command “CONFIGURE CONTROLFILE AUTOBACKUP ON”) then the controlfile recovery problem is solved. Do not say that too quickly. The problem with controlfile auto recovery from MML is that a restore of a single control file could take several hours. A controlfile's auto backup uses a standard handle name (%F format). The handle name consists of the following components: “c-“ + “database ID” + “date” + “XX”, where “XX” is a hexadecimal sequence that starts with 00 and has a maximum of FF. The sequence increases each time a new controlfile auto backup is created in a given day. It is important to mention that the index resets daily. At recovery time, RMAN, in order to recover the freshest auto backup copy, tries to use a handle name with FF at the end, and then FE and so on until MML sends back a stream of data instead of returning a file/stream not found error. Sometimes it may take up to 240 roundtrips to get to the right index/handle name. It is not rare to see one roundtrip to MML service 14 Please note that while full recovery scenarios happen, most often DBAs deal with cases where either a current controlfile copy is available or it is known from where to recover a controlfile (e.g., cloning from production). Therefore full recovery happens rarely. Nevertheless a DBA should be ready for a worst case scenario. 15 A name assigned to a backup stream at the time of backup.
  • 7. taking 2-5 minutes. After a simple calculation it brings us to 8-20 hours16 just for a controlfile recovery. Because of the way a controlfile auto backup works, controlfile file auto recovery may not be an acceptable option to use for a controlfile recovery. An alternative would be to provide a handle name within the recovery command. The handle name could be found in a backup log file or from the MML repository. CATALOG & MML INTEGRATION The next catalog database usage scenario I would like to cover is catalog and MML (tape) configuration. This is a configuration where I personally find a catalog database most reasonable to use, as it reduces significant risks and streamlines the recovery process. CONTROL FILE RECOVERY One important step in the recovery process is a controlfile restore. Depending on your recovery parameters you may want to restore a controlfile from older backups rather than from latest backup (e.g., auto backup). The good news is any controlfile that contains information about a backup you want to restore from will be sufficient for a recovery. This means you have flexibility to restore a controlfile from up to several days after a target backup has been taken. The length of the interval will be dependent on retention policy and controlfile size (control_file_record_keep_time). Let us list several common ways to restore a controlfile from MML repository WITHOUT an RMAN catalog database to make a case for use of a catalog database: - MML REPOSITORY: First of all it is always possible to find a stream of data using MML repository that most likely will be a controlfile. Most MMLs repositories have information about the client that sent each stream of data and the time when it happened. It is just matter of luck and time (trial and error method). However, often in a restore scenario we do not have much time. The fact that there could be several databases running on the same MML client (DB server) could introduce an additional challenge. - RMAN LOG: Recovery Manager records handle names each time it sends data to MML in log files. This is one additional argument for why it is important to store RMAN log files in an easily accessible place (e.g., most commonly the DBA team’s mailbox). This can reduce the trial and error time significantly - HANDLE: For most RMAN & MML configurations it is possible to assign a custom handle name at the time you execute a backup. The method to do so is dependent on the MML software. Most commonly you either set it via RMAN “ENV=” clause or “format” channel keyword. If you assign a meaningful name to a controlfile backup piece (e.g., DB name, date & time) then it will be an easy task to identify a handle you are interested in from the MML repository as it lists all the handles' names. As you can see there are options that allow you to restore a controlfile from MML without using a catalog database. The third option even allows you to pass metadata information to MML that allows you to identify a controlfile “handle” you need to recover from the MML side without any issues. However it requires very close cooperation between the Oracle DBA and the tape system’s management team. In many organizations those two teams do not talk to each other very often. Sometimes MML management is outsourced to third organization. Communications between Oracle DBA and MML teams may take significant time, if possible at all. However RMAN catalog database allows avoiding sometimes “difficult” communications. For many DBA teams it is easier to introduce a catalog database rather than streamline communications that may be a crucial component in a potential restore process. For tape administration teams it has its own benefit: they do not need to provide access to MML repository data to Oracle DBAs. Finally, a catalog database introduces a standard way for restoring controlfiles and databases. This means that even an external Oracle DBA who is not familiar with an organization's specific setup (e.g., log file locations, MML integration details, etc) would not have significant problems restoring controlfiles or databases. If an organization has hundreds of databases it often much easier (cheaper) to introduce a catalog database than to work on other backup and restore options. In addition, the organization could use the other benefits of an RMAN catalog to justify maintenance costs. 16 You can reduce controlfile recovery time from autobackup dramatically with maxseq and maxdays options. See restoreSpecOperand, FROM AUTOBACKUP from Oracle® Database Backup and Recovery Reference 11g Release 2 (11.2)
  • 8. RETENTION POLICY MANAGEMENT Typically an organization uses centralized MML services where Oracle databases are just one client of many (others could be: filesystems, MS Exchange, other databases, etc). In such a configuration there are often common backup data retention pools defined (e.g., 1-2 weeks storage, 1-2 month storage & long term or custom) to ensure effective tape life cycles and recycling. RMAN is not used to ensure the backup retention policy and there is a bit of a challenge to synchronize RMAN and MML layer data. RMAN may still contain data about backups that are not available in MML. One of the common approaches used in such a case is to change the status of old backups that have crossed the tape retention policy to UNAVAILABLE to keep records for capacity planning purposes and to UNCATALOG at the time we no longer need the records. Please note that the DELETE command will delete records from the catalog database and they would no longer be available for further capacity planning activities. As the RMAN catalog and MML data are not synchronized in an automatic way there could be situations when RMAN would try to request a non-existent backup. This configuration should be carefully planned and tested to avoid such situations. CATALOG & DR One of the configurations where an RMAN catalog is a MUST is if an organization takes backups from both sites or from the Disaster Recovery (DR) site only 17. If you are running backups from both primary and standby databases you should be aware about backups associations to different sites (SITE_KEY column in RMAN catalog view). Any disk based backups considered as local to the site/database that they have been taken from. Tape based backups are considered to be accessible from both sites. You may want to review “RMAN Backups in a Data Guard Environment” from “Oracle Database Backup and Recovery Reference 11g Release 2 (11.2)” for more information. Special care should be taken running backups in Disaster Recovery configuration and an RMAN catalog is required to complete the task. CATALOG & FS Some may think that this is a very simple configuration, and in fact it is, unless there is a separate file system backup that backs up your RMAN backup directories. In such a case I would strongly suggest you consider implementing MML integration as otherwise you are at risk of either missing copying some RMAN backup files to tape (putting recoverability at risk) or making too many tape backups for some of the RMAN backup files. You may find the reasons behind this advice in the “10 Problems with your RMAN backup script” paper. Despite the warning, many organizations run such a configuration. Therefore in the context of an RMAN catalog and recoverability I would like to suggest you to keep RMAN metadata records in the catalog repository as long as backup files are available on tapes. Do not use DELETE OBSOLETE commands. This ensures that the RMAN catalog repository is “aware” of backups available on the tapes and you could use the “RESTORE … PREVIEW” command to get the full list of files necessary for an intended recovery. Practical hints for catalog usage I am providing additional hints for catalog database usage for your consideration under this section. Most of the information here, for one reason or another, did not find a good place in the previous section. DO NOT SEPARATE DEVELOPMENT & PRODUCTION CATALOGS Having a centralized RMAN repository across development and production environments will make your environment cloning (DUPLICATION) efforts easier, avoiding unnecessary additional operations. You still may want to have an RMAN development environment for upgrade testing. You may want either to keep a database synchronized with both catalogs or to switch some development databases to the second catalog only for the duration of your upgrade testing. DBID MUST BE DIFFERENT FOR ALL DATABASES This is rather small comment. Before Oracle introduced the DB New ID utility (nid) it was a common practice to have multiple databases with the same ID. Nowadays the DUPLICATE command changes the DB’s ID for you and if you 17 I would strongly suggest this option in DR configuration as it allows you to take backup load away from the production system and to create offsite backups at the same time.
  • 9. need to you can run the “nid” utility to change the ID yourself. You cannot register multiple databases with the same ID under the same RMAN catalog repository, with the exception of databases in a Data Guard configuration. TO USE OR NOT TO USE RMAN CATALOG STORED SCRIPTS? The RMAN stored scripts are a very powerful feature that simplifies backup script change management across the whole enterprise network. Before each backup the catalog stored script is retrieved from the repository. It is enough to change a script in one place to adjust all or a subset of databases' backup procedures. It pays off in environments with many databases (e.g., private clouds). Shell backup script management may introduce significant overhead in such environments. However, if we introduce catalog stored RMAN scripts we should make sure that the RMAN catalog database is highly available. Otherwise backups will fail when unable to access the backup scripts. An alternative solution is to sacrifice manageability and make sure that backups may happen even if a catalog is not available. RMAN SETUP FOR CATALOG DATABASE FAILURES It is relatively simple to ensure that backups keep running even if a catalog database for one reason or another is not available. First of all you must use shell backup scripts as opposed to RMAN catalog stored scripts. Ensure that the catalog connection string is executed within the RMAN script’s body instead of connecting to a catalog when calling the rman executable. This way even if the catalog database is not available, the backup will continue, reporting a warning on catalog database unavailability. Do not use the following syntax in your backup scripts: rman target / catalog user/password@catalog. This command will fail if the catalog database is not available because of network or other issues. USE RESYNC CATALOG Instead of keeping a connection to a catalog database during the whole backup, we could connect to the catalog database and issue “resync catalog” command at the end of each backup. This provides several benefits, including the following: - Reduces RMAN catalog dependencies for long duration backups. The backup will need connectivity to a catalog database only for a very short time at the end of each run. - If you use traditional connectivity a backup will fail if there is a connection failure to a catalog database during the backup execution. However this is avoided, reducing failures, if we use “resync catalog” at the end of each backup. - Backups will run with no problems even if an RMAN catalog database is not available (e.g., if there is ongoing RMAN catalog maintenance). The backup metadata will get synchronized during the next backup execution. INTRODUCE TWO CATALOG DATABASES TO ENSURE HIGH AVAILABILITY There is nothing that would prevent you from registering a database in two catalog databases if you need it. One potential use case is a DR solution where there are two catalog databases on both sites. Each database would connect to both catalogs at the end of each backup run and issue the “resync catalog” command to keep both up to date. This effectively ensures the catalog database's high availability in the case of a disaster recovery scenario and there is at least one catalog database to synchronize with in case the other RMAN catalog database is unavailable for a maintenance process. Note that a database can resynchronise with the catalog database any time, even after a few weeks out of synchronisation. This solution could be used as an alternative to Data Guard that potentially may trigger additional licensing 18. 18You must check the licensing question with you Oracle Sales representatives. This paper has a technical nature and cannot be used as a reference in licensing questions. The only purpose here is to provide a reader with different possible technical solutions to ensure RMAN catalog database high availability.
  • 10. KEEP RMAN CATALOG ON THE SAME HARDWARE AS MML SOFTWARE If possible, you may consider keeping both the RMAN catalog database and MML software on the same piece of equipment. These two components have the same availability requirements. If MML is not available, the fact that the catalog database is unavailable would not make any difference. However, while this configuration saves some resources, it makes MML server dependent on Oracle catalog requirement and vice versa. A proper capacity planning should be put in place before making such decision as MML side processes quite often as resources intensive. Conclusions Databases backup is an Oracle DBA’s primary responsibility area. It is our responsibility to ensure that databases have a valid backup and could be restored based on business requirements at any time. We should streamline and bullet proof the recovery process. The best time to prepare for a comfortable recovery is weeks, months or even years before you need to execute it. An RMAN catalog database helps simplify potential recovery and provides a suite of other benefits. However any additional database in an organization’s network increases operational costs. Today when organizations have limited budgets and resources any cost increase needs to be justified. Many Oracle DBAs do not have a strong justification for RMAN catalog database. Typically if an RMAN catalog database exists it was created for historical reasons or because of Oracle recommendation without requirements analysis. This paper provided you with list of scenarios where an RMAN catalog database must be used because of technical dependences and additional value added and risk reducing use-cases. In large environments with hundreds or even thousands of databases RMAN database is easier to justify as its management costs spread across many databases and value increases as it helps to manage large number of databases reducing related maintenance costs. In configurations where RMAN is integrated with MML (Tapes based backup solution) catalog database simplifies recovery operations. It does not apply to technical procedures only. It also reduces the number of people and communication steps involved in most recovery scenarios and therefore simplify and reduce the time necessary for a database recovery. On the other hand it is simpler to restore a database from file system based backups. In such configuration Oracle DBAs should assess other benefits that RMAN catalog database provides. If a catalog database exists in the environment you are managing already consider implementing other use-cases you and your team can leverage from, simplifying and bulletproofing backup operations and reducing recoverability risks.