oracle 备份恢复篇(一)---rman
一,rman介绍
RMAN(Recovery Manager)是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。
二,rman 优点(缺点)
1.优点
(1) 支持增量备份:传统的exp与expdp备份工具,只能实现一个完整备份而不能增量备份,RMAN采用备份级别实现增量备份,在一个完整的备份基础上采用增量备份可以大大减少备份的数量;
(2) 自动管理备份文件:RMAN备份的数据是RMAN自动管理的,包括文件名字,备份文件存储目录等;
(3) 自动化备份与恢复:在备份与恢复操作时,使用简单的指令就可以实现备份与恢复,执行过程完全有RMAN维护。
(4) 不产生重做信息: RMAN联机备份不产生重做信息。
(5) 支持映像复制: 使用RMAN可以实现映像复制,映像以操作系统的文件格式存在,这种复制类似于用户管理的脱机备份方式。
(6) 备份的数据文件压缩处理: RMAN提供一个参数,说明是否对备份文件进行压缩,压缩的备份文件以二进制文件格式存在,可以减少备份文件的存储空间。
(7) 备份文件有效性检查功能: 可以在备份之后恢复检测备份文件是否可用,避免无效恢复操作。
2,缺点
(1)备份过程不透明;
(2)Rman备份的数据只有使用Rman才能恢复;
(3) 如果管理网络上的多个数据库,通常会使用一个单独的数据库来作为Rman恢复目录,如果这个数据库出现故障,那么所作的所有数据库备份也都不能使用,除非恢复这个数据库。那么为了保证这个用于存放Rman恢复目录的数据库出现故障,通常还要对这个数据库使用OS命令备份。
(4) 如果有一个数据库需要备份,那么备份信息会纪录在控制文件中,所以控制文件不许多处备份,不能丢失。
(5) Rman备份不能备份REDO LOG FILES,参数文件(init.ora),口令文件,操作系统文件,以及OFFLINE的文件。
三,rman 名词
Backup sets ( 备份集合).
备份集合有下面的特性:
包括一个或多个数据文件或归档日志
以oracle专有的格式保存
有一个完全的所有的备份片集合构成
构成一个完全备份或增量备份
Backup pieces备份片
一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制,备份集就只由一个备份片构成。备份片的大小不能大于使用的文件系统所支持的文件长度的最大值。
Imagecopies.镜像备份
镜像备份是独立文件(数据文件、归档日志、控制文件)的备份。它很类似操作系统级的文件备份。它不是备份集或备份片,也没有被压缩。
Full backupsets.全备份集合
全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle进行备份集合的压缩。
Incremental backupsets.增量备份集合
增量备份是指备份一个或多个数据文件的自从上一次同一级别的或更低级别的备份以来被修改过的数据块。与完全备份相同,增量备份也进行压缩。
Filemultiplexing.
不同的多个数据文件的数据块可以混合备份在一个备份集中。
Recovery catalogresyncing.恢复目录同步
使用恢复管理器执行backup、copy、restore或者switch命令时,恢复目录自动进行更新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行目录同步。使用resynccatalog命令进行同步。
四,rman 全备脚本
01,单机全备
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!根据自己实际内容做相应修改!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01
export ORACLE_SID=prod
export ORACLE_HOME=/u01/oracle/db_1
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export LANG=en_US
rman target / log /u01/backup/rman_full.log append<<EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
backup database filesperset format '/u01/backup/full_%d_%T_%s_%p';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
}
EOF
02,单机归档备份
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH
rman target / log /u01/backup/rman_arch.log append<<EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
}
EOF
03,RAC全备
run {
allocate channel c1 device type disk connect 'sys/Oracle@rac1';
allocate channel c2 device type disk connect 'sys/Oracle@rac2';
backup database database format '/backup/rmanbak/db_full_%T_%d_%t_%s_%p_bak0';
sql 'alter system archive log current';
backup archivelog all format '/backup/rmanbak/arch_%T_%d_%t_%s_%p_bak0' delete input;
backup current controlfile format '/backup/rmanbak/controlfile_%T_%d_%t_%s_%p_bak';
backup spfile format '/backup/rmanbak/spfile_%T_%d_%t_%s_%p_bak';
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
release channel c1;
release channel c2;
}
五,rman 基础命令查看
01,列出详细备份信息
备份集(Backup Sets),镜像备份(image copies),proxy copies的信息。
list backup;

02,列出信息备份信息:
备份集(Backup Sets),proxy copies信息
list backupset;

03,列出所有数据文件的备份信息
list backup of database;

04,列出特定表空间的所有数据文件备份集

05,列出指定文件的备份信息
查看文件对应的id号.(sql里面查)

查看备份信息

或者直接写文件查看:
list backup of datafile '/data/oradata/prod/system01.dbf';

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

07,列出控制文件信息
list backup of controlfile;

08,查看已备份的归档日志信息
list backup of archivelog all;
09,其他
列出spfile文件信息

