+ All Categories
Home > Technology > Collaborate 2012 - RMAN Eliminate the mystery

Collaborate 2012 - RMAN Eliminate the mystery

Date post: 11-May-2015
Category:
Upload: nelson-calero
View: 1,668 times
Download: 0 times
Share this document with a friend
Description:
Presentación dada en Collaborate 2012 - http://coll12.mapyourshow.com/5_0/sessions/sessiondetails.cfm?ScheduledSessionID=10ABCF
Popular Tags:
53
1/53
Transcript
Page 1: Collaborate 2012 - RMAN Eliminate the mystery

1/53

Page 2: Collaborate 2012 - RMAN Eliminate the mystery

2/53

Eng. Nelson Calero, OCPUYOUG

High Availability Boot Camp: RMAN - Eliminate the Mystery

Page 3: Collaborate 2012 - RMAN Eliminate the mystery

3/53

About me:

http://www.linkedin.com/in/ncalero

Working with Oracle tools and Linux environments since 1996

DBA Oracle (since 2001) & MySQL (since 2005)

Oracle University Instructor since 2011

Co-founder and President of the Oracle user Group of Uruguay (UYOUG) since 2009

Computer Engineer. OCP DBA 10g

High Availability Boot Camp: RMAN - Eliminate the Mystery

Page 4: Collaborate 2012 - RMAN Eliminate the mystery

4/53

Uruguay

Page 5: Collaborate 2012 - RMAN Eliminate the mystery

5/53

• Introduction• RMAN Concepts• Backups • Recovery• Integrity validation• Monitoring• Maintenance• When errors• Optimization• Examples – time permitted

AGENDA

Page 6: Collaborate 2012 - RMAN Eliminate the mystery

6/53

Utility with many features to use in backup and recovery tasks. Included for free with Oracle database installation ($ORACLE_HOME/bin) Command line interface.

some functionality available inside Enterprise Manager Written in Pro * C, executes PL / SQL Since Oracle 8 – 1997 Documented bugs in all versions: less than 1283, more than 170. Known RMAN Performance Problems (MOS note 247611.1)

32 bugs, all fixed by 11g (some even before)

What is RMAN?

Page 7: Collaborate 2012 - RMAN Eliminate the mystery

7/53

Best practices of backup & recovery Today?

Some. Those using RMAN

More technology is needed apart from RMAN in a DR/HA policy:• Datapump• Flashback• Secure backup• ….

RMAN is one solution among 20 from Oracle for unplanned downtime, used for site and storage failures, and data corruptionhttp://docs.oracle.com/cd/E11882_01/server.112/e17157/planned.htm#CIHDCJCE

Page 8: Collaborate 2012 - RMAN Eliminate the mystery

8/53

Backups without Rman (user managed)

