ORACLE RMAN - BASIC COMMANDS

 

RMAN BASIC COMMANDS

 

Sl. No.

Tasks

1.

RMAN Full Database Backup Script: This script performs a full backup of the entire database, including datafiles, control file, and spfile.

RUN {

ALLOCATE CHANNEL ch1 TYPE DISK;

BACKUP DATABASE FORMAT '/backup/full_db_%t_%p%p' FILESPERSET 10;

RELEASE CHANNEL ch1;

ALLOCATE CHANNEL ch2 TYPE DISK;

BACKUP CURRENT CONTROLFILE FORMAT '/backup/cntrl_%s_%p_%t';

RELEASE CHANNEL ch2;

ALLOCATE CHANNEL ch3 TYPE DISK;

BACKUP SPFILE FORMAT '/backup/spfile_%s_%p_%t';

RELEASE CHANNEL ch3;

}

 

2.

RMAN Incremental DB Backup Script: This script performs an incremental backup based on changes since the last full backup.

RUN

{

ALLOCATE CHANNEL ch1 TYPE DISK;

INCREMENTAL BACKUP DATABASE UNTIL TIME RECOVERABLE UNTIL TIME 'SYSDATE - 1'; RELEASE CHANNEL ch1;

}

 

3.

RMAN Tablespace Backup Script: This script backs up a specific tablespace.

RUN {

  ALLOCATE CHANNEL ch1 TYPE DISK;

  BACKUP TABLESPACE 'USERS' FORMAT '/backup/ts_users_%t_%p%p';

  RELEASE CHANNEL ch1;

}

 

4.

RMAN Datafile(s) Backup Script: This script backs up specific datafiles.

RUN {

  ALLOCATE CHANNEL ch1 TYPE DISK;

  BACKUP DATAFILE '/u01/app/oracle/oradata/orcl/datafile01.dbf' FORMAT

'/backup/datafile01_%t_%p%p';

  BACKUP DATAFILE '/u01/app/oracle/oradata/orcl/datafile02.dbf' FORMAT

'/backup/datafile02_%t_%p%p';

  RELEASE CHANNEL ch1;

}

 

5.

Delete Archive Older than 1 Day: This script deletes archive logs older than one day.

RUN {

  DELETE ARCHIVE LOG UNTIL TIME SYSDATE - 1;

}

 

6.

Backup Archive Logs Using RMAN: This script backs up all archive logs.

RUN {

  ALLOCATE CHANNEL ch1 TYPE DISK;

  BACKUP ARCHIVELOG FORMAT '/backup/arch_%t_%s_%p';

  RELEASE CHANNEL ch1;

}

 

7.

Copy Archive from ASM to Mount Point: This script copies an archive log from ASM to a mount point.

RUN {

COPY ARCHIVELOG '/+ASM/arch/

}

 

Copy archive log from ASM to regular mount point using RMAN: -

RMAN> copy archivelog '+B2BSTARC/thread_2_seq_34.933' to '/data/thread_2_seq_34.933';

 

8.

Backup Archive Between 2 Sequence Numbers: Backs up archive logs within a specified sequence range.

RUN {

ALLOCATE CHANNEL ch1 TYPE DISK;

BACKUP ARCHIVELOG FROM SEQUENCE 1000 UNTIL SEQUENCE 1050 FORMAT '/backup/arch_%t_%s_%p';

 RELEASE CHANNEL ch1;

}

 

9.

Enable Trace for RMAN: Enables detailed tracing for RMAN operations.

SET TRACE ENABLED;

 

To diagnose rman script, use trace as below.

spool trace to '/tmp/rman_trace.out';

report schema;

list backup summary;

list backup of datafile 1;

list copy of datafile 1;

spool trace off;

 

10.

Recover Dropped Table: Recovers a dropped table to a specified point in time.

RUN {

  ALLOCATE CHANNEL ch1 TYPE DISK;

  RECOVER TABLE "DROPPED_TABLE_NAME" UNTIL TIME "TO_DATE('2026-02-04 12:00:00', 'YYYY-MM-DD HH24:MI:SS')";

  RELEASE CHANNEL ch1;

}

 

11.

Monitor RMAN Backup Progress: Monitors the progress of an ongoing RMAN backup.

RMAN> LIST BACKUP;

 

sql> SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,

ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"

FROM V$SESSION_LONGOPS

WHERE OPNAME LIKE 'RMAN%'

AND OPNAME NOT LIKE '%aggregate%'

AND TOTALWORK != 0

AND SOFAR <> TOTALWORK;

 

12.

Restore Archivelog from RMAN Tape: Restores archive logs from tape to disk.

RUN {

  ALLOCATE CHANNEL ch1 DEVICE TYPE sbt;

  RESTORE ARCHIVELOG FROM SEQUENCE 1020 UNTIL SEQUENCE 1030;

  RELEASE CHANNEL ch1;

}

 

Restore the archive sequences from 7630 to 7640 to /dumparea location

run

{

allocate channel t1 type SBT_TAPE parms

‘ENV=(NSR_SERVER=nwwerpw,NSR_CLIENT=tsc_test01,NSR_DATA_VOLUME_POOL=

DD086A1)’connect sys/****@CRM_DB;

set archivelog destination to ‘/dumparea/';

restore archivelog from sequence 7630 until sequence 7640;

release channel t1;

}

 

13.

Enable Block Change Tracking: Enables block change tracking for faster incremental backups.

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

SQL> alter database enable block change tracking using file

'/export/home/oracle/RMAN/TESTDB/TRACKING_FILE/block_change_TESTDB.log';

SQL> select filename,status from v$block_change_tracking;

 

 

Comments

Popular posts from this blog

Database Network : Configuration Parameters

Undo Segments : Drop Problematic Undo Segments