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 ...
随机推荐
- 数据库(学习整理)----7--Oracle导入导出数据库文件
Oracle导入本地数据库操作手册 1.旧数据库忘记了密码,首先进入cmd:1)输入:sqlplus/nolog2)输入:connect/as sysdba3)输入:alter user sys id ...
- Newtonsoft.Json.Linq
var json = "{\"name\":\"ok1\",\"sex\":\"man\"}"; / ...
- SharePoint Server 2013 Excel Web Access无法显示
环境信息:SharePoint Server 2013 中文版,版本为15.0.4420.1017 Windows Server 2008 r2中文版 Sql Server 2012 问题描述:在Sh ...
- 新手必看,Spring Boot CLI 必会必知
Spring Boot CLI 是什么 Spring Boot CLI 是 Spring Boot Commad Line 的缩写,是 Spring Boot 命令行工具.在 Spring Boot ...
- 如何解决diff: /../Podfile.lock: No such file or directory 的问题
1.问题描述 之前碰到过此类问题,原因是之前用了测试版本的pod,然后回归正式版本,导致找不到pod文件 diff: /../Podfile.lock: No such file or directo ...
- mysql相关的软件
数据库采用mysql,那么问题来了,mysql的部署是采用主备模式?主主模式?集群模式?在然后采取分库.分表模式? 其次:在外围的辅助开源软件的选择mycat?mybatis?keepalived?r ...
- Bootstrap 基本css样式
1.标题1级标题<h1> 38px 是默认大小的2.7倍2级标题<h2> 32px 是默认大小的2.25倍3级标题<h3> 24px 是默认大小的1.70倍4级标题 ...
- php 镜像richarvey/nginx-php-fpm的ngnix配置
1.遇到错误option error_page 405 =200 $request_uri; location ~ ^/(json)/ { # root /data/website/xxxx.com/ ...
- 在makefile通过宏定义来控制源程序的编译
在Makefile中我们可以通过宏定义来控制源程序的编译.只要在Makefile中的CFLAGS中通过选项-D来指定你于定义的宏即可. 如:CFLAGS += -D _XXX在编译的时候加上此选项就可 ...
- java基础(多态)_03
一.多态 1.概念:一个对象的多种形态 2.前提: a:必须有继承 b:必须有重写(只有重写才会有意义,没重写语法没错) 3.体现形式: 父类类型 变量名 = new 子类类型(): 4.注意事项: ...