RMAN常用命令汇总

阅读更多

     RMAN是Oracle数据库备份管理中必须用到的管理工具。它的操作方式有很多种,我整理了一些常用的操作命令,汇总起来,以方便工作。

 

(miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1560754 )

1备份数据库操作命令

简洁版

  backup database plus archivelog format '/backup/rman/xx_%U.%T';

 

正规版

run {

allocate channel t1 type disk;

backup database format '/backup/rman/xx_%U.%T';

backup archivelog all delete input format '/backup/rman/xx_%U.%T';

sql 'alter system archive log current';

backup current controlfile format '/backup/rman/xx_%U.%T';

release channel t1;

}

 

加强版

 

run

{

delete noprompt obsolete;

allocate channel ch01 type disk rate 40M;

backup database filesperset 3 format '/backup/servdb_rman/db_%U.%T';

sql 'alter system archive log current';

backup archivelog like '+%' filesperset 20 format '/backup/servdb_rman/archivelog_%U.%T';

delete noprompt archivelog until time 'sysdate -1';

backup current controlfile format '/backup/servdb_rman/ctl_%U.%T' ;

release channel ch01;

}

 

2归档日志单独备份操作命令

 

不删除归档日志文件

run {

allocate channel t1 type disk;

backup archivelog all format '/backup/servdb_rman/archivelog_%U.%T';

release channel t1;

}

 

删除归档日志文件

run {

allocate channel t1 type disk;

backup archivelog all delete input format '/backup/servdb_rman/archivelog_%U.%T';

release channel t1;

}

 

不备份已经备份过一次的归档日志文件

run {

allocate channel t1 type disk;

backup archivelog all not backed up 1 times format '/backup/servdb_rman/archivelog_%U.%T';

release channel t1;

}

 

3还原和恢复数据库操作命令

 

完全恢复

startup nomount;

run {

  allocate channel  t1 type disk;

  restore controlfile;

  restore archivelog all;

  alter database mount;

  restore database;

  recover database;

  release channel t1;

}

sql 'alter database open resetlogs';

 

不完全恢复,至某个时间点

startup nomount;

run {

  set until time ="to_date('2012-06-14 00:00:00','yyyy-mm-dd hh24:mi:ss')";

  allocate channel  t1 type disk;

  restore controlfile;

  restore archivelog all;

  alter database mount;

  restore database;

  recover database;

  release channel t1;

}

sql 'alter database open resetlogs';

 

RAC 环境中还原某几个归档日志文件

run

{

allocate channel t1 type disk;

restore archivelog from logseq  5023 thread 1 until logseq  5036 thread 1;

releaase channel t1;

}

 

单实例环境中还原某几个归档日志文件

run

{

allocate channel t1 type disk;

restore archivelog from logseq  5023 until logseq  5036;

releaase channel t1;

}

 

4注册备份集到 CATALOG 操作命令

catalog start with '/backup/xxx.xxx';

 

5其他管理命令

list backupset;

list backup of database;

list backup of archivelog all;

report obsolete;

report obsolete redundancy = 2;

delete obsolete;

restore database validate; 

report unrecoverable;

report schema;

crosscheck backup; 

delete expired backup; 

rman target sys/*****@ora10 catalog rman/rman@dbarep

 

allocate channel for maintenance device type disk;

delete obsolete redundancy = 4 device type disk; 

delete obsolete redundancy = 2 device type disk;

 

delete noprompt archivelog until time "sysdate-5"

 

更多的命令和说明请参考oracle 官方文档和rman 帮助文档。

你可能感兴趣的:(oracle,rman)