RMAN – The Pocket Knife of a DBA

Post on 12-Feb-2017

1.787 views 4 download

Transcript of RMAN – The Pocket Knife of a DBA

RMAN – The Pocket Knife of a DBA

■  Presenter: Anton Els Session Details:

@aelsnz

Introduction

■  Vice President Product Development ■  NZOUG Committee (VP) ■  Working with Oracle database since version 7 ■  Interests Include:

▪  Linux, Docker, Oracle Databases, Oracle Backup and Recovery

■  Qualifications: ▪  Oracle Database 11g Certified Master

▪  Oracle 8i, 9i, 10g and 11g OCP

▪  Solaris 10 SCSA and Red Hat 5 RHCSA

▪  B.Sc. Mathematical Sciences and B.Sc. Hons Informatics

■  Presented at Collaborate, NZOUG and db tech showcase

2

Anton  Els  -­‐  @aelsnz

Where do I come from….

3

Who do I work for – Dbvisit Software Limited

■  Software Development Company ■  HQ in New Zealand

▪  US subsidiary and office in Czech Republic ■  Database Replication is our playground! ■  Worldwide leader in DR solutions for Oracle Standard Edition ■  Used in 110+ countries! ■  Product Engineers with “real world” DBA Experience ■  Regular presenters at OOW, Collaborate and NZOUG ■  Passionate about Oracle Technology

4

Agenda

■  What is RMAN, and some history ■  The RMAN environment ■  Recovery Catalog vs. Controlfile ■  Backupset vs. Image Copy ■  Backup, Restore and Recover commands ■  Incremental Backups ■  Advanced options ■  12c… how great are those new features! ■  Recovery Advisor ■  Reporting monitoring tips

What is RMAN?

■  Oracle Recovery Manager – RMAN ■  I see it as a “safety net” for DBAs

■  Helps you to be prepared for disasters

▪  Natural

▪  Human

▪  Hardware

■  Even if you have a standby database you still need backups! ▪  What-if:

—  Both primary / standby is lost

—  Logical corruption replicates through to your standby

RMAN helps you protect what is important

■  Database Files

■  Archive Logs

■  Control Files

■  Server Parameter Files

Do  not  forget  about  Oracle  So9ware  and  Opera=ng  System!

A bit of RMAN History

■  “Traditional backup and recovery”

▪  using BEGIN / END backup commands alter tablespace … begin backup;-> copy files somewherealter tablespace … end backup;

■  RMAN introduced in Oracle 8-8.1.7 ▪  Support open / mounted database backups

▪  Incremental backup support (only modified blocks)

▪  Corrupt block detection

▪  Recovery catalog

▪  Support disk and tape backups

A bit of RMAN History

■  Improved in 9i ▪  Block media recovery

▪  Backup of spfile

▪  Improved controlfile auto backup

▪  FORCE option in the delete command

▪  Introduction of the DBNEWID

A bit of RMAN History

■  Key improvements in Oracle 10g ▪  Improved reporting

▪  Backup Compression (backup sets) (10.1)

▪  Backup Encryption (10.2)

▪  Unused Block Compression (10.2)

▪  Using incremental backup to roll a

standby database forward (10.2)

A bit of RMAN History

■  Key Improvements in 11g ▪  Fast Incremental Backups (block change tracking)

▪  Data Recovery Advisor

▪  Network-Aware Duplication

▪  Automatic Block Repair (11.2)

▪  Duplicate without target database connection (11.2)

A bit of RMAN History

■  Key Improvements in 12c ▪  SQL Commands in RMAN !!!

▪  Table Recovery (Auxiliary instance used)

▪  Improved Active Duplication (backup sets)

▪  Network-Enabled Restore (restore datafile from standby or primary)

▪  Improved multisection backup options (Incremental Backups and

Image Copies)

▪  Fast Standby database synchronization (Using Services)

▪  Multi-tenancy support

▪  Cross-Platform Backup/Restore

A bit of RMAN History

■  Key Improvements in 12c ▪  SQL Commands in RMAN !!!

▪  Table Recovery (Auxiliary instance used)

▪  Improved Active Duplication (backup sets)

▪  Network-Enabled Restore (restore datafile from standby or primary)

▪  Improved multisection backup options (Incremental Backups and

Image Copies)

▪  Fast Standby database synchronization (Using Services)

▪  Multi-tenancy support

