RMAN

Published on May 2016 | Categories: Documents | Downloads: 51 | Comments: 0 | Views: 262
of 17
Download PDF   Embed   Report

Comments

Content

Back up database files, archive logs, backups, or copies. Syntax: BACKUP FULL Options BACKUP FULL AS (COPY | BACKUPSET) Options BACKUP INCREMENTAL LEVEL [=] integer Options BACKUP INCREMENTAL LEVEL [=] integer AS (COPY | BACKUPSET) Options BACKUP AS (COPY | BACKUPSET) Options BACKUP AS (COPY | BACKUPSET) (FULL | INCREMENTAL LEVEL [=] integer) Options Options: [backupOperand [backupOperand]...] backupSpec [backupSpec]... [PLUS ARCHIVELOG [backupSpecOperand [backupSpecOperand]...]]; backupOperand::= { FORMAT [=] 'format_string' [, 'format_string']... | CHANNEL ['] channel_id ['] | CUMULATIVE | MAXSETSIZE [=] integer [ K | M | G ] | TAG [=] ['] tag_name ['] | keepOption | SKIP { OFFLINE | READONLY | INACCESSIBLE } | VALIDATE | NOT BACKED UP [SINCE TIME [=] 'date_string'] | COPIES [=] integer | DEVICE TYPE deviceSpecifier . . . } backupSpec::= [(] { BACKUPSET { {ALL | completedTimeSpec } | primary_key) [, primary_key]... } | COPY OF { DATABASE | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | DATAFILE datafileSpec [, datafileSpec]...

} | DATAFILE datafileSpec [, datafileSpec]... | DATAFILECOPY 'filename' [, 'filename']... | DATAFILECOPY FROM TAG [=] ['] tag_name ['] [, ['] tag_name [']]... | DATAFILECOPY { ALL | LIKE 'string_pattern' } | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | DATABASE | archivelogRecordSpecifier | CURRENT CONTROLFILE [FOR STANDBY] | CONTROLFILECOPY 'filename' | SPFILE } [backupSpecOperand [backupSpecOperand]...] backupSpecOperand::= { FORMAT [=] 'format_string' [, 'format_string']... | CHANNEL ['] channel_id ['] | CUMULATIVE | MAXSETSIZE [=] integer [ K | M | G ] | TAG [=] ['] tag_name ['] | keepOption | SKIP { OFFLINE | READONLY | INACCESSIBLE } | NOT BACKED UP [ SINCE TIME [=] 'date_string' | integer TIMES ] | DELETE [ALL] INPUT . . . } . You should configure default devices and channels in advance of running RMAN Backup. Examples Back up the database, and then the control file: (which contains a record of the backup) RMAN> BACKUP DATABASE; RMAN> BACKUP CURRENT CONTROLFILE; Backup datafiles: RMAN> BACKUP AS BACKUPSET DATAFILE 'ORACLE_HOME/oradata/trgt/users01.dbf',

'ORACLE_HOME/oradata/trgt/tools01.dbf'; Backup all datafiles in the database: (bit-for-bit copies, created on disk) RMAN> BACKUP AS COPY DATABASE; Backup archive logs: RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 28' AND 'SYSDATE-7'; Backup tablespace: RMAN> BACKUP TABLESPACE system, users, tools; Backup controlfile: RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/cntrlfile.copy'; Backup parameter file: RMAN> BACKUP SPFILE; Backup everything: RMAN> BACKUP BACKUPSET ALL; Create a consistent backup and keep the backup for 1 year: (exempt from the retention policy) RMAN> SHUTDOWN; RMAN> STARTUP MOUNT; RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365' NOLOGS; Backup Validation confirms that a backup could be run, by confirming that all database files exist and are free of physical and logical corruption, this does not generate any output. Example: RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL; 'SYSDATE-

