ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3.备份脚本的组件和注释

2021-12-04 12:01:16  阅读:139  来源: 互联网

标签:文件 一个 备份 注释 组件 rman backup channel


一、基本组件:

  1.Server session:

   服务器会话,服务器上的进程,是真正用来干活的

  2.Channel:

   是一个通道,用来连接数据库与备份的存储介质;

   通道配置选项: 

connect :是一个Oracle Net连接串。一般不适用于单实例环境
format : 为通道创建的备份片或映像副本确定路径与文件名
duration: 控制作业的时间总量,以小时和分钟进行指定
maxopenfiles:该选项限制RMAN一次能够打开的输入文件数,默认为
maxpiecesize:限制一个备份集分割的备份片的大小,以字节(默认)、k、m、g为单位
parms:能够被用于设置sbt_type通道所需的任何变量
filesperset:备份集中可容纳的文件数
backup set: 是一个集合, 是由一个或多个物理文件组成, 是一个逻辑单位.
backup piece: 是真正的一个输出文件, 受到操作系统单个文件的限制, 即 maxpiecesize 这个参数;

   3.backuppiece:

     备份片,表示一个由Rman产生备份的文件,用os工作可以实实在在的看到

   4.backupset:

    备份集,表示进行一次备份所产生的所有备份片集合,是一个逻辑上的概念

    一个数据文件可以跨备份片存在,而不能跨备份集存在 

二、基本作业模板:

   示例1:

RMAN> run
{
allocate channel c1 device type disk maxpiecesize 1500m;
backup database plus archivelog delete all input;
release channel c1;
}

  allocate channel命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O类型

  每个备份片的最大为1500M,超过这个大小就会产生新的备份片,会归档当前的日志,生成一个备份片,删除已备份的归档日志

  然后备份数据文件,生成两个备份片(数据文件2G),再备份当前的spfile和controlfile,生成一个备份片,最后再做一次LOGSWITCH,

  备份归档日志,生成一个备份片,因此可以这样描述,这个备份集包含五个备份片,一个备份片包含文件由FILEsperset指定。

  

  示例2: 

RMAN> run
{
allocate channel c1 device type disk maxpiecesize 1500m;
backup database filesperset 1;
release channel c1;
}

  表示一个备份片中包含一个文件,即使没有达到1500M,也生成新的备份片,如我的有五个数据文件,还有SPFILE和CONTROLFILE一个备份片,一共

  生成六个备份片,如果加上plus archivelog  delete all input 这个备份选项,那FILESPERSET这个参数就会被IGNORE掉。

三、RMAN备份脚本:

  1.全备:

  $cat arch_rman_backup.sh:

source /home/oracle/.bash_profile
rman target / log=/u01/app/script/arch_rman.log<<EOF
run
{
allocate channel ch1 device type disk; 
allocate channel ch2 device type disk;
sql 'alter system archive log current';  
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%U_%d_%T_%t' delete all input;
backup current controlfile format '/backup/ctl_%U_%d_%T_%t';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
#delete noprompt backup of database completed before 'sysdate -7';
#delete noprompt archivelog all;
#delete noprompt backup of archivelog all completed before 'sysdate -7';
release channel ch1;
release channel ch2;
}
EOF

  2.归档日志备份:

  $cat arch_rman_backup.sh

source /home/oracle/.bash_profile
rman target / log=/u01/app/script/arch_rman.log<<EOF
run
{
allocate channel ch1 device type disk; 
allocate channel ch2 device type disk;
sql 'alter system archive log current'; 
#backup database format '/backup/db_%d_%T_%U';
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%U_%d_%T_%t' delete all input;
backup current controlfile format '/backup/ctl_%U_%d_%T_%t';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
#delete noprompt backup of database completed before 'sysdate -7';
#delete noprompt archivelog all;
#delete noprompt backup of archivelog all completed before 'sysdate -7';
release channel ch1;
release channel ch2;
}
EOF

  

  

 

标签:文件,一个,备份,注释,组件,rman,backup,channel
来源: https://www.cnblogs.com/zmc60/p/15641443.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有