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备份及恢复步骤相关推荐

  1. MySQL中的备份和恢复

    如何用mysql 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份 进行恢复. mysqldump -u root -p test > test.sql mysql -u ro ...

  2. mysql sql 备份表_SQL语句之备份表

    SELECT INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表 1.全表结构备份: SELECT * INTO new_table_name FROM old_tab ...

  3. mysql中两种备份方法的优缺点_Mysql两种存储引擎的优缺点

    MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...

  4. mysql中的rman备份_oracle数据库 rman基本备份操作

    (1)对数据库进行备份 * 备份数据库 RMAN>BACKUP DATABASE; 注意:也可以指定备份的位置:RMAN> BACKUP DATABASE FORMAT '/data/ba ...

  5. mysql中的rman备份与恢复_RMAN备份与恢复(二)--RMAN常用操作学习

    (1)连接目标数据库 在RMAN中可以建立与目标数据库或恢复目录数据库的连接.与目标数据库连接时,用户须具有sysdba系统权限,以保证可以进行数据库的备份.修复与恢复工作. 可以在操作系统命令提示符 ...

  6. MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原

    大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 本文还参考了:http://blo ...

  7. Winform中使用mysqldump实现选择部分表定期备份mysql数据库

    场景 Winform中实现与Mysql8建立连接并获取所有的表,然后勾选指定的表,定时进行数据库备份导出为sql文件.并且可以设定覆盖备份的次数,比如设置为7,则备份到第8次时就会将第一次备份的sql ...

  8. rman删除7天前备份_RMAN备份

    RMAN备份 rman简介 RMAN(Recovery Manager)是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件.归档日志和控制文件,用来执行完全或不完全的数据库恢 ...

  9. mysql备份一个表到ftp_备份部分mysql表并上传至指定ftp服务器目录中

    防伪码:忘情公子著 前几天领导安排了一个任务,让写一个脚本备份某mysql数据库中的部分表,并要将备份好的文件上传至某ftp服务器中,于是就有了以下的脚本 #!/bin/bash #Filename: ...

最新文章

  1. 设计模式在C语言中的应用--读nginx源码
  2. python发送文件_Python实现基于HTTP文件传输实例
  3. 医院设置(信息学奥赛一本通-T1338)
  4. java注入 named_spring @autowired 如何根据bean(@Service)的name来注入
  5. 中间件 —— 消息中间件(MOM)
  6. 浏览器cookie那些事儿
  7. 蓝桥每日真题之完全平方数
  8. Json扩展 (转)
  9. Linux音频驱动-OSS和ALSA声音系统简介及其比较
  10. 软件质量属性:易用性
  11. 【Python 24】52周存钱挑战4.0(函数)
  12. matlab f检验 f值,excel检验【Excel回归分析中的F检验】
  13. 剪辑器更新-去水印详解
  14. 打开word时显示microsoft visual basic运行时错误没有注册类怎么解决?
  15. NBA球员数据爬虫练习
  16. 11.ARM架构的异常与中断
  17. 利用JS来实现表格的全选、全不选、反选以及删除的功能
  18. 位图(bitset)的使用【STL】
  19. 【定制开发】【M8】推荐一款强大的磁盘清理小工具,专治磁盘爆满(不到1M)
  20. python uiautomation 控件序号_使用python UIAutomation从QQ2016(8.0)群界面获取所有群成员详细资料,...

热门文章

  1. 小森林顺序_电影小森林先看哪部 日韩两版你更心仪哪一部
  2. android服务器打包jar,Android Studio打包apk,aar,jar包方法
  3. EasyTouch5.0.17
  4. 关于word转pdf功能实现
  5. (附源码)计算机毕业设计ssm 大学生心理健康咨询系统
  6. 系列三、机械键盘(IKBC)Win + [D/E]等快捷建失效
  7. 设计模式之单例模式(饿汉式,懒汉式)
  8. 开发四年的Java程序员,你遇到过自身瓶颈期吗?又是怎样度过的?
  9. 整理2-3岁 书推荐
  10. 使用LCD1602显示温度或切换显示时间