Perform media recovery from RMAN backups and copies. Syntax: RECOVER [DEVICE TYPE deviceSpecifier [, deviceSpecifier]...] recoverObject [recoverOptionList]; recoverObject::= { DATABASE [ untilClause | [untilClause] SKIP [FOREVER] TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... ] | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | DATAFILE datafileSpec [, datafileSpec]... } recoverOptionList::= { DELETE ARCHIVELOG [MAXSIZE {integer [K | M | G]}] | CHECK READONLY | NOREDO | { FROM TAG | ARCHIVELOG TAG } [=] ['] tag_name ['] . . . }... Examples Restore and recover the whole database RMAN> STARTUP FORCE MOUNT; RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN; Restore and recover a tablespace RMAN> SQL 'ALTER TABLESPACE users OFFLINE'; RMAN> RESTORE TABLESPACE users; RMAN> RECOVER TABLESPACE users; RMAN> SQL 'ALTER TABLESPACE users ONLINE'; Restore and recover a datafile RMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE'; RMAN> RESTORE DATAFILE 64;

RMAN> RECOVER DATAFILE 64; RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE'; Steps for media recovery: 1. Mount or open the database. Mount the database when performing whole database recovery, or open the database when performing online tablespace recovery. 2. To perform incomplete recovery, use the SET UNTIL command to specify the time, SCN, or log sequence number at which recovery terminates. Alternatively, specify the UNTIL clause on the RESTORE and RECOVER commands. 3. Restore the necessary files with the RESTORE command. 4. Recover the datafiles with the RECOVER command. 5. Place the database in its normal state. For example, open it or bring recovered tablespaces online.

Restore RMAN backups and copies. Syntax: RESTORE [(] restoreObject [(restoreSpecOperand [restoreSpecOperand]...] [)]... [ CHANNEL ['] channel_id ['] | PARMS [=] 'channel_parms' | FROM { BACKUPSET | DATAFILECOPY } | untilClause | FROM TAG [=] ['] tag_name ['] | VALIDATE | DEVICE TYPE deviceSpecifier [, deviceSpecifier]... . . . ]...; restoreObject::= { CONTROLFILE [TO 'filename'] | DATABASE [SKIP [FOREVER] TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... ] | DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier | SPFILE [TO [PFILE] 'filename'] } restoreSpecOperand::= { CHANNEL ['] channel_id ['] | FROM TAG [=] ['] tag_name ['] | PARMS [=] 'channel_parms' | FROM { AUTOBACKUP [{ MAXSEQ | MAXDAYS } [=] integer)]... | 'media_handle' } } Examples Restore and recover the whole database

RMAN> RMAN> RMAN> RMAN>

STARTUP FORCE MOUNT; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN;

Restore and recover a tablespace RMAN> SQL 'ALTER TABLESPACE users OFFLINE'; RMAN> RESTORE TABLESPACE users; RMAN> RECOVER TABLESPACE users; RMAN> SQL 'ALTER TABLESPACE users ONLINE'; Restore and recover a datafile RMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE'; RMAN> RESTORE DATAFILE 64; RMAN> RECOVER DATAFILE 64; RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE'; Restore the control file, (to all locations specified in the parameter file) then restore the database, using that control file:
STARTUP NOMOUNT; RUN { ALLOCATE CHANNEL c1 DEVICE TYPE sbt; RESTORE CONTROLFILE; ALTER DATABASE MOUNT; RESTORE DATABASE; }

Restore Validation confirms that a restore could be run, by confirming that all database files exist and are free of physical and logical corruption, this does not generate any output. Example: RMAN> RESTORE DATABASE VALIDATE;

Check whether backup pieces, proxy copies, or disk copies still exist. Syntax: CROSSCHECK { { BACKUP [OF listObjList] | COPY [OF listObjList] | archivelogRecordSpecifier } [maintQualifier [maintQualifier]...] | recordSpec [DEVICE TYPE deviceSpecifier [, deviceSpecifier]...] }; listObjList::= [ DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier | DATABASE [SKIP TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...] | CONTROLFILE | SPFILE ]... recordSpec::= { { BACKUPPIECE | PROXY } { 'media_handle' [, 'media_handle']... | primary_key [, primary_key]... | TAG [=] ['] tag_name ['] } | BACKUPSET primary_key [, primary_key]... | { CONTROLFILECOPY | DATAFILECOPY } { { primary_key [, primary_key]... | 'filename' [, 'filename']... } | TAG [=] ['] tag_name ['] [, ['] tag_name [']]... } | ARCHIVELOG { primary_key [, primary_key]... | 'filename' [, 'filename']... } } Examples:

Assuming you have configured automatic channels: RMAN> RMAN> RMAN> RMAN> RMAN> CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK BACKUP; COPY; backup of database; backup of controlfile; archivelog all;

Query the media manager for the status of backup sets in a given date range:
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; RMAN> CROSSCHECK BACKUP DEVICE TYPE sbt COMPLETED BETWEEN '01-AUG-04' AND '31-DEC-04';

Check whether backup pieces, proxy copies, or disk copies still exist. Syntax: CROSSCHECK { { BACKUP [OF listObjList] | COPY [OF listObjList] | archivelogRecordSpecifier } [maintQualifier [maintQualifier]...] | recordSpec [DEVICE TYPE deviceSpecifier [, deviceSpecifier]...] }; listObjList::= [ DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier | DATABASE [SKIP TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...] | CONTROLFILE | SPFILE ]... recordSpec::= { { BACKUPPIECE | PROXY } { 'media_handle' [, 'media_handle']... | primary_key [, primary_key]... | TAG [=] ['] tag_name ['] } | BACKUPSET primary_key [, primary_key]... | { CONTROLFILECOPY | DATAFILECOPY }

{ { primary_key [, primary_key]... | 'filename' [, 'filename']... } | TAG [=] ['] tag_name ['] [, ['] tag_name [']]... } | ARCHIVELOG { primary_key [, primary_key]... | 'filename' [, 'filename']... } } Examples: Assuming you have configured automatic channels: RMAN> RMAN> RMAN> RMAN> RMAN> CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK BACKUP; COPY; backup of database; backup of controlfile; archivelog all;

Query the media manager for the status of backup sets in a given date range:
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; RMAN> CROSSCHECK BACKUP DEVICE TYPE sbt COMPLETED BETWEEN '01-AUG-04' AND '31-DEC-04';

Check whether backup pieces, proxy copies, or disk copies still exist. Syntax: CROSSCHECK { { BACKUP [OF listObjList] | COPY [OF listObjList] | archivelogRecordSpecifier } [maintQualifier [maintQualifier]...] | recordSpec [DEVICE TYPE deviceSpecifier [, deviceSpecifier]...] }; listObjList::= [ DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier | DATABASE [SKIP TABLESPACE ['] tablespace_name [']

[, ['] tablespace_name [']]...] | CONTROLFILE | SPFILE ]... recordSpec::= { { BACKUPPIECE | PROXY } { 'media_handle' [, 'media_handle']... | primary_key [, primary_key]... | TAG [=] ['] tag_name ['] } | BACKUPSET primary_key [, primary_key]... | { CONTROLFILECOPY | DATAFILECOPY } { { primary_key [, primary_key]... | 'filename' [, 'filename']... } | TAG [=] ['] tag_name ['] [, ['] tag_name [']]... } | ARCHIVELOG { primary_key [, primary_key]... | 'filename' [, 'filename']... } } Examples: Assuming you have configured automatic channels: RMAN> RMAN> RMAN> RMAN> RMAN> CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK CROSSCHECK BACKUP; COPY; backup of database; backup of controlfile; archivelog all;

Query the media manager for the status of backup sets in a given date range:
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; RMAN> CROSSCHECK BACKUP DEVICE TYPE sbt COMPLETED BETWEEN '01-AUG-04' AND '31-DEC-04';