Consistent (cold):cp path/* dest-bkp

Inconsistent (hot):alter tablespace nnn begin backup;cp path/datafile.dbf destbkpalter tablespace nnn end backup;cp /archivelogs-path/* dest-bkp

Page 9: Collaborate 2012 - RMAN Eliminate the mystery

9/53

RMAN backups

Consistent (cold):          rman target /          startup mount;          backup database plus archivelog;

Inconsistent (hot):          rman target /          backup database plus archivelog;

Page 10: Collaborate 2012 - RMAN Eliminate the mystery

10/53

RMAN Backup - files

• Which files were generated by a backup?– list backup;

• Which files are copied?– datafiles– controlfiles– archived logs– spfile

• Which files are not copied?– temporary files (tempfiles) and online redo logs (not needed for recovery)– files from external tabes or bfiles– database binary files– database network configuration files

Page 11: Collaborate 2012 - RMAN Eliminate the mystery

11/53

RMAN backups

Differences between RMAN and user-managed backups:

– RMAN sets the rules, but is flexible

– RMAN commands implement sophisticated tasks, which lead to less code to be written to perform the same tasks, when possible.

– RMAN has many functionalities

– RMAN requires training to use effectively

Page 12: Collaborate 2012 - RMAN Eliminate the mystery

12/53

RMAN Concepts

– Device– Channel

– Backupset and Copies• Backup pieces

• Status: expired/available– Retention policy

• Obsolete

– Incarnation

Page 13: Collaborate 2012 - RMAN Eliminate the mystery

13/53

RMAN Configuration

RMAN> show all;    using target database control file instead of recovery catalog    RMAN configuration parameters for database with db_unique_name XE are:    CONFIGURE RETENTION POLICY TO REDUNDANCY 2;    CONFIGURE BACKUP OPTIMIZATION ON;    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default    CONFIGURE CONTROLFILE AUTOBACKUP OFF;    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default    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 ARCHIVELOG DELETION POLICY TO NONE; # default    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/xe/dbs/snapcf_XE.f'; # default

Page 14: Collaborate 2012 - RMAN Eliminate the mystery

14/53

RMAN Configuration

Per target (in controlfile or Catalog): Device Parallelism Retention Policy Backup optimization Encryption

If using Fast Recovery Area, database parameters: DB_RECOVERY_FILE_DEST_SIZE ( DB_RECOVERY_FILE_DEST is set)

If not using a recovery Catalog, set according to your policy CONTROL_FILE_RECORD_KEEP_TIME

NOTE: Since 11.2.0.3 destination can be ASM Cluster File System (ACFS)

Page 15: Collaborate 2012 - RMAN Eliminate the mystery

15/53

Back to RMAN Backups

See what has been backed up:

  oracle@oraculo:~> rman  Recovery Manager: Release 11.2.0.2.0 - Production on Fri Feb 17 11:00:13 2012  Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

  RMAN> connect target  connected to target database: ENT11G (DBID=410442782)

  RMAN> list backup summary;  List of Backups  ===============  Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag  ------- -- -- - ----------- --------------- ------- ------- ---------- ---  1       B  F  A DISK        13-FEB-12       1       1       NO         TAG20120213T122058  2       B  F  A DISK        13-FEB-12       1       1       NO         TAG20120213T122238  3       B  F  A DISK        13-FEB-12       1       1       NO         TAG20120213T122421  4       B  F  A DISK        13-FEB-12       1       1       NO         TAG20120213T122440

Page 16: Collaborate 2012 - RMAN Eliminate the mystery

16/53

RMAN Backups

Details:

  RMAN> list backup tag TAG20120213T122058;                 using target database control file instead of recovery catalog

  List of Backup Sets  ===================  BS Key  Type LV Size       Device Type Elapsed Time Completion Time  ------- ---- -- ---------- ----------- ------------ ---------------  1       Full    1.03M      DISK        00:00:01     13-FEB-12      

  BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20120213T122058  Piece Name: 

/u01/app/oracle/fast_recovery_area/ENT11G/backupset/2012_02_13/o1_mf_nnndf_TAG20120213T122058_7ml72cnz_.bkp

    List of Datafiles in backup set 1    File LV Type Ckp SCN    Ckp Time  Name    ---- -- ---- ---------- --------- ----    5       Full 1044143    13-FEB-12 /u02/oradata/ent11g/prueba.dbf

Page 17: Collaborate 2012 - RMAN Eliminate the mystery

17/53

RMAN Backups

TIP - change date format inside RMAN

  [oracle@oraculo ~]$ export NLS_DATE_FORMAT='DD/MON/YYYY HH24:MI:SS'  [oracle@oraculo ~]$ rman target /  Recovery Manager: Release 10.2.0.3.0 - Production on Wed Dec 21 20:31:46 2011  Copyright (c) 1982, 2005, Oracle.  All rights reserved.  connected to target database: Ent11g (DBID=943234298)

  RMAN> list backup summary tag bkp_prod_121511060003;  using target database control file instead of recovery catalog

  List of Backups  ===============  Key     TY LV S Device Type Completion Time      #Pieces #Copies Compressed Tag  ------- -- -- - ----------- -------------------- ------- ------- ---------- ---  1       B  F  A DISK        13/FEB/2012 03:21:03 1       1       NO         TAG20120213T122058  2       B  F  A DISK        13/FEB/2012 03:25:42 1       1       NO         TAG20120213T122238  3       B  F  A DISK        13/FEB/2012 03:29:28 1       1       NO         TAG20120213T122421

Page 18: Collaborate 2012 - RMAN Eliminate the mystery

18/53

RMAN backups

Using Oracle XE:

$ORACLE_HOME/config/scripts/ • backup.sh • restore.sh

Page 19: Collaborate 2012 - RMAN Eliminate the mystery

19/53

RMAN backups - Incremental

Differential: copy only the changes since the last incremental backup Cumulative: copy all changes from the last full backup.

Incremental backups are differential by default

To restore a database one of this is needed: all differential backups since the last full backup, or last cumulative backup following the last full backup

Page 20: Collaborate 2012 - RMAN Eliminate the mystery

20/53

RMAN incremental backups

Examples

First incremental backup must be complete, and is identified with the level 0.backup incremental level 0 tablespace users; 

Next is level 1. If no level 0 backup exists,it creates a level 0 backup:backup incremental level 1 tablespace users;

Cumulative backup: backup incremental level 1 cumulative tablespace users;

Page 21: Collaborate 2012 - RMAN Eliminate the mystery

21/53

RMAN incremental backups

(more)

Incremental updated Backups (or merged)apply an incremental backup to the last full backup to get a new full backup

  run {    backup incremental level 1 for recover of copy with tag 'BKP_L0' database;    recover copy of database with tag 'BKP_L0';  }

requires more disk space

to have more than redundancy 1, add UNTIL TIME – MOS note 745798.1

Page 22: Collaborate 2012 - RMAN Eliminate the mystery

22/53

RMAN space usage

Built in functionality, no need to enable NULL BLOCK COMPRESSION (8i) - does not copy empty blocks never used

(ie: unformatted above High Water Mark (HWM)) UNUSED BLOCK COMPRESSION (10.2) - does not copy unused blocks

(ie: empty under HWM) UNDO OPTIMIZATION (11.1) – does not copy undo segments not needed

Must be explicitly enabled

– BINARY COMPRESSION (10g)

Compress data before sending it to the destination. Supports incremental backups. Algorithm can be changed using the Advanced compression option (11.2)

Page 23: Collaborate 2012 - RMAN Eliminate the mystery

23/53

NULL COMPRESSION in action

oracle@oraculo:~> du -hs oradata/XE    1.5G    .oradata/XE

oracle@oraculo:~> ls -lrt $ORACLE_BASE/flash_recovery_area/XE/backupset/2010_06_03/total 1176688-rw-r----- 1 oracle dba 1203748864 2010-06-03 00:57 o1_mf_nnndf_TAG.._60g9xpkz_.bkp

Free space on the database:

01:41:16 XE> select sum(bytes)/1024/1024 mb from dba_free_space;      MB

    ----------      135.8125

Page 24: Collaborate 2012 - RMAN Eliminate the mystery

24/53

RMAN COMPRESSION

Two ways to enable:

backup as compressed backupset ...CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

Files generated:

-rw-r----- 1 oracle dba 1203986432 2010-06-03 01:31 o1_mf_nnndf_TAG.._60gcywnl_.bkp-rw-r----- 1 oracle dba  235642880 2010-06-03 01:38 o1_mf_nnndf_TAG.._60gdd066_.bkp

Almost 1GB saved and more CPU used

Page 25: Collaborate 2012 - RMAN Eliminate the mystery

25/53

RMAN COMPRESSION – XE

Can we configure compression as the default backup method?

    rman target /    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET;     exit;   ./backup.sh

-rw-r----- 1 oracle dba 1203748864 o1_mf_nnndf_TAG.._60g9xpkz_.bkp

    rman target /    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;     exit   ./backup.sh

-rw-r----- 1 oracle dba 120398643 o1_mf_nnndf_TAG.._60gcywnl_.bkp

Page 26: Collaborate 2012 - RMAN Eliminate the mystery

26/53

RMAN COMPRESSION – XE

backup.sh code:

           echo "Backup in progress..."           rman target / >> $rman_backup << EOF              set echo on;              shutdown immediate;              startup mount;              configure retention policy to redundancy 2;              configure controlfile autobackup format for device type disk clear;              configure controlfile autobackup on;              sql "create pfile=''$rman_spfile2init'' from spfile";              backup as backupset device type disk database;              configure controlfile autobackup off;              alter database open;              delete noprompt obsolete;

Page 27: Collaborate 2012 - RMAN Eliminate the mystery

27/53

RMAN COMPRESSION – XE

backup.sh needs to be modified to enable compression:

           echo "Backup in progress..."           rman target / >> $rman_backup << EOF              set echo on;              shutdown immediate;              startup mount;              configure retention policy to redundancy 2;              configure controlfile autobackup format for device type disk clear;              configure controlfile autobackup on;              sql "create pfile=''$rman_spfile2init'' from spfile";              backup as compressed backupset device type disk database;              configure controlfile autobackup off;              alter database open;              delete noprompt obsolete;

Page 28: Collaborate 2012 - RMAN Eliminate the mystery

28/53

RMAN COMPRESSION – XE

Really necessary?

– maximum amount of user data is 11G in XE 11.2 (was 4Gb in 10.2)

– backup.sh uses redundancy 2

Page 29: Collaborate 2012 - RMAN Eliminate the mystery

29/53

Corruption detection

Backup validates block checksum when writing (physical) by default

To detect logical corruption while taking the backup:– backup blocks all check logical database;

To validate already taken backups, and their availability for the restore operation– restore validate database;

– restore validate controlfile to 'c:\temp\control01.ctl';

– restore validate archivelog from sequence N1 until sequence N2;

Page 30: Collaborate 2012 - RMAN Eliminate the mystery

30/53

Validation – integrity and corruption

VALIDATE command (11.1) – independent of backup/recovery

validate database;VALIDATE BACKUPSET 5;validate datafile 3;validate datafile 3 BLOCK 5 TO 20;

If some detected, see which ones:

select * from V$DATABASE_BLOCK_CORRUPTION;

NOTE: This view is also populated by other Oracle process (11.2)

Page 31: Collaborate 2012 - RMAN Eliminate the mystery

31/53

Corruption prevention

To prevent and detect corruption, these initialization parameters must be used:

– DB_BLOCK_CHECKING – in memory checks. Overhead up to 10%.

OFF / LOW / MEDIUM / FULL– DB_BLOCK_CHECKSUM – calculated and stored checksum of data and logs.

Overhead up to 5%. OFF / TYPICAL / FULL– DB_LOST_WRITE_PROTECT – detect lost writes on standby.

NONE / TYPICAL / FULL

– DB_ULTRA_SAFE: set the proper combination of the previous three. • NONE: no changes are made• DATA_ONLY: MEDIUM / FULL / TYPICAL• DATA_AND_INDEX: FULL / FULL / TYPICAL

Page 32: Collaborate 2012 - RMAN Eliminate the mystery

32/53

Recovery scenarios

basic – 2:– complete and tablespace

advanced – 12:– Recovering After the Loss of Datafiles: Scenarios– Recovering Through an Added Datafile with a Backup Control File: Scenario– Re-Creating Datafiles When Backups Are Unavailable: Scenario– Recovering Through RESETLOGS with Created Control File: Scenario– Recovering NOLOGGING Tables and Indexes: Scenario– Recovering Read-Only Tablespaces with a Backup Control File: Scenario– Recovering Transportable Tablespaces: Scenario– Recovering After the Loss of Online Redo Log Files: Scenarios– Recovering After the Loss of Archived Redo Log Files: Scenario– Recovering from a Dropped Table: Scenario– Performing Media Recovery in a Distributed Environment: Scenario

Page 33: Collaborate 2012 - RMAN Eliminate the mystery

33/53

Basic recovery examples

Recover the last full backup, using the existing controlfile

  RMAN> STARTUP MOUNT;   RMAN> RESTORE DATABASE;  RMAN> RECOVER DATABASE;  RMAN> ALTER DATABASE OPEN;

Recover only one tablespace in an open instance

  RMAN> SQL 'ALTER TABLESPACE mytbs OFFLINE IMMEDIATE';  RMAN> RESTORE TABLESPACE mytbs;  RMAN> RECOVER TABLESPACE mytbs;  RMAN> SQL 'ALTER TABLESPACE mytbs ONLINE';

Page 34: Collaborate 2012 - RMAN Eliminate the mystery

34/53

Summary of RMAN benefits

– Incremental backups

– automated recovery

• block media recovery

– compression

• skipping blocks and binary

– encryption

– backup history and catalog

– logical and physical corruption detection

– backup optimization

– improved and new features in new releases

• 11 in version 11.2, 21 in version 11.1 (from Backup and Recovery User's Guide, “What's New in Backup and Recovery?”)

Page 35: Collaborate 2012 - RMAN Eliminate the mystery

35/53

using RMAN for the first time

– Learn RMAN functionality and usage

– Practice recovery scenarios

NOTE: RMAN generated files are not portable between platforms.

– Intel 32-bit (x86) backup cannot be restored on Intel 64-bit (x86_64).

– CONVERT DATABASE command can be used over platforms which share endian format.

Page 36: Collaborate 2012 - RMAN Eliminate the mystery

36/53

using RMAN for the first time

Define the backup policy

– acceptable level of service

• time frame for implementation and execution

• disk consumption and CPU usage to define using of compression

– retention

– destination

– file names, size limits

– parallelism

– use of encryption

Page 37: Collaborate 2012 - RMAN Eliminate the mystery

37/53

using RMAN for the first time

Create complete scripts– Configuration can be used to recreate the database– Delete obsolete backups – List catalog (documentation) – Validate logical integrity – Detect errors in the execution of the script and notify operators

Test recovery periodically– automated to validate health of backup media– manually to practice different recovery scenarios

• one team to break, one to recover

Page 38: Collaborate 2012 - RMAN Eliminate the mystery

38/53

Monitoring RMAN operations

Running tasks: V$SESSION_LONGOPS

SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,       ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"FROM   V$SESSION_LONGOPSWHERE  OPNAME LIKE 'RMAN%'AND    OPNAME NOT LIKE '%aggregate%'AND    TOTALWORK != 0AND    SOFAR <> TOTALWORK;

History: – V$BACKUP_*– V$RMAN*

If using catalog: – RC_*

Page 39: Collaborate 2012 - RMAN Eliminate the mystery

39/53

Maintenance

CrossCheck Delete obsolete

If using standby

Above 11.1:   ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY

Older versions: Split backup from delete obsolete tasks

Page 40: Collaborate 2012 - RMAN Eliminate the mystery

40/53

Features not available in Standard Edition:

– allocate disk parallel channels

– block change tracking

– encryption -- Advanced Security option (disk) or Oracle Secure Backup license (tape)

Page 41: Collaborate 2012 - RMAN Eliminate the mystery

41/53

When errors

• Manuals: http://otn.oracle.com

• Support: http://support.oracle.com

• Debug:           rman target / log rman.log trace rman.trc           run{             allocate channel t1 type sbt………trace=2;             allocate channel t2 type sbt………trace=2;             allocate channel t3 type sbt………trace=2;             debug on;             restore database;             debug off;           }

Page 42: Collaborate 2012 - RMAN Eliminate the mystery

42/53

When errors

Media manager libraries (MML) are from third parties Trace generates sbtio.log file Simulate and compare:

          run {            allocate channel t1 type sbt parms            'SBT_LIBRARY=oracle.disksbt,ENV=(BACK            UP_DIR=d:\temp)' trace=2;            backup database;          }

Page 43: Collaborate 2012 - RMAN Eliminate the mystery

43/53

Optimizing backup operations

mainly I/O activity detailed process architecture: MOS note 360443.1 use async I/O (O.S. Configuration) channels adequate to the hardware in use performance of the MML comparing the time of "backup validate" (read-only operation) with the time of backup. enable block change tracking for incremental backups (Enterprise Edition) use standby database if Active DataGuard is available.

Page 44: Collaborate 2012 - RMAN Eliminate the mystery

44/53

Optimizing Recovery

• Scripts commands are executed serially

• This does not work in parallel:

            run {             allocate channel t1 type sbt....;             allocate channel t2 type sbt....;             allocate channel t3 type sbt....;             restore datafile 2;             restore datafile 3;             restore datafile 5;             restore datafile 7;             restore datafile 11; }

Page 45: Collaborate 2012 - RMAN Eliminate the mystery

45/53

Optimizing Recovery

• This works:

        run {           allocate channel t1 type sbt....;           allocate channel t2 type sbt....;           allocate channel t3 type sbt....;           restore datafile 2,3,5,7,11; }

• For big datafiles, from 11.1, use SECTION SIZE:

CONFIGURE DEVICE TYPE sbt PARALLELISM 3;CONFIGURE DEFAULT DEVICE TYPE TO sbt;RUN {  BACKUP SECTION SIZE 300M TABLESPACE prueba; }

Page 46: Collaborate 2012 - RMAN Eliminate the mystery

46/53

Next steps?

– Exercise recovery scenarios

– Use Enterprise Manager whenever possible

– Use Data Recovery Advisor

– Incorporate the use of Dataguard and Flashback

Page 47: Collaborate 2012 - RMAN Eliminate the mystery

47/53

Questions?

[email protected]

Page 48: Collaborate 2012 - RMAN Eliminate the mystery

48/53

Some time for examples?

– Instance cloning• Classic (10g)• From active instance (11.1)• RAC

– Using Data Recovery Advisor – only on the white paper

Page 49: Collaborate 2012 - RMAN Eliminate the mystery

49/53

Instance cloning

Classic (10g) using pre-existing backups

1) Set destination database environment: parameter file, password file and directories – db_file_name_convert y log_file_name_convert if using different directory structure

2) Reboot the destination database in nomount mode

3) Get the SCN to which you want to restore from source. There are several ways to do it. One is:

          select next_change#          from v$archived_log          where recid = (select max(recid) from v$archived_log                         where backup_count>0);

Page 50: Collaborate 2012 - RMAN Eliminate the mystery

50/53

Instance cloning

Classic (10g) using pre-existing backups

4) execute the duplication on destination server :

          rman catalog rman/clave@rman target sys/clave@origen          connect auxiliary /          run {            allocate auxiliary channel dupdb1 type disk;            set until scn $MAX_SCN;            duplicate target database to COPIA NOFILENAMECHECK;          }

5) disable archivelog on the cloned database

Page 51: Collaborate 2012 - RMAN Eliminate the mystery

51/53

Instance cloning

From active instance (11.1)

Same steps 1 and 2, then 4th is:

          rman nocatalog target sys/clave@origen          connect AUXILIARY sys/clave@copia          run {             DUPLICATE TARGET DATABASE TO 'COPIA'               FROM ACTIVE DATABASE;          }          exit;

Page 52: Collaborate 2012 - RMAN Eliminate the mystery

52/53

Instance cloning

RAC databases

MOS notes 452868.1 and 461479.1 changes to single instance duplication:

destination database configured as single instance (removing RAC configuration) clone the same way as single instance pfile parameters are adjusted, adding RAC settings removed before:

correct names for control files and the new database. restart the database to use the new parameters configure the new database in all the remaining RAC nodes:

pfile, pwfile, tnsnames.ora register the new database in CRS

Page 53: Collaborate 2012 - RMAN Eliminate the mystery

53/53


Recommended