RMAN> list backup of archivelog from scn ;
RMAN> list backup of archivelog until scn ;
RMAN> list backup of archivelog from scn until scn ;
RMAN> list backup of archivelog from logseq ;
RMAN> list backup of archivelog until logseq ;
RMAN> list backup of archivelog from logseq until logseq ;
列出所有的归档日志
RMAN> list archivelog all;
列出所有失效的归档日志
RMAN>list expired archivelog all;
列出指定表空间的备份信息
RMAN> list copy of tablespace 'SYSTEM';
列出备份的映像副本信息
#lists only disk copies
RMAN> list copy;
列出过期备份信息(backup sets, proxy copies, and image copies)。
Displays backup sets, proxy copies, and image copies marked in the repository as EXPIRED, that is, "not found."
RMAN> list expired backup;
列出过期备份信息(backup sets, proxy copies)
RMAN> list expired backupset;
按备份类型列出过期备份信息
RMAN> list expired backup by file;
概述可用的备份
RMAN> list backup summary;
概述过期的备份
RMAN> list expired backup summary;
列出某个备份集的信息
RMAN> list backupset 59139;
列出数据文件映像副本
RMAN> list copy of datafile '/u01/oradata/system01.dbf';
列出控制文件的备份信息
RMAN> list backup of controlfile;
列出备份集中TAGE的备份片信息
RMAN> list backupset tage 'TAG20160811T000724'
oracle 备份恢复篇(一)---rman的更多相关文章
- oracle 备份恢复篇(三)---rman spfile的丢失
一,环境准备 1, 拥有全备 数据 2, 查看spfile文件位置 SQL> SQL> SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER ...
- oracle 备份恢复篇(二)---rman 增备恢复--不完全恢复
一,环境准备 全备脚本: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01 export ORACLE_SID=prod expor ...
- oracle 备份恢复篇(五)---rman 剩下控制文件和spfile
一,环境准备 ❤ 拥有全量备份文件
- oracle 备份恢复篇(四)---rman 单个数据文件
一,环境背景
- oracle 备份恢复篇(六)---基于12c的pdb备份与恢复
一,备份前提描述 SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> archive log ...
- Oracle 备份恢复实例
Oracle 备份恢复实例:三思笔记 1 shutdown abort 系统归档模式,有备份 create table xx as select * from emp; update xx set e ...
- Oracle备份恢复简单过程以及中间的坑.
Oracle 冷备: 貌似需要dbca创建一致的oracle instance 服务器配置版本尽量相同,安装路径相同. 关闭Oracle服务 将oracle app 目录下的oradata以及有快速闪 ...
- oracle备份恢复
1.oracle文件备份恢复 /etc/oraInst.loc /etc/oratab /home/oracle 家目录 /oracle 安装目录 /usr/local/bin/dbhome /usr ...
- Actifio中如何分析Oracle备份恢复的报错
场景不同,可以分析的日志不同. 有关oracle备份 (L0/L1) 或者Oracle Log smart backups的日志:UDSAgent.log (on target host locate ...
随机推荐
- Aircrack使用
Aircrack Aircrack-ng 组件功能之一就是采集WEP及WPA-PSK字典并应用无线端口扫描进行破解,具体组件说明如下: aircrack-ng 功能主要是WEP及WPA-PSK密码的恢 ...
- mysql5.6数据库双机热备、主从备份
主题:mysql5.6数据库双机热备.主从备份 缘由: 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询 ...
- window7 Oracle卸载步骤
完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务(或 运行 services.msc) 停止所有Oracle服务.2. 开始->程序-& ...
- Oracle 触发器 删除操作时再查询本表数据 功能不正确
背影如下: 表名,WFGTEST create table WFGTEST ( NAME1 ) not null, NAME2 ), CAPACITY ,) ) 表结构如下: NAME1 NAME2 ...
- Linux 内核list_head 学习
Linux 内核list_head 学习(一) http://www.cnblogs.com/zhuyp1015/archive/2012/06/02/2532240.html 在Linux内核中,提 ...
- StringUtils常用方法介绍
要使用StringUtils类,首先需要导入:import org.apache.commons.lang.StringUtils;这个包 在maven项目中需要添加下面这个依赖: <depen ...
- bitest(位集合)------c++程序设计原理与实践(进阶篇)
标准库模板类bitset是在<bitset>中定义的,它用于描述和处理二进制位集合.每个bitset的大小是固定的,在创建时指定: bitset<4> flags; bitse ...
- kali linux之xss
攻击web客户端 客户端脚本语言(弹窗,广告,在浏览器中执行,javascript) javascript--与java语言无关,使用最广的客户端脚本语言 xss(cross-site scripti ...
- jmeter函数助手(_random、_time)
jmeter函数助手 __random __time yyyyMMddHHmmdd 时间格式(年月日时分秒) 1.打开函数助手对话框,选项->函数助手对话框 2.生成函数字符串 (1)选择功能 ...
- 【转】ASCII码十进制、十六进制对照表
源地址:https://www.baidu.com/link?url=3bScEOF5BVXt7ptGDjBV5JmynXHqEh5lyut1vUx6vEM7qqPY1vtbO22Vvy7xUoFd& ...