`
microjava
  • 浏览: 309695 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle rman备份命令

阅读更多
RMAN简单使用 目标机A: create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M; RMAN简单使用 目标机A: create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M; create username RMAN ident


RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
copyright Sqlclub

RMAN简单使用
目标机A:
create tablespace RMAN datafile '$ORACLE_HOME/oradata/FILENAME.DBF' size 20M;
create username RMAN identified by RMAN default tablespace rman temporary tablespace temp quota unlimited on RMAN; 内容来自Sqlclub.cn

grant recovery_catalog_owner to rman ;

Sqlclub学习社区

rman catalog rman/rman
create catalog tablespace 'RMAN'; 内容来自Sqlclub.cn


Rman主机B:
rman target /
connect catalog rman/rman@$A_SID
注册数据库
register database; Sqlclub学习社区

注销数据库
sqlplus rman/rman
select * from db;
EXECUTE dbms_rcvcat.unregisterdatabase(db_key, db_id); 内容来自Sqlclub.cn


///////////非归档模式使用RMAN备份///////////////////////
备份目标数据库:
rman target /
connect catalog rman/rman@$A_SID Sqlclub.cn

定义通道
allocate channel c1 type disk;
撤消通道
release channel c1;

Sqlclub学习社区


备份整个数据库
run {
allocate channel c1 type disk;
backup full tag full_db_backup
format '/export/home/oracle/oradata/bak_db/db_%d' database
include current controlfile;
release channel c1;
} 本文来自Sqlclub

备份表空间
run {
allocate channel d1 type disk;
backup tag tbs_users_read_only
format '/export/home/oracle/oradata/bak_tab/block_t%t_s%s' (tablespace "BLOCK");
release channel c1;
} Sqlclub

run {
allocate channel d1 type disk;
backup tablespace "BLOCK" filesperset 3 format '/export/home/oracle/oradata/bak_tab/aatst_%d%t%s.%p'
include current controlfile;
release channel c1;
} 内容来自Sqlclub.cn

备份单独数据文件
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_tab/%d_%u'
(datafile '/export/home/oracle/oradata/ECOM/block01.dbf');
release channel c1;
}

本文来自Sqlclub


复制目标数据库数据文件:
run {
allocate channel c1 type disk;
copy datafile '/export/home/oracle/oradata/ECOM/block02.dbf' to '/export/home/oracle/oradata/bak_tab/block02.dbf' tag=u1215;
release channel c1;
}

copyright Sqlclub



备份控制文件:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_cont/cf_t%t_s%s_p%p'
tag cf_monday_night (current controlfile);
release channel c1;
}

copyright Sqlclub


run {
allocate channel d1 type disk;
backup current controlfile format '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
} Sqlclub

run {
allocate channel d1 type disk;
copy current controlfile to '/export/home/oracle/oradata/bak_tab/%d%t%s.ctl';
}

内容来自Sqlclub.cn



/////////////////////归档模式使用RMAN备份//////////////////////
归档日志备份:
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog all);
release channel c1;
}

Sqlclub.cn

下面的脚本归档日志从# 90 to 100:
run {
allocate channel c1 typye disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from logseq=90 until logseq=100 thread 1);
release channel c1;
} 本文来自Sqlclub

下面的脚本备份在24小时内产生的归档日志,在备份完成后会自动删除归档日志。如果备份失败,归档日志不会被删除。
run {
allocate channel c1 type disk;
backup format '/export/home/oracle/oradata/bak_log/log_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} copyright Sqlclub

run {
allocate channel c1 type disk;
backup archivelog low logseq 1143 high logseq 1147 thread 1 format 'aaarc%t.%s';
}

内容来自Sqlclub.cn

使用下面的命令显示恢复目录中的归档日志
list backupset of archivelog all; Sqlclub.cn

备份联机日志
run {
allocate channel c1 type disk;
sql "alter system archive log current";
backup format '/export/home/oracle/oradata/bak_log/onlog_t%t_s%s_p%p'
(archivelog from time 'sysdate-1' all delete input);
release channel c1;
} Sqlclub学习社区

备份spfile
run {
allocate channel c1 type disk;
backup spfile tag 'ECOM_spfile' format '/export/home/oracle/oradata/bak_conf/spfile_%t.ora';
release channel c1;
}

copyright Sqlclub



清除联机日志备份
delete copy; 内容来自Sqlclub.cn

/* 如果物理文件被删除,用CROSSCHECK修复 */
crosscheck archivelog all;

Sqlclub

delete noprompt obsolete;

内容来自Sqlclub.cn



列出对应物
list incarnation; 内容来自Sqlclub.cn

概述可用的备份
list backup summary; Sqlclub

按备份类型列出备份
list backup by file;

Sqlclub.cn

列出详细备份
list backup;

本文来自Sqlclub

列出过期备份
list expired backup;

Sqlclub


列出表空间和数据文件备份
list backup of tablespace ;
list backup of datafile;

内容来自Sqlclub.cn

列出归档日志备份
list archivelog all;
list backup of archivelog all; Sqlclub学习社区

列出控制文件和参数文件
list backup of controfile;
list backup of spfile; Sqlclub.cn


检查备份
crosscheck backup;
crosscheck backup of database;
crosscheck backup of tablespace system;
crosscheck backup of controlfile;
crosscheck backup of spfile; 本文来自Sqlclub

删除备份
allocate channel for delete type disk;
change backupset BS Key delete;
delete obsolete; 删除陈旧备份
delete expired backup;
delete backupset id;
delete backup; -- 删除所有备份 本文来自Sqlclub

改变备份集的状态
change backupset id unavailable; -- available

Sqlclub.cn

改为长期备份
change backupset id keep forever logs;
change backupset id keep until time 'sysdate+60' logs;
change backupset id nokeep;

Sqlclub

报告丢弃的备份
report obsolete;
删除丢弃状态的备份
delete obsolete;

Sqlclub.cn

RMAN的crosscheck 命令
  
  1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
   
  2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
  
  3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
  4 示例:

本文来自Sqlclub


   crosscheck backup
   crosscheck backup of datafile 1;
   crosscheck backup of tablespace users;
   crosscheck backup of controfile;
   crosscheck backup of controlfile;
   crosscheck backup tag='SAT_BACKUP';
   crosscheck backup completed after 'sysdate - 2'
   crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
   crosscheck backup device type sbt;
   crosscheck archivelog all;
   crosscheck archivelog like '%ARC00012.001'
   crosscheck archivelog from sequence 12;
   crosscheck archivelog until sequence 522; 内容来自Sqlclub.cn


概述可用的备份
list backup summary;
得到了备份集得主键ID如40
validate backupset 40; 内容来自Sqlclub.cn

命令删除备份集
change backupset ID1,ID2,ID3 delete;
change backuppiece ID1 delete;
change archivelog until logseq=ID1 delete; 本文来自Sqlclub

要查看标记为丢弃的备份
report obsolete;
只有使用
delete obsolete才真正物理删除。

Sqlclub.cn

手工同步恢复目录
resync catalog;

Sqlclub


--查看RMAN的信息
list backup
--列出过期备份
report obsolete;
--删除过期的备份
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change datafilecopy 44 delete;
release channel;
--如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步
resync catalog;
--如果目标数据库reset了数据库,需要用如下命令同步
reset database;
--当手工删除了数据库的归档文件后,要执行以下脚本同步
allocate channel for maintenance type disk;
--allocate channel for delete type disk;
change archivelog all crosscheck;
release channel;
--当手工删除了数据库的RMAN备份后,要执行以下脚本来同步
allocate channel for maintenance type disk;
crosscheck backup;
delete expire backup;
release channel;

内容来自Sqlclub.cn

  内容来自Sqlclub.cn

/////////////////增量备份//////////////
Level 0 是增量备份策略的基础
run {
allocate channel c1 type disk;
backup incremental level 0 filesperset 4 format '/export/home/oracle/oradata/bak_db/sunday_level0_%t'
(database);
release channel c1;
}

本文来自Sqlclub


==================Recovery 恢复==================
0.恢复控制文件(以前必须有过控制文件的备份)
startup nomount
rman target/
connect catalog rman/rman
(数据库在nomount的时候才能set DBID)
set DBID=3287725908

copyright Sqlclub


1.Datafile recovery 数据文件恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore datafile 4;
recover datafile 4;
sql "alter tablespace TB_name online";
release channel c1;
}

Sqlclub.cn


2.Tablespace recovery 表空间恢复
run {
allocate channel c1 type disk;
sql "alter tablespace TB_name offline immediate";
restore tablespace TB_name;
recover tablespace TB_name;
sql "alter tablespace TB_name online";
release channel c1;
} Sqlclub学习社区

如果还原系统表空间文件,数据库必须关闭,因为系统表空间不可以脱机 Sqlclub

=======完全还原(丢失联机日志)并且前滚 - 数据库关闭=======
run {
allocate channel c1 type disk;
set until logseq=105 thread=1;
restore controlfile to '/export/home/oracle/oradata/ECOM/control01.ctl'
replicate controlfile from '/export/home/oracle/oradata/bak_cont/ctrltargdb.ctl' ;
restore database;
sql "alter database mount";
recover database;
sql "alter database open resetlogs";
release channel c1;
}
'set until' 命令指明恢复到指定的日志文件。这一点在数据文件恢复时很重要,否则RMAN将试图恢复最近的数据文件,该数据文件可能在指定的日志以前。
'replicate controlfile' 复制还原的控制文件到INIT.ORA指定的控制文件。
如果数据库使用WITH RESETLOGS打开,则需要使用RESET DATABASE命令注册改变后的数据库。在使用RESETLOGS命令打开数据库后强烈建议做一个完全的数据库备份。

copyright Sqlclub


还原数据文件的子集,完全恢复
run {
allocate channel c1 type disk;
sql "alter database mount";
restore datafile 2;
restore datafile 3;
restore archivelog all;
recover database;
sql "alter database open";
release channel c1;
}

Sqlclub


恢复表空间
startup mount copyright Sqlclub

rman target /
run { allocate channel c1 type disk ; restore tablespace 'TB_NAME';recover tablespace 'TB_NAME';}
或者
run { allocate channel c1 type disk ; restore database ;recover database ;}

Sqlclub学习社区

sqlplus /nolog
alter database open; 本文来自Sqlclub

脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
}

Sqlclub学习社区


replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub

replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前的两个脚本进行数据库备份。

copyright Sqlclub


运行脚本的示范:
run {
execute script backup_db_full;
}

本文来自Sqlclub


查看备份及复制的信息
list backup;
list copy;

Sqlclub.cn


 

copyright Sqlclub

在备份是设置相关参数
format --文件输出格式,
%d--database name, (SID)
%t--tablespace name,
%s--backup sets sequence number,
%p--backup pieces sequence number

Sqlclub学习社区


脚本
create script alloc_disk {
Allocates one disk
allocate channel c1 type disk;
setlimit channel c1 kbytes 2097150 maxopenfiles 32 readrate 200;
} 内容来自Sqlclub.cn

replace script rel_disk {
releases disk
release channel c1;
} copyright Sqlclub

replace script backup_db_full {
execute script alloc_disk;
backup
.....<backup commands here>
execute script rel_disk;
}
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前存储的两个脚本进行数据库备份。 Sqlclub.cn

运行存储脚本的示范:
run {
execute script backup_db_full;
}

分享到:
评论

相关推荐

    oracle rman备份命令的使用

    个人总结的oracle rman备份命令的使用。有例子,可以自己看

    oracle RMAN备份命令

    RMAN备份命令....................

    Oracle rman备份命令

    Oracle数据库恢复备份工具RMAN是非常强大的一个工具,文档中介绍了很详细的rman使用与备份命令,希望对维护Oracle的人有帮助!

    RMAN备份命令详解

    ORACLE RMAN备份命令.一次实际的操作过程,注解比较详细

    一步一步学RMAN oracle备份RMAN使用教程

    三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman恢复(2)恢复到异机 11...

    Oracle_Rman_命令详解.doc

    oracle数据库RMAN备份命令的总结,包含RMAN的备份、恢复的操作以及备份策略的设置

    Oracle之RMAN备份及还原

     在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间  ORACLE RMAN停机备份:  备份  RMAN连接上ORACLE,WINDOWS下在命令模式下  RMAN TARGET /  连接本地数据库用的是本地认证模式。...

    RMAN备份与恢复

    第三篇 RMAN备份基础 4 3.1 RMAN备份形式 4 3.2 RMAN命令执行方式 5 3.3 对数据库进行全备 5 3.4 备份表空间 6 3.5备份指定数据文件 9 3.6 备份控制文件 10 3.7 备份归档日志文件 10 3.8 FORMAT字符串替代变量 12 ...

    oracle_rman增量备份脚本

    Oracle增量备份,最常用的技术,用于数据库性能提高,很多厂家都需要。这是一项DBA最基本的技术,阅读此文档需要掌握shell的基础知识,oracle的基本命令

    oracle rman命令详解

    oracle rman 数据库备份还原命令详解,详细解释数据rman相关参数的含义和用法

    Oracle RMAN技术详解

    RMAN备份技术详解 包括 命令 备份策略 故障恢复等,很实用

    本人亲自编写的所有rman的命令合集【欢迎oracle的fans使用】

    本人亲自编写的所有rman的命令合集【欢迎oracle的fans使用】 不喜欢oracle的勿入

    ORACLE RMAN 简明使用手册

    使用手册基于ORACLE 10gR2版本 ,介绍ORACLE RMAN备份的各种命令,简单明晰,方便实用。

    Oracle实用RMAN命令

    很使用的rman命令,适合初级oracle备份者使用,可满足日常的oracle备份与恢复。

    关于RMAN备份(Oracle).zip【叫我小猫Frank】

    关于RMAN备份(Oracle).zip包含以下2个文档: RMAN备份命令(转摘).txt 数据库Oracle实战RMAN备份.txt ------------ 【提醒】回复留言,系统会归还资源分

    Oracle RMAN 很实用

    Oracle中的RMAN命令详解! Oracle中备份恢复管理很重要的,也是DBA日常工作中的重点之一,请详细看文档!

    oracle RMAN

    三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman恢复(2)恢复到异机 11...

    oracle10g rac环境Rman备份恢复至单机方案

    1、oracle 10g环境为RAC,两个节点; 2、备份方式为rman备份; 3、恢复至oracle 10g单机环境; 4、文档非常全面细致,包含所需要的每一步命令; 5、按照文档进行操作可以达到恢复的目的。

    oracle rman 通用简明使用手册

    它主要是负责解释备份和恢复命令,连接服务器会话执行相关命令,并在控制文件中记录备份恢复活动。 可选组件: ■ flash recovery area:指定的一个磁盘上的位置。在这个位置上,数据库可以存储和管理与备份恢复相关...

Global site tag (gtag.js) - Google Analytics