▪  Cross-Platform Backup/Restore

Archivelog vs. No-Archivelog Mode

■  No-Archivelog Mode:

▪  Only Cold backups —  Database is shutdown when performing backup – downtime!!

▪  Other … kind of backup methods include: —  export/import

—  datapump

Archivelog vs. No-Archivelog Mode

■  Archivelog Mode

▪  Online Redo logs are archived

following a log switch

▪  Required for Online Backups

—  No Downtime

▪  Note: Does require extra disk space!

▪  Make sure you have sufficient redo log groups

SQL> connect / as sysdbaSQL> archive log list;SQL> select log_mode from v$database;SQL> show parameter recoverySQL> shutdown immediate;SQL> startup mountSQL> alter database archivelog;SQL> shutdown immediate;SQL> startupSQL> archive log listSQL> select log_mode from v$database;

Start from a good base

The RMAN Environment ■  The “rman” command: rman nocatalog target /Argument Value Description-----------------------------------------------------------------------------target quoted-string connect-string for target database

catalog quoted-string connect-string for recovery catalogauxiliary quoted-string connect-string for auxiliary databasenocatalog none if specified, then no recovery catalogcmdfile quoted-string name of input command filelog quoted-string name of output message log filetrace quoted-string name of output debugging message log fileappend none if specified, log is opened in append modedebug optional-args activate debuggingmsgno none show RMAN-nnnn prefix for all messagessend quoted-string send a command to the media managerpipe string building block for pipe namesscript string name of catalog script to executeusing list of args arguments for rman variablestimeout integer number of seconds to wait for pipe input