Delete backups (and copies) from disk or tape, and update the RMAN repository. Syntax: DELETE [FORCE] [NOPROMPT] { [EXPIRED] { { BACKUP [OF listObjectList] | COPY [OF listObectjList] | archivelogRecordSpecifier } [maintQualifier [maintQualifier]...] | recordSpec [DEVICE TYPE deviceSpecifier [, deviceSpecifier]...] } | OBSOLETE [obsOperandList] [DEVICE TYPE (deviceSpecifier [, deviceSpecifier]...] }; obsOperandList::= [ REDUNDANCY [=] integer | RECOVERY WINDOW OF integer DAYS | ORPHAN ]... recordSpec::= { { BACKUPPIECE | PROXY } { 'media_handle' [, 'media_handle']... | primary_key [, primary_key]... | TAG [=] ['] tag_name ['] } | BACKUPSET primary_key [, primary_key]... | { CONTROLFILECOPY | DATAFILECOPY } { { primary_key [, primary_key]... | 'filename' [, 'filename']... } | TAG [=] ['] tag_name ['] [, ['] tag_name [']]... } | ARCHIVELOG { primary_key [, primary_key]... | 'filename' [, 'filename']... } } listObjectList::= [ DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier

| DATABASE [SKIP TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...] | CONTROLFILE | SPFILE ]... Examples RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt; RMAN> CROSSCHECK BACKUP OF TABLESPACE user_data COMPLETED BEFORE 'SYSDATE-14'; RMAN> DELETE NOPROMPT EXPIRED BACKUP OF TABLESPACE user_data COMPLETED BEFORE 'SYSDATE-14'; RMAN> DELETE BACKUP OF DATABASE LIKE '/tmp%'; RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt; RMAN> DELETE BACKUPSET 101, 102, 103; RMAN> DELETE CONTROLFILECOPY '/tmp/cntrlfile.copy'; RMAN> DELETE BACKUP OF SPFILE TABLESPACE users DEVICE TYPE sbt; Delete backups and copies (and archived redo logs ) that will not be needed to perform any possible recovery of the database to any point in the last 7 days.
DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;

List the backups and copies recorded in the repository. Syntax: LIST { INCARNATION [OF DATABASE [['] database_name [']]] | [EXPIRED] { listObjectSpec [ maintQualifier | RECOVERABLE [untilClause] ]... | recordSpec } }; listObjectSpec::= { BACKUP [OF listObjectList] [listBackupOption] | COPY [OF listObjectList] | archivelogRecordSpecifier } listObjectList::= [ DATAFILE datafileSpec [, datafileSpec]... | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]... | archivelogRecordSpecifier | DATABASE [SKIP TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...] | CONTROLFILE | SPFILE ]... listBackupOption::= [ [BY BACKUP] [VERBOSE] | SUMMARY | BY { BACKUP SUMMARY | FILE } ] Examples
RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> LIST LIST LIST LIST LIST LIST LIST LIST LIST BACKUP; BACKUP OF DATABASE; BACKUP SUMMARY; INCARNATION; BACKUP BY FILE; COPY OF DATABASE ARCHIVELOG ALL; COPY OF DATAFILE 1, 2, 3; BACKUP OF DATAFILE 11 SUMMARY; BACKUP OF ARCHIVELOG FROM SEQUENCE 1437;

RMAN> LIST CONTROLFILECOPY "/tmp/cntrlfile.copy"; RMAN> LIST BACKUPSET OF DATAFILE 1;

Display the currently enabled CONFIGURE commands. Syntax: SHOW { RETENTION POLICY | [DEFAULT] DEVICE TYPE | [AUXILIARY] CHANNEL [FOR DEVICE TYPE deviceSpecifier] | MAXSETSIZE | { DATAFILE | ARCHIVELOG } BACKUP COPIES | BACKUP OPTIMIZATION | SNAPSHOT CONTROLFILE NAME | AUXNAME | EXCLUDE | CONTROLFILE AUTOBACKUP [FORMAT] | ALL }; Examples
SHOW SHOW SHOW SHOW SHOW RETENTION POLICY; DEVICE TYPE; DEFAULT DEVICE TYPE; CHANNEL; MAXSETSIZE;

SHOW ALL;

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close