mysql中的rman备份_RMAN优缺点及RMAN备份及恢复步骤
RMAN优缺点及RMAN备份及恢复步骤
--以下部分来自网络转摘,仅供参考
和OS命令备份方式相比,使用RMAN的优点
1 备份执行期间不需要人工干预,因此减少了误操作的机会;
2 可以有效的将备份和恢复结合起来;
3 支持除逻辑备份以外的所有备份类型,包括完全备份,增量备份,表空间备份,数据文件备份,控制文件备份以及归档日志文件备份;
4 可以识别corrupted block;
5 方便的实现定期(定时)备份;
6 自动生成备份日志;
7 Rman的备份教本和OS无关,方便移植;
8 强大的报表功能可以方便的获悉备份的可用性
9 控制文件自动备份
10 skip inaccessible语句存在RMAN命令中,是指RMAN按顺序备份数据文件和归档日志时,如果缺少中间的一个或发生了IO问题,可以跳过去继续备份的,弊大与利的,如果你的备份会报错,不能保证你的备份集是可恢复的。
11 system表空间会连带controlfile的备份
其中
a、控制文件自动备份是每次如下情况rman会自动备份controlfile
1、每次rman发出backup或是copy命令
2、run batch中包含backup或是copy命令
3、源数据加structure发改变,比如加数据文件、加表空间等
controlfile的autobackup是绝对要打开的,相当有用的9i的一个new feature你只需要安心的备份就要可以了,controlfile rman自动就给你备了。
b、system表空间会连带controlfile的备份:
1、如果controlfile损坏了呢,autobackup就为你恢复这种情况下rman的catalog提供了一个很好的“稻草”。
2、autobackup自动备的不光是controlfile,还会备份当前的spfile。
3、对于备份来说是不怕冗余的,而且特别是controlfile占不了多少K的情况下。
和OS命令备份方式相比,使用RMAN的缺点
1 备份过程不透明;
2 Rman备份的数据只有使用Rman才能恢复;
3 如果管理网络上的多个数据库,通常会使用一个单独的数据库来作为Rman恢复目录,如果这个数据库出现故障,那么所作的所有数据库备份也都不能使用,除非恢复这个数据库。那么为了保证这个用于存放Rman恢复目录的数据库出现故障,通常还要对这个数据库使用OS命令备份。
4 如果有一个数据库需要备份,那么备份信息会纪录在控制文件中,所以控制文件不许多处备份,不能丢失。
5 Rman备份不能备份REDO LOG FILES,参数文件(init.ora),口令文件,操作系统文件,以及OFFLINE的文件。
注意:RMAN不能用于备份初始化参数文件和口令文件。学习有点费时。
二. Oracle9i RMAN 备份及恢复步骤
在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。
1、切换服务器归档模式,如果已经是归档模式可跳过此步:
%sqlplus /nolog (启动sqlplus)
SQL> conn / as sysdba (以DBA身份连接数据库)
SQL> shutdown immediate; (立即关闭数据库)
SQL> startup mount (启动实例并加载数据库,但不打开)
SQL> alter database archivelog; (更改数据库为归档模式)
SQL> alter database open; (打开数据库)
SQL> alter system archive log start; (启用自动归档)
SQL> exit (退出)
2、连接:
%rman target=rman/rman@mydb (启动恢复管理器)
3、基本设置:
RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)
RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)
RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)
RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式)
4、查看所有设置:
RMAN> show all
5、查看数据库方案报表:
RMAN> report schema;
6、备份全库:
RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)
7、备份表空间:
RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)
8、备份归档日志:
RMAN> backup archivelog all delete input;
9、复制数据文件:
RMAN> copy datafile 1 to '/oracle/dbs/system.copy';
10、查看备份和文件复本:
RMAN> list backup;
11、验证备份:
RMAN> validate backupset 3;
12、从自动备份中恢复服务器参数文件:
RMAN> shutdown immediate; (立即关闭数据库)
RMAN> startup nomount; (启动实例)
RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup; (从自动备份中恢复服务器参数文件)
13、从自动备份中恢复控制文件:
RMAN> shutdown immediate; (立即关闭数据库)
RMAN> startup nomount; (启动实例)
RMAN> restore controlfile to '/backup1' from autobackup; (从自动备份中恢复控制文件)
13、恢复和复原全数据库:
RMAN> shutdown immediate; (立即关闭数据库)
RMAN> exit (退出)
%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (将数据文件重命名)
%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (将数据文件重命名)
%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (将数据文件重命名)
%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (将数据文件重命名)
%rman target=rman/rman@mydb (启动恢复管理器)
RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora (指定初始化参数文件启动数据库)
RMAN> restore database; (还原数据库)
RMAN> recover database; (恢复数据库)
RMAN> alter database open; (打开数据库)
14、恢复和复原表空间:
RMAN> sql 'alter tablespace users offline immediate'; (将表空间脱机)
RMAN> exit (退出恢复管理器)
%mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (将表空间重命名)
%rman target=rman/rman@mydb (启动恢复管理器)
RMAN> restore tablespace users; (还原表空间)
RMAN> recover tablespace users; (恢复表空间)
RMAN> sql 'alter tablespace users online'; (将表空间联机)
15、增量备份与恢复:
第一天的增量基本备份:
RMAN> backup incremental level=0 database plus archivelog delete input;
第二天的增量差异备份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第三天的增量差异备份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第四天的增量差异备份:
RMAN> backup incremental level=1 database plus archivelog delete input;
第五天的增量差异备份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第六天的增量差异备份:
RMAN> backup incremental level=2 database plus archivelog delete input;
第七天的增量差异备份:
RMAN> backup incremental level=0 database plus archivelog delete input;
16、增量恢复:
RMAN> shutdown immediate;
RMAN> exit
%mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak
%mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak
%mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak
%mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak
%rman target=rman/rman@mydb
RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open;
验证rman备份是否有效
http://www.eygle.com/archives/2010/01/rman_validate_backup.html
验证控制文件和参数文件:
RMAN> restore validate controlfile;
RMAN> restore validate spfile;
验证全备份一般会很慢,谨慎试验:
RMAN> restore validate database;
自己编写脚本,定时执行验证
rman target / nocatalog log=/rman/validate/rman_db_validate.log<
restore validate database;
exit
EOF
(Rman全库0级压缩备份脚本 记录一下自己备用)
rman target / nocatalog log=/rman/log/rman_db_level0.log <
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
backup as compressed backupset incremental level 0 database filesperset 4 format
'/rman/data/level0_%d_%s_%p_%u_%T.bak' include current controlfile;
sql 'alter system archive log current';
backup archivelog all filesperset 10 format '/rman/arch/arc_%d_%s_%p_%u_%T.bak'
delete all input;
release channel d1;
release channel d2;
release channel d3;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
}
exit
EOF
mysql中的rman备份_RMAN优缺点及RMAN备份及恢复步骤相关推荐
- MySQL中的备份和恢复
如何用mysql 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份 进行恢复. mysqldump -u root -p test > test.sql mysql -u ro ...
- mysql sql 备份表_SQL语句之备份表
SELECT INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表 1.全表结构备份: SELECT * INTO new_table_name FROM old_tab ...
- mysql中两种备份方法的优缺点_Mysql两种存储引擎的优缺点
MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...
- mysql中的rman备份_oracle数据库 rman基本备份操作
(1)对数据库进行备份 * 备份数据库 RMAN>BACKUP DATABASE; 注意:也可以指定备份的位置:RMAN> BACKUP DATABASE FORMAT '/data/ba ...
- mysql中的rman备份与恢复_RMAN备份与恢复(二)--RMAN常用操作学习
(1)连接目标数据库 在RMAN中可以建立与目标数据库或恢复目录数据库的连接.与目标数据库连接时,用户须具有sysdba系统权限,以保证可以进行数据库的备份.修复与恢复工作. 可以在操作系统命令提示符 ...
- MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原
大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 本文还参考了:http://blo ...
- Winform中使用mysqldump实现选择部分表定期备份mysql数据库
场景 Winform中实现与Mysql8建立连接并获取所有的表,然后勾选指定的表,定时进行数据库备份导出为sql文件.并且可以设定覆盖备份的次数,比如设置为7,则备份到第8次时就会将第一次备份的sql ...
- rman删除7天前备份_RMAN备份
RMAN备份 rman简介 RMAN(Recovery Manager)是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件.归档日志和控制文件,用来执行完全或不完全的数据库恢 ...
- mysql备份一个表到ftp_备份部分mysql表并上传至指定ftp服务器目录中
防伪码:忘情公子著 前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本 #!/bin/bash #Filename: ...
最新文章
- 设计模式在C语言中的应用--读nginx源码
- python发送文件_Python实现基于HTTP文件传输实例
- 医院设置(信息学奥赛一本通-T1338)
- java注入 named_spring @autowired 如何根据bean(@Service)的name来注入
- 中间件 —— 消息中间件(MOM)
- 浏览器cookie那些事儿
- 蓝桥每日真题之完全平方数
- Json扩展 (转)
- Linux音频驱动-OSS和ALSA声音系统简介及其比较
- 软件质量属性:易用性
- 【Python 24】52周存钱挑战4.0(函数)
- matlab f检验 f值,excel检验【Excel回归分析中的F检验】
- 剪辑器更新-去水印详解
- 打开word时显示microsoft visual basic运行时错误没有注册类怎么解决?
- NBA球员数据爬虫练习
- 11.ARM架构的异常与中断
- 利用JS来实现表格的全选、全不选、反选以及删除的功能
- 位图(bitset)的使用【STL】
- 【定制开发】【M8】推荐一款强大的磁盘清理小工具,专治磁盘爆满(不到1M)
- python uiautomation 控件序号_使用python UIAutomation从QQ2016(8.0)群界面获取所有群成员详细资料,...
热门文章
- 小森林顺序_电影小森林先看哪部 日韩两版你更心仪哪一部
- android服务器打包jar,Android Studio打包apk,aar,jar包方法
- EasyTouch5.0.17
- 关于word转pdf功能实现
- (附源码)计算机毕业设计ssm 大学生心理健康咨询系统
- 系列三、机械键盘(IKBC)Win + [D/E]等快捷建失效
- 设计模式之单例模式(饿汉式,懒汉式)
- 开发四年的Java程序员,你遇到过自身瓶颈期吗?又是怎样度过的?
- 整理2-3岁 书推荐
- 使用LCD1602显示温度或切换显示时间