checksyntax none check the command file for syntax errors-----------------------------------------------------------------------------Both single and double quotes (' or ") are accepted for a quoted-string.Quotes are not required unless the string contains embedded white-space.

TIP  –  on  Unix  use  “oraenv”   oracle@dbvlin103[/home/oracle]:  .    oraenv  ORACLE_SID  =  [oracle]  ?      proddb  The  Oracle  base  remains  unchanged  with  value  /u01/app/oracle oracle@dbvlin103[/home/oracle]:  env  |  grep  ORA  ORACLE_SID=proddb ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1

The RMAN Environment ■  What  is  “kind  of”  wrong  with  example  below?

RMAN> backup datafile 1;

Starting backup at 03-OCT-14

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=261 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00001 name=+DATA/PRODDB/DATAFILE/system.260.858601171

channel ORA_DISK_1: starting piece 1 at 03-OCT-14

channel ORA_DISK_1: finished piece 1 at 03-OCT-14

Finished backup at 03-OCT-14

Why make things difficult? BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

21 Full 683.20M DISK 00:00:06 03-OCT-14

BP Key: 21 Status: AVAILABLE Compressed: NO Tag: TAG20141003T174234

Piece Name: /u02/backups/rman/proddb/15pk56ka_1_1

List of Datafiles in backup set 21

File LV Type Ckp SCN Ckp Time Name

---- -- ---- ---------- --------- ----

1 Full 2785085 03-OCT-14 +DATA/PRODDB/DATAFILE/system.260.858601171

BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

25 Full 683.20M DISK 00:00:14 03-OCT-14

BP Key: 25 Status: AVAILABLE Compressed: NO Tag: TAG20141003T174952

Piece Name: /u02/backups/rman/proddb/19pk5721_1_1

List of Datafiles in backup set 25

File LV Type Ckp SCN Ckp Time Name

---- -- ---- ---------- --------- ----

1 Full 2785924 03-OCT-14 +DATA/PRODDB/DATAFILE/system.260.858601171

Make it easier! – set NLS_DATE_FORMAT

BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ -------------------

21 Full 683.20M DISK 00:00:06 03/10/2014:17:42:40

BP Key: 21 Status: AVAILABLE Compressed: NO Tag: TAG20141003T174234

Piece Name: /u02/backups/rman/proddb/15pk56ka_1_1

List of Datafiles in backup set 21

File LV Type Ckp SCN Ckp Time Name

---- -- ---- ---------- ------------------- ----

1 Full 2785085 03/10/2014:17:42:34 +DATA/PRODDB/DATAFILE/system.260.858601171

BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ -------------------

25 Full 683.20M DISK 00:00:14 03/10/2014:17:50:07

BP Key: 25 Status: AVAILABLE Compressed: NO Tag: TAG20141003T174952

Piece Name: /u02/backups/rman/proddb/19pk5721_1_1

List of Datafiles in backup set 25

File LV Type Ckp SCN Ckp Time Name

---- -- ---- ---------- ------------------- ----

1 Full 2785924 03/10/2014:17:49:53 +DATA/PRODDB/DATAFILE/system.260.858601171

NLS_DATE_FORMAT="dd/mm/yyyy:hh24:mi:ss"

The Default Configuration RMAN> show all;

using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name PRODDB are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u02/backups/rman/proddb/cfc_%F';

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u02/backups/rman/proddb/%U';

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12.1.0/db_1/dbs/snapcf_proddb.f'; # default

The Default Configuration RMAN> show all;

using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name PRODDB are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u02/backups/rman/proddb/cfc_%F';

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u02/backups/rman/proddb/%U';

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12.1.0/db_1/dbs/snapcf_proddb.f'; # default

Recovery Catalog vs. Controlfile ■  Which one is the correct one to use….

■  Advantages or reasons to consider a Recovery Catalog:

▪  More backup history can be stored ▪  Multiple databases ▪  When using Standby Databases ▪  When looking at using centralized stored scripts ▪  Monitoring ▪  Reporting

■  Using the Controlfile, keep in mind: ▪  CONTROLFILE_RECORD_KEEP_TIME

Backup Sets and Image Copies ■  Backup Set

▪  Default option

▪  Logical container ▪  Can contain one or more files ▪  Proprietary RMAN format ▪  Can be compressed ▪  Physical files on disk – called backup pieces

■  Image  Copies ▪  Powerful… but not as widely used

▪  Bit-by-Bit copy of the original file (They are Exactly the same!)

▪  Can be updated with incremental backups

▪  Can easily be switched to, reducing recovery time!!

Example using Backup Set RMAN> run{ backup as compressed backupset filesperset 10 database format '/u02/backups/rman/proddb/db-%U';

backup as compressed backupset filesperset 30 archivelog all format '/u02/backups/rman/proddb/arc-%U';

backup current controlfile format '/u02/backups/rman/proddb/ctl-%d-%I'; }

Starting backup at 04/10/2014:21:46:45using channel ORA_DISK_1channel ORA_DISK_1: starting compressed full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00003 name=+DATA/PRODDB/DATAFILE/sysaux.294.858601125input datafile file number=00001 name=+DATA/PRODDB/DATAFILE/system.260.858601171input datafile file number=00006 name=+DATA/PRODDB/DATAFILE/users.259.858601227input datafile file number=00005 name=+DATA/PRODDB/DATAFILE/data.263.859037565input datafile file number=00004 name=+DATA/PRODDB/DATAFILE/undotbs1.258.858601227channel ORA_DISK_1: starting piece 1 at 04/10/2014:21:46:46channel ORA_DISK_1: finished piece 1 at 04/10/2014:21:48:21piece handle=/u02/backups/rman/proddb/db-1spk89a6_1_1 tag=FULLDBBKP comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:35Finished backup at 04/10/2014:21:48:21……

1  

2  

Example using Backup Copy RMAN> run

{ backup as copy database TAG 'FRA_DBCOPY'; }

Note:  This  example  run  on  3  Node  11.2.0.4    RAC  database  with  sufficient  space  in  FRA  to  keep  a  copy  of  the  database.

Starting backup at 04/10/2014:21:48:44allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=20 instance=DEV1 device type=DISKchannel ORA_DISK_1: starting datafile copyinput datafile file number=00002 name=+DATA/dev/datafile/sysaux.275.858702333output file name=+FRA/dev/datafile/sysaux.2874.860104127 tag=FRA_DBCOPY RECID=1 STAMP=860104162channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45…

RMAN> list copy of database;

List of Datafile Copies=======================

Key File S Completion Time Ckp SCN Ckp Time------- ---- - ------------------- ---------- -------------------2 1 A 04/10/2014:21:50:05 48308543 04/10/2014:21:49:30 Name: +FRA/dev/datafile/system.2757.860104173 Tag: FRA_DBCOPY

1 2 A 04/10/2014:21:49:22 48308515 04/10/2014:21:48:45 Name: +FRA/dev/datafile/sysaux.2874.860104127 Tag: FRA_DBCOPY

1  

2  

3  

Restoring is easy… if you have good backups

Restore  one  datafile    

RMAN> alter database datafile 5 offline;

RMAN> restore datafile 5;

RMAN> recover datafile 5;

RMAN> alter database datafile 5 online;

Restore  and  recover  database

RMAN> startup nomount;

RMAN> set dbid 598649033

RMAN> restore controlfile from '/u02/backups/rman/proddb/ctl-PRODDB-598649033';

RMAN> alter database mount;

RMAN> restore database;

RMAN> recover database;

RMAN> alter database open resetlogs;

But what about Image Copies?

Switch  to  datafile  copy    

RMAN> alter database datafile 5 offline;

RMAN> switch datafile 5 to copy;

RMAN> recover datafile 5;

RMAN> alter database datafile 5 online;

Switch  database  to  Image  Copies

RMAN> startup mount;

RMAN> list copy of database;

RMAN> switch database to copy;

RMAN> recover database;

If complete recovery:

RMAN> alter database open;

If incomplete recovery:

RMAN> alter database open resetlogs;

Move database from file system to ASM

30

DEMO  

Remember control files… (continue from Demo)

■  Start database in nomount ■  Restore “copy” the controlfile into ASM: RMAN> restore controlfile to '+DATA' from '/u02/oracle/oradata1/DEV2/control01.ctl';

■  Update spfile ASMCMD> find +DATA/DEV2/ *…+DATA/DEV2/CONTROLFILE/current.281.887984443…

SQL> alter system set control_files='+DATA/DEV2/CONTROLFILE/current.281.887984443' scope=spfile; ■  Enable OMF and recovery area in ASM SQL> alter system set db_create_file_dest='+DATA' scope=spfile;SQL> alter system set db_recovery_file_dest='+FRA’ scope=spfile;

RMAN Channels

■  The RMAN Client does not: ▪  Perform backups, restores or recovery operations!

■  Database Server sessions perform this work ▪  Linux – Server process ▪  Windows – Thread within database service

■  Two Supported Device Types: ▪  DISK ▪  SBT (Tape Based Backups)

RMAN Channels - 3 Key Phases

■  Read Phase ■  Copy Phase (processing phase)

■  Write Phase

•  Valida=on •  Compression •  Encryp=on

Incremental Backups ■  1st Step - Full Level 0 Backup

rman> backup … incremental level 0 database …

■  Two types of Incremental Backups: ▪  Cumulative rman> backup … incremental level 1 cumulative

database …

▪  Differential (default) rman> backup … incremental level 1

database …

Mon   Tue   Wed   Thu   Fri  

FULL

|-­‐-­‐-­‐-­‐-­‐>

|-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐>

|-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐>

|-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐>

Mon   Tue   Wed   Thu   Fri  

FULL

|-­‐-­‐-­‐-­‐-­‐>

-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ |-­‐-­‐-­‐-­‐-­‐>

-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ |-­‐-­‐-­‐-­‐-­‐>

-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ |-­‐-­‐-­‐-­‐-­‐>

Two Advanced Options (of many)

■  Updating Image Copies using Incremental Backups ▪  Create Backup:

rman> backup as copy incremental level 0 database format 

'/u02/oracle/oradata2/DEV2/%N-%f.dbf' TAG=‘inc_bkp_copy';

rman> backup incremental level 1

for recover of copy with tag 'inc_bkp_copy’ database;

▪  Apply incremental backup to image copy:

rman> recover copy of database with tag ’ inc_bkp_copy';

Recover Image Copy using Incremental Backup

37

DEMO  

Two Advanced Options (of many)

■  Block Change Tracking (10g+ and EE only) ▪  Default location DB_CREATE_FILE_DEST (OMF File)

▪  Minimum 10M (grows in 10M chunks)

▪  Enable: sql> alter database enable block change tracking;

sql> alter database enable block change tracking

using file ‘/u01/oradata/blck-tracking’;

▪  Disable: sql> alter database disable block change tracking;

12c… how great are those new features!

■  Four New Features that stood out for me:

▪  SQL Commands in RMAN

▪  Table Recovery

▪  Network-Enabled Restore / Recovery

▪  Rolling forward / synchronizing a Standby Database - Using Services

12c – SQL Commands in RMAN

No more: rman> sql ‘alter system switch logfile’;

Now: rman> alter system switch logfile;

RMAN> create table test (id number);Statement processed

RMAN> select * from test;no rows selected

RMAN> begin2> for c1 in 1..20 loop3> insert into test values (c1);4> end loop;5> end;6> /

Statement processed

RMAN> select count(1) from test;

COUNT(1)---------- 20

RMAN> rollback;

Statement processed

RMAN> drop table test purge;

Statement processed

12c – Table Recovery Pre-requisites: ■  Backups must be available

■  Target database must be:

▪  open Read / Write and in archivelog mode

Things to take into account ■  An Auxiliary Instance

■  Tablespace containing table is restored

■  Datapump used for table export/import

■  Disable table import using: NOTABLEIMPORT keyword

■  Make sure you have sufficient storage – auxiliary instance

Restore Table using RMAN (12c)

43

DEMO  

44

12c – Network-Enabled Restore/Recovery

■  Restore a datafile from a Primary / Standby ■  Using Services ■  Configure and Test Networking:

▪  listener.ora ▪  tnsnames.ora

■  SECTIONSIZE, encryption, compressed backupsets can be used ■  Improved restore | recover datafile Commands

rman> restore datafile n from service <service>;

rman> recover datafile n from service <service>;

12c – Network-Enabled Restore/Recovery RMAN> alter database datafile 5 offline;Statement processed

RMAN> restore datafile 5 from service proddb_dr;Starting restore at 07/10/2014:13:06:28using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: using network backup set from service proddb_drchannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00005 to +DATA/PRODDB/DATAFILE/data.304.860260051channel ORA_DISK_1: restore complete, elapsed time: 00:00:03Finished restore at 07/10/2014:13:06:32

RMAN> recover datafile 5;Starting recover at 07/10/2014:13:06:39using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:01Finished recover at 07/10/2014:13:06:40

RMAN> alter database datafile 5 online;Statement processed

12c – Rolling Forward / Sync a Standby Database

Quick and easy recovery from: ■  Unrecoverable archive log gaps

■  No-logging operations

When using this method •  Standby = Target

•  Primary = Auxiliary

Behind the scenes: ■  Standby database “current SCN” is obtained

■  Primary database incremental backup from this SCN

■  Incremental backup copied across network and applied to standby

12c – Rolling Forward / Sync a Standby Database Example: (executed from standby server)

rman> connect target /

rman> connect auxiliary sys/<syspassword>@<your_primary_db_service>

rman> recover database from service <your_primary_db_service>

using compressed backupset;

Important last step ▪  Recreate the standby controlfile

—  Required as standby controlfile SCN lower than datafile SCN

—  Update datafile and tempfile names if required

Tip - Don’t forget about Data Recovery Advisor

■  Introduced in Oracle 11g ■  Three key commands:

rman> LIST failure

rman> ADVISE failure

rman> REPAIR failure

■  Not available when using Multi-tenancy - CDB/PDB

▪  Expected in 12.2

Reporting and Monitoring

■  Using RMAN: ▪  LIST command ▪  REPORT command

■  Using Database Queries: ▪  Monitor current running jobs:

—  v$session

—  v$session_longops

▪  Monitoring history: —  v$rman_backup_job_details

—  v$rman_output

Reporting and Monitoring

SELECT command_id, status, start_time, end_time, time_taken_display, input_type, output_device_type, input_bytes_display, output_bytes_display, output_bytes_per_sec_displayfrom v$rman_backup_job_detailswhere start_time > (sysdate-5)order by start_time;

Rman> list backup;Rman> list copy;Rman> list copy of database;Rman> list copy of datafile n;Rman> report schema;Rman> report need backup;Rman> report obsolete;

RMAN is easy!

Start with the basics before making things too complex: ■  set NLS_DATE_FORMAT ■  SHOW ALL ■  CONFIGURE ■  BACKUP DATABASE ■  RESTORE | RECOVER DATABASE ■  RESTORE | RECOVER DATAFILE

Don’t forget about the VALIDATE options!!

Recommended Reading

•  Oracle Online Documentation

•  Oracle Database 12c Backup and Recovery Survival Guide

•  RMAN Recipes for Oracle Database 11g, A Problem-Solution Approach

•  Dbvisit Blog – http://blog.dbvisit.com

■  Change Control is there for a reason!

■ 

■  Document  your  Backup  and  Recovery  procedures!!!

But most important!

Questions?

Presented By: Anton Els Company: Dbvisit Software Limited Email: anton.els@dbvisit.com Twitter: @aelsnz Blog: http://blog.dbvisit.com/author/anton-els/