rman是最经济实惠的oracle备份工具,在这里做一个rman的整体学习。
文章中大多是rman命令的语法,还是最好做做实验,以便印象深刻,因为大多数数据库的备份就是按时跑脚本,恢复也不是经常能遇到,时间长了就会生疏,多多复习吧。
[terry笔记]RMAN综合学习之备份http://www.cnblogs.com/kkterry/p/3308405.html
[terry笔记]RMAN综合学习之恢复 http://www.cnblogs.com/kkterry/p/3308407.html
[terry笔记]RMAN综合学习之配置 http://www.cnblogs.com/kkterry/p/3308409.html
一、rman如何连接:
连接本地:rman target /
连接远程:rman target sys/[email protected]
小技巧:
在rman中也可以关闭/开启数据库:shutdown immediate/startup
rman支持host命令暂时退出到系统层,在系统层exit再进入rman
在rman中执行sql语句:sql ‘alter system Archive log all‘;
二、备份方式
1.备份方式分:镜像和备份集,镜像备份约等于在系统层复制粘贴,在这里就不讨论了。
2.命令执行方式:
1)RMAN>backup database; 2)RMAN>run{…}; 3)rman target / @backup.sql 4)rman target / cmdfile=backup.sql 5)RMAN>@backup.sql
三、备份命令:
1.备份数据库:
1)backup database; /*备份整个数据库。*/ 2)backup database format ‘/backup/back_%U‘; /*加上format参数,即可自定义路径和命名方式。*/ 3)list backup of database; /*查看备份信息。*/ 4)delete backupset x; /*删除某个备份集,会给出删除确认提示,如果不希望有提示加上noprompt。*/
2.备份控制文件:
1)backup current controlfile; 2)backup database include current controlfile; 3)configure controlfile autobackup on; 4)list backup of controlfile;
3.备份归档文件:
1)backup archivelog all; 2)backup current controlfile plus archivelog; 3)backup archivelog all delete all input; /*加上delete all input参数,备份完后自动删除归档。*/
4.备份参数文件:
1)backup spfile;
5.对备份集进行备份:可以把备份集备份到其他磁盘或磁带。
1)backup backupset all delete all input; 2)backup backupset n,n,n delete all input;
四、增量备份(不显示指定,默认为differential模式,还有cumulative模式)
1)backup incremental level 0 database; 2)backup incremental level 1 database format ‘/backup/backup_1/%d_%s_%p_%u_%T_1.dmp‘; /*如果数据库很大,增量备份可以开启块跟踪。不过不开块跟踪,那么rman会把所有数据库读一遍再进行增量备份。 */ select status from v$block_change_tracking; alter database disable block change tracking; alter database enable block change tracking using file ‘/xxx/xxx‘; /*如果使用了OMF(oracle-managed file),则会自动创建块跟踪文件。*/
五、rman备份冗余策略(基于时间或者基于冗余数量,二选一)
configure retention policy to recovery window of n days; /*基于时间*/ configure retention policy to redundancy n; /*基于冗余数量*/ configure retention policy to none; /*恢复默认*/
时间: 2024-10-07 16:31:16