我们的RMAN体系

简介:

1、体系:采用LINUX CRONTAB定时计划调用SHELL,执行RMAN

[oracle@DB]$ crontab -l
0 1 * * 0 /u01/bak/rman/script/inc0.sh
0 1 * * 1 /u01/bak/rman/script/inc2.sh
0 1 * * 2 /u01/bak/rman/script/inc2.sh
0 1 * * 3 /u01/bak/rman/script/inc2.sh
0 1 * * 4 /u01/bak/rman/script/inc1.sh
0 1 * * 5 /u01/bak/rman/script/inc2.sh
0 1 * * 6 /u01/bak/rman/script/inc2.sh

2、相关脚本

drwxrwxrwx 2 oracle oinstall 4096 03-10 08:19 log
-rw------- 1 oracle oinstall 4458 03-09 17:37 nohup.out
-rwxrwxrwx 1 oracle oinstall   69 03-09 09:37 connect.rcv
-rwxrwxrwx 1 oracle oinstall   84 03-08 16:17 inc0.rcv
-rwxrwxrwx 1 oracle oinstall  165 03-08 16:17 inc0.sh
-rwxrwxrwx 1 oracle oinstall   84 03-08 16:17 inc1.rcv
-rwxrwxrwx 1 oracle oinstall  163 03-08 16:17 inc1.sh
-rwxrwxrwx 1 oracle oinstall   84 03-08 16:17 inc2.rcv
-rwxrwxrwx 1 oracle oinstall  164 03-08 16:17 inc2.sh

3、inc0.sh内容

export ORACLE_HOME=/home/oracle/product/10.2.0/db_1
nohup $ORACLE_HOME/bin/rman  cmdfile=/u01/bak/rman/script/inc0.rcv log=/u01/bak/rman/script/log/inc0.log append

 4、inc0.rcv 内容

@@/u01/bak/rman/script/connect.rcv
run{
execute global script global_inc0;
}
exit;

5、看看global_inc0是什么
-----是在RMAN中注册的脚本

replace global script global_inc0
comment ' A script for backup database using incremental level 0'
{
 execute global script global_del_obso;
 allocate channel ch1 device type disk;
 set limit channel ch1 readrate=10240;
 set limit channel ch1 kbytes=2048000;
 backup as compressed backupset incremental level 0 database
 format='/u01/bak/rman/inc0_%d_%U'
 tag='Inc0';
 release channel ch1;
 execute global script global_arch;
 execute global script global_bkctl;
}

 global_del_obso又是什么

--创建全局删除废弃备份的脚本
create global script global_del_obso  
comment 'A script for obsolete backup and delete it' {
allocate channel ch1 device type disk;
delete obsolete recovery window of 7 days;  
release channel ch1;
}

======================

再来看看其他注册的脚本

 

create global script global_arch
comment ' A script for archivelog and delete it '
{
   allocate channel ch1 device type disk;
   sql " alter system archive log current";
   set limit channel ch1 readrate=10240;
   set limit channel ch1 kbytes=2048000;
   backup as compressed backupset archivelog all delete input
   format='/u01/bak/rman/arch_%d_%U'
   tag='Archbk';
   release channel ch1;
  }
 

replace global script global_inc1 
comment ' A script for backup database using incremental level 1'
{
 execute global script global_del_obso;
 allocate channel ch1 device type disk;
 set limit channel ch1 readrate=10240;
 set limit channel ch1 kbytes=2048000;
 backup as compressed backupset incremental level 1 database
 format='/u01/bak/rman/inc1_%d_%U'
 tag='Inc1';
 release channel ch1;
 execute global script global_arch;
 execute global script global_bkctl;
}

replace global script global_inc2 
comment ' A script for backup database using incremental level 2'
{
 execute global script global_del_obso;
 allocate channel ch1 device type disk;
 set limit channel ch1 readrate=10240;
 set limit channel ch1 kbytes=2048000;
 backup as compressed backupset incremental level 2 database
 format='/u01/bak/rman/inc2_%d_%U'
 tag='Inc2';
 release channel ch1;
 execute global script global_arch;
 execute global script global_bkctl;
}

replace global script global_bkctl 
comment ' A script for backup crontl file'
{
 allocate channel ch1 device type disk;
 set limit channel ch1 readrate=10240;
 set limit channel ch1 kbytes=2048000;
 backup as compressed backupset
 format='/u01/bak/rman/backupctl_%d_%U.ctl'
 tag='bkctl'
 current controlfile reuse;
 release channel ch1;
}
 

我们可以看看有哪些脚本

RMAN> list global script names;
 

再来关注下其他相关的脚本:

 

    --启用控制文件的自动备份功能

        RMAN> configure controlfile autobackup on;

        RMAN> configure controlfile autobackup format for device type disk to '/u01/bk/rmbk/auto_ctl_%d_%f';

   

    --删除以前的备份

        RMAN> delete noprompt backupset;

   

    --备份前验证归档日志是否存在

        RMAN> crosscheck archivelog all;

       

    --删除无效的归档日志信息

        RMAN> delete noprompt expired archivelog all;

       

    --使用0级增量备份数据库

        RMAN> run { execute global script global_inc0;}

 

    --查看刚刚完成的备份情况

        RMAN> list backupset summary;

        RMAN> list backupset ;

        RMAN> list backup of controlfile ;

        RMAN> list backup of archivelog all;

        RMAN> list backup of database;

        RMAN> list backup of datafile n ;
 


List of Stored Scripts in Recovery Catalog
 
 
    Global Scripts
 
 
       Script Name
       Description
       -----------------------------------------------------------------------
       global_arch
        A script for archivelog and delete it 
 
       global_bkctl
        A script for backup crontl file
 
       global_del_obso
       A script for obsolete backup and delete it
 
       global_inc0
        A script for backup database using incremental level 0
 
       global_inc1
        A script for backup database using incremental level 1
 
       global_inc2
        A script for backup database using incremental level 2
 
RMAN>



本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/511453,如需转载请自行联系原作者

相关文章
|
Java API Maven
一篇文章讲明白Jetty使用教程(一)——开始使用Jetty
一篇文章讲明白Jetty使用教程(一)——开始使用Jetty
992 0
|
程序员 编译器
计算机语言分为三种:机器语言、汇编语言和高级语言
计算机语言分为三种:机器语言、汇编语言和高级语言
3087 0
|
人工智能 数据挖掘 芯片
专访阿里云异构计算负责人:异构计算,GPU、FPGA、ASIC芯片将三分天下
张献涛表示,“随着FPGA的生态环境的建立和完善、ASIC芯片的逐渐成熟,未来异构计算领域会呈现GPU、FPGA、ASIC芯片三分天下的局面,GPU、FPGA、ASIC芯片都会有自己独特的特长和应用领域。”
17265 0
|
22小时前
|
云安全 人工智能 自然语言处理
|
5天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
314 116
|
8天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
562 52
Meta SAM3开源:让图像分割,听懂你的话
|
20天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
5天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。