ITPub博客

首页 > 数据库 > Oracle > rman使用记录

rman使用记录

Oracle 作者:studywell 时间:2015-06-01 15:02:28 0 删除 编辑
转:http://mikixiyou.iteye.com/blog/1560754
转:http://www.2cto.com/database/201309/244084.html

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 帮助文档。



rman记录日志:
 
1.rman target / log=/home/oracle/rman.log
 
----->>>这种日志只记录在文件,无法在操作界面显示
 
2.在rman里面spool
spool log to '/home/oracle/rman.log';
spool log off;
----->>>这种日志只记录在文件,无法在操作界面显示
 
3.rman target / |tee rman.log
----->>>这种方式既能显示出来,又可以记录操作的日志到文件
 
4.使用script命令记录日志
script -a rman.log
rman target /
show all;
exit    ----->>>退出rman
exit    ----->>>退出script

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29519108/viewspace-1680697/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-03-04

  • 博文量
    307
  • 访问量
    535428