General RMAN Questions
What is RMAN and How to configure it?
RMAN is an Oracle Database client that performs backup and recovery tasks on your databases and automates the administration of your backup strategies. It greatly simplifies the dba jobs by managing the production database’s backing up, restoring, and recovering database files.
This tool integrates with sessions running on an Oracle database to perform a range of backup and recovery activities, including maintaining an RMAN repository of historical data about backups. There is no additional installation required for this tool. It’s by default get installed with the Oracle database installation. The RMAN environment consists of the utilities and databases that play a role in backing up your data. You can access RMAN through the command line or through Oracle Enterprise Manager.
Why to use RMAN?
RMAN gives you access to several backup and recovery techniques and features not available with user-managed backup and recovery. The most noteworthy are the following:
- Automatic specification of files to include in a backup: Establishes the name and locations of all files to be backed up.
- Maintain backup repository: Backups are recorded in the control file, which is the main repository of RMAN metadata. Additionally, you can store this metadata in a recovery catalog.
- Incremental backups: An incremental backup stores only blocks changed since a previous backup. Thus, they provide more compact backups and faster recovery, thereby reducing the need to apply redo during datafile media recovery.
- Unused block compression: In unused block compression, RMAN can skip data blocks that have never been used.
- Block media recovery: You an repair a datafile with only a small number of corrupt data blocks without taking it offline or restoring it from backup.
- Binary compression: A binary compression mechanism integrated into Oracle Database reduces the size of backups.
- Encrypted backups: RMAN uses backup encryption capabilities integrated into Oracle Database to store backup sets in an encrypted format.
- Corrupt block detection: RMAN checks for the block corruption before taking its backup.
How RMAN works?
RMAN backup and recovery operation for a target database is managed by RMAN client. RMAN uses the target database control file to gather metadata about the target database and to store information about its own operations. The RMAN client itself does not perform a backup, restore, or recovery operations. When you connect the RMAN client to a target database, RMAN allocates server sessions on the target instance and directs them to perform the operations. The work of backup and recovery is performed by server sessions running on the target database. A channel establishes a connection from the RMAN client to a target or auxiliary database instance by starting a server session on the instance. The channel reads data into memory, processes it, and writes it to the output device.
When you take a database backup using RMAN, you need to connect to the target database using RMAN Client. The RMAN client can use Oracle Net to connect to a target database, so it can be located on any host that is connected to the target host through Oracle Net. For backup, you need to allocate an explicit or implicit channel to the target database. An RMAN channel represents one stream of data to a device and corresponds to one database server session. This session dynamically collects information of the files from the target database control file before taking the backup or while restoring.
For example, If you give ‘Backup database’ from RMAN, it will first get all the datafiles information from the controlfile. Then it will divide all the data files among the allocated channels. ( roughly equal size of work as per the datafile size ). Then it takes the backup in 2 steps. In the first step, the channel will read all the Blocks of the entire data file to find out all the formatted blocks to backup. Note: RMAN does not take the backup of the unformatted blocks. In the second step, it takes the backup of the formatted blocks. This is the best advantage of using RMAN as it only takes the backup of the required blocks. Let’s say in a data file of 100 MB size, there may be only 10 MB of use full data and rest 90 MB is free then RMAN will only take the backup of those 10 MB.
What O/S and oracle user privilege required to use RMAN?
RMAN always connect to the target or auxiliary database using the SYSDBA privilege. In fact, the SYSDBA keywords are implied and cannot be explicitly specified. Its connections to a database are specified and authenticated in the same way as SQL*Plus connections to a database.
The O/S user should be part of the DBA group. For remote connection, it needs the password file Authentication. Target database should have the initialization parameter REMOTE_LOGIN_PASSWORDFILE set to EXCLUSIVE or SHARED.
RMAN terminology
A target database: An Oracle database to which RMAN is connected with the TARGET keyword. A target database is a database on which RMAN is performing backup and recovery operations. RMAN always maintains metadata about its operations on a database in the control file of the database.
A recovery Catalog: A separate database schema used to record RMAN activity against one or more target databases. A recovery catalog preserves RMAN repository metadata if the control file is lost, making it much easier to restore and recover following the loss of the control file. The database may overwrite older records in the control file, but RMAN maintains records forever in the catalog unless deleted by the user.
Backup sets: RMAN can store backup data in a logical structure called a backup set, which is the smallest unit of an RMAN backup. One backup set contains one or more datafiles a section of datafile or archivelogs.
Backup Piece: A backup set contains one or more binary files in an RMAN-specific format. This file is known as a backup piece. Each backup piece is a single output file. The size of a backup piece can be restricted; if the size is not restricted, the backup set will comprise one backup piece. Backup piece size should be restricted to no larger than the maximum file size that your filesystem will support.
Image copies: An image copy is a copy of a single file (datafile, archivelog, or controlfile). It is very similar to an O/S copy of the file. It is not a backupset or a backup piece. No compression is performed.
Snapshot Controlfile: When RMAN needs to resynchronize from a read-consistent version of the control file, it creates a temporary snapshot control file. The default name for the snapshot control file is port-specific.
Database Incarnation: Whenever you perform incomplete recovery or perform the recovery using a backup control file, you must reset the online redo logs when you open the database. The new version of the reset database is called a new incarnation. The reset database command directs RMAN to create a new database incarnation record in the recovery catalog. This new incarnation record indicates the current incarnation.
RMAN Configuration
What is RMAN Configuration and how to Configure it?
The RMAN backup and recovery environment is preconfigured for each target database. The configuration is persistent and applies to all subsequent operations on this target database, even if you exit and restart RMAN. RMAN configured settings can specify backup devices, configure a connection to a backup device, policies affecting backup strategy, encryption algorithm, snapshot controlfile location, and others.
By default there are some default configurations are set when you login to RMAN. You can customize them as per your requirement. Any time you can check the current setting by using the “show all” command. CONFIGURE command is used to create persistent settings in the RMAN environment, which apply to all subsequent operations, even if you exit and restart RMAN.
How to check RMAN Configuration?
RMAN>Show all;
How to Reset to default Configuration?
To reset the default configuration setting use:
– Connect to the target database from sqlplus and run:
SQL> connect@target_database; SQL> execute dbms_backup_restore.resetConfig;
RMAN Catalog Database
What is Catalog database and How to Configure it?
This is a separate database which contains catalog schema. You can use the same target database as the catalog database but its not at all recommended. For more details on Recovery catalog kindly refer the Note 452529.1: Recovery catalog for RMAN backup.
How Many catalog database I can have?
You can have multiple catalog database for the same target database. But at a time you can connect to only 1 catalog database via RMAN. It’s not recommended to have multiple catalog database.
Is this mandatory to use catalog database?
No! its a optional one.
What is the advantage of catalog database?
Catalog database is secondary storage of backup metadata. It’s very useful in case you lost the current controlfile, as all the backup information are there in the catalog schema. Secondly from contolfile the older backup information are aged out depending upon the control_file_record_keep_time. RMAN catalog database maintains the history of data.
What is the difference between catalog database & catalog schema?
Catalog database is like any other database which contains the RMAN catalog user’s schema.
Q. What happens if catalog database lost?
Since the catalog database is an option one there is no direct effect of loss of catalog database. Create a new catalog database and register the target database with the newly created catalog one. All the backup information from the target database current controlfile will be updated to the catalog schema. If any backup information which is aged out from the target database then you need to manually catalog those backup pieces.
RMAN backup
What are the database file’s that RMAN can backup?
RMAN can backup Controlfile, Datafiles, Archive logs, standby database controfile, Spfile.
What are the database file’s that RMAN can not backup?
RMAN can not take the backup of the pfile, Redo logs, network configuration files, password files, external tables and the contents of the Oracle home files.
Can I have archivelogs and datafile backup in a single backupset?
No. we can not put datafiles and archive logs in the same backupset.
Can I have datafiles and contolfile backup in a single backup set?
Yes. If the controlfile autobackup is not ON then RMAN takes the backup of controlfile along with the datafile 1, whenever you take the backup of the database or System Tablespace.
Can I regulate the size of backup piece and backupset?
Yes! You can set the max size of the backupset as well as the backup piece. By default one RMAN channel creates a single backupset with one backup piece in it. You can use the MAXPIECESIZE channel parameter to set limits on the size of backup pieces. You can also use the MAXSETSIZE parameter on the BACKUP and CONFIGURE commands to set a limit for the size of backup sets.
What is the difference between backup set backup and Image copy backup?
A backup set is an RMAN-specific proprietary format, whereas an image copy is a bit-for-bit copy of a file. By default, RMAN creates backup sets.
What is RMAN consistent backup and inconsistent backup?
A consistent backup occurs when the database is in a consistent state. That means backup of the database taken after shutdown immediate, shutdown normal or shutdown transactional. If the database is shut down with abort option then its not a consistent backup. A backup taken when the database is Up and running is called an inconsistent backup. When a database is restored from an inconsistent backup, Oracle must perform media recovery before the database can be opened, applying any pending changes from the redo logs. You can not take an inconsistent backup when the database is in noarchivelog mode.
Can I take RMAN backup when the database is Down?
No ! You can take RMAN backup only when the target database is Open or in Mount stage. Its because RMAN keeps the backup metadata in controlfile. Only in open or mount mode controlfile is accessible.
Do I need to place the database in begin backup mode while taking RMAN inconsistent backup?
RMAN does not require extra logging or backup mode because it knows the format of data blocks. RMAN is guaranteed not to back up fractured blocks.No extra redo is generated during RMAN backup.
Can I compress RMAN backups?
RMAN supports binary compression of backup sets. The supported algorithms are BZIP2 (default) and ZLIB. It’s not recommended to compress the RMAN backup using any other OS or third-party utility.
Can I encrypt RMAN backup?
RMAN supports backup encryption for backup sets. You can use wallet-based transparent encryption, password-based encryption, or both. You can use the CONFIGURE ENCRYPTION command to configure persistent transparent encryption. Use the SET ENCRYPTION, command at the RMAN session level to specify password-based encryption.
Miscellaneous
Can RMAN take backup to Tape?
Yes! you can use RMAN for the tape backup. But RMAN can not able to write directly to tape. You need to have third-party Media Management Software installed. Oracle has published an API specification which Media Management Vendor’s who are members of Oracle’s Backup Solutions Partner program have access to. Media Management Vendors (MMVs) then write an interface library which the Oracle server uses to write and read to and from tape.
How RMAN Interact with Media manager
Before performing a backup or restore to a media manager, you must allocate one or more channels or configure default channels for use with the media manager to handle the communication with the media manager. RMAN does not issue specific commands to load, label, or unload tapes. When backing up, RMAN gives the media manager a stream of bytes and associates a unique name with this stream. When RMAN needs to restore the backup, it asks the media manager to retrieve the byte stream. All details of how and where that stream is stored are handled entirely by the media manager.
What is Proxy copy backup to tape?
A proxy copy is a functionality, supported by a few media manager in which they handle the entire data movement between datafiles and the backup devices. Such products may use technologies such as high-speed connections between storage and media subsystems to reduce the load on the primary database server. RMAN provides a list of files requiring backup or restore to the media manager, which in turn makes all decisions regarding how and when to move the data.
What is Oracle Secure backup?
Oracle Secure Backup is a media manager provided by oracle that provides reliable and secure data protection through file system backup to tape. All major tape drives and tape libraries in SAN, Gigabit Ethernet, and SCSI environments are supported.