精华内容
下载资源
问答
  • 一、单独备份1、经典整库备份:backup as compressed backupset database include current controlfile plus archivelog delete all input;2、tablespace:backup tablespace 名字;3、数据文件:backup datafile n; ...

    一、单独备份1、经典整库备份:backup as compressed backupset database include current controlfile plus archivelog delete all input;

    2、tablespace:backup tablespace 名字;

    3、数据文件:backup datafile n; (n:具体的数据文件编号select file_name,file_id,tablespace_name from dba_data_files;)

    4、控制文件:backup current controlfile;或者backup database include current controlfile;

    5、日志文件:backup archivelog all;或者 database plus archivelog;

    6、参数文件:backup spfile;

    7、全库备份脚本:

    run{

    allocate channel c1 type disk;

    backup full tag ‘dbfull' format ‘/backup/full%u_%s_%p' database

    include current controlfile;

    sql ‘alter system archive log current'; #在数据库进行全备份完成之后,需要执行该条命令将当前日志归档,备份归档日志时应该包括最后生成的归档

    backup filesperset 3 format ‘/backup/arch%u_%s_%p'#filesperset 3设定每个备份集里文件不超过3个

    archivelog all delete input; #备份归档可选,可以单独定期备份

    release channel c1;

    }

    二、增量备份1、0级增量备份

    run{

    allocate channel c1 type disk;

    backup incremental level 0 tag ‘db0' format ‘/backup/db0%u_%s_%p'database

    include current controlfile;  ;

    sql 'alter system archive log current';#在数据库进行全备份完成之后,需要执行该条命令将当前日志归档,备份归档日志时应该包括最后生成的归档

    backup filesperset 3 format ‘/backup/arch%u_%s_%p'#filesperset 3设定每个备份集里文件不超过3个

    archivelog all delete input; #备份归档可选,可以单独定期备份

    release channel c1;

    }

    2、1级备份脚本

    run{

    allocate channel c1 type disk;

    backup incremental level 1 tag ‘db1' format ‘/backup/db1%u_%s_%p'

    database skip readonly include current controlfile;

    backup filesperset 3 format ‘/backup/arch%u_%s_%p'#filesperset设定每个备份集里文件不超过3个

    archivelog all delete input; #备份归档可选,可以单独定期备份

    release channel c1;

    }

    展开全文
  • oracle增量备份脚本

    2021-05-07 03:47:54
    oracle 增量备份脚本OS :RHEL AS 4 oracle 10g0备份脚本#!/bin/bash# incremental level 0 backup scriptsource /home/oracle/.bash_profilecurrent_day=`date +%Y%m%d`mkdir /home/oracle/RMANBACKUP/$current_...

    oracle 增量备份脚本

    OS :RHEL AS 4 oracle 10g

    0备份脚本

    #!/bin/bash

    # incremental level 0 backup script

    source /home/oracle/.bash_profile

    current_day=`date +%Y%m%d`

    mkdir /home/oracle/RMANBACKUP/$current_day

    rman target  / <

    run

    {

    CONFIGURE CONTROLFILE AUTOBACKUP ON;

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/RMANBACKUP/$current_day/PID-%F';

    allocate channel dev1 type disk;

    allocate channel dev2 type disk;

    allocate channel dev3 type disk;

    backup incremental level 0 tag='db0'

    format '/home/oracle/RMANBACKUP/$current_day/%n_%T_%U' database;

    sql 'alter system archive log current';

    backup archivelog all format '/home/oracle/RMANBACKUP/$current_day/arc_%n_%T_%U' delete all input;

    release channel dev1;

    release channel dev2;

    release channel dev3;

    }

    EOF

    1级累积增量脚本

    #!/bin/bash

    # incremental level 1 backup script

    source /home/oracle/.bash_profile

    current_day=`date +%Y%m%d`

    incr_day=incr$current_day

    mkdir /home/oracle/RMANBACKUP/$incr_day

    rman target  / <

    run

    {

    CONFIGURE CONTROLFILE AUTOBACKUP ON;

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/RMANBACKUP/$incr_day/PID-%F';

    allocate channel dev1 type disk;

    allocate channel dev2 type disk;

    allocate channel dev3 type disk;

    backup incremental level 1 cumulative tag='db1'

    format '/home/oracle/RMANBACKUP/$incr_day/%n_%T_%U' database;

    sql 'alter system archive log current';

    backup archivelog all format '/home/oracle/RMANBACKUP/$incr_day/arc_%n_%T_%U' delete all input;

    release channel dev1;

    release channel dev2;

    release channel dev3;

    }

    EOF

    每天RMAN出来的backup set集合到一个文件夹下面

    展开全文
  • 一、增量备份脚本0级备份脚本:红色部分为自定义的备份文件放置的目录#script.:BackupFull.sh#creater:xyh#date:2014-03-08#desc:backup full database datafile in archive with rman#connect databaseexport ...

    一、增量备份脚本

    0级备份脚本:红色部分为自定义的备份文件放置的目录

    #script.:BackupFull.sh

    #creater:xyh

    #date:2014-03-08

    #desc:backup full database datafile in archive with rman

    #connect database

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_SID=orcl

    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

    export PATH=$ORACLE_HOME/bin:$PATH

    rman target/ << EOF_RMAN

    run{

    allocate channel c1 type disk;

    backup incremental level 0 tag 'db0' format

    '/home/oracle/RmanBackup/db0_%d_%T_%s' database include current controlfile;

    sql 'alter system archive log current';

    backup filesperset 5 format '/home/oracle/RmanBackup/cf0_%d_%T_%s' archivelog all delete input;

    #filesperset 5表示备份集里面最多包含5个文件

    delete noprompt obsolete;

    release channel c1;

    }

    # end

    1级备份脚本

    #script.:Incrl.sh

    #creater:xyh

    #date:2014-03-08

    #desc:backup full database datafile in archive with rman

    #connect database

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_SID=orcl

    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

    export PATH=$ORACLE_HOME/bin:$PATH

    rman target/ << EOF_RMAN

    run{

    allocate channel c1 type disk;

    backup incremental level 1 tag 'db1' format

    '/home/oracle/RmanBackup/db1_%d_%T_%s' database include current controlfile;

    sql 'alter system archive log current';

    backup filesperset 5 format '/home/oracle/RmanBackup/cf1_%d_%T_%s' archivelog all delete input;

    #filesperset 5表示备份集里面最多包含5个文件

    delete noprompt obsolete;

    release channel c1;

    }

    #end

    二、使用linux的crontab设置自动执行备份

    crontab -e

    按Enter后,可以像vi编辑器一样输入下面内容

    0 1 * * 0 /home/oracle/BackupFull.sh >>/home/oracle/BackupFull.log

    0 1 * * 3 /home/oracle/BackupFull.sh >>/home/oracle/BackupFull.log

    30 1 * * 1-2 /home/oracle/Incrl.sh >>/home/oracle/Incr.log

    30 1 * * 4-6 /home/oracle/Incrl.sh >>/home/oracle/Incr.log

    查看crontab内容:crontab -l

    注:上面意思是把全库备份日志写到/home/oracle/BackupFull.log文件中,而增量备份日志写到/home/oracle/Incr.log中

    周日和周三凌晨1:00执行0级全库备份,周一、二、四、五、六凌晨1:30执行增量备份

    展开全文
  • 适合对象 本文是在linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本.本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份...脚本描述每7天备份一次所有数...

    适合对象  本文是在linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本.

    本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份策略或者需要修改相关参数.

    每个人的备份策略都可能不同,所以请根据实际情况修改,做到举一反三,不要照搬照抄,可能会造成不必要的损失.

    希望你明白这个脚本要干什么工作!

    脚本描述

    每7天备份一次所有数据,每天备份binlog,也就是增量备份.

    (如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)

    作者对shell脚本不太熟悉,所以很多地方写的很笨 :)

    开启 bin log

    在mysql 4.1版本中,默认只有错误日志,没有其他日志.可以通过修改配置打开bin log.方法很多,其中一个是在/etc/my.cnf中的mysqld部分加入:

    [mysqld]

    log-bin

    这个日志的主要作用是增量备份或者复制(可能还有其他用途).

    如果想增量备份,必须打开这个日志.

    对于数据库操作频繁的mysql,这个日志会变得很大,而且可能会有多个.

    在数据库中flush-logs,或者使用mysqladmin,mysqldump调用flush-logs后并且使用参数delete-master-logs,这些日志文件会消失,并产生新的日志文件(开始是空的).

    所以如果从来不备份,开启日志可能没有必要.

    完整备份的同时可以调用flush-logs,增量备份之前flush-logs,以便备份最新的数据.

    完整备份脚本

    如果数据库数据比较多,我们一般是几天或者一周备份一次数据,以免影响应用运行,如果数据量比较小,那么一天备份一次也无所谓了.

    下载假设我们的数据量比较大,备份脚本如下:(参考过网络上一个mysql备份脚本,致谢 :))

    #!/bin/sh

    # mysql data backup script

    # by scud http://www.jscud.com

    # 2005-10-30

    #

    # use mysqldump --help,get more detail.

    #

    BakDir=/backup/mysql

    LogFile=/backup/mysql/mysqlbak.log

    DATE=`date +%Y%m%d`

    echo " " >> $LogFile

    echo " " >> $LogFile

    echo "-------------------------------------------" >> $LogFile

    echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile

    echo "--------------------------" >> $LogFile

    cd $BakDir

    DumpFile=$DATE.sql

    GZDumpFile=$DATE.sql.tgz

    mysqldump --quick --all-databases --flush-logs

    --delete-master-logs --lock-all-tables

    > $DumpFile

    echo "Dump Done" >> $LogFile

    tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1

    echo "[$GZDumpFile]Backup Success!" >> $LogFile

    rm -f $DumpFile

    #delete previous daily backup files:采用增量备份的文件,如果完整备份后,则删除增量备份的文件.

    cd $BakDir/daily

    rm -f *

    cd $BakDir

    echo "Backup Done!"

    echo "please Check $BakDir Directory!"

    echo "copy it to your local disk or ftp to somewhere !!!"

    ls -al $BakDir        上面的脚本把mysql备份到本地的/backup/mysql目录,增量备份的文件放在/backup/mysql/daily目录下.

    注意:上面的脚本并没有把备份后的文件传送到其他远程计算机,也没有删除几天前的备份文件:需要用户增加相关脚本,或者手动操作.

    增量备份

    增量备份的数据量比较小,但是要在完整备份的基础上操作,用户可以在时间和成本上权衡,选择最有利于自己的方式.

    增量备份使用bin log,脚本如下:

    #!/bin/sh

    #

    # mysql binlog backup script

    #

    /usr/bin/mysqladmin flush-logs

    DATADIR=/var/lib/mysql

    BAKDIR=/backup/mysql/daily

    ###如果你做了特殊设置,请修改此处或者修改应用此变量的行:缺省取机器名,mysql缺省也是取机器名

    HOSTNAME=`uname -n`

    cd $DATADIR

    FILELIST=`cat $HOSTNAME-bin.index`

    ##计算行数,也就是文件数

    COUNTER=0

    for file in $FILELIST

    do

    COUNTER=`expr $COUNTER + 1 `

    done

    NextNum=0

    for file in  $FILELIST

    do

    base=`basename $file`

    NextNum=`expr $NextNum + 1`

    if [ $NextNum -eq $COUNTER ]

    then

    echo "skip lastest"

    else

    dest=$BAKDIR/$base

    if(test -e $dest)

    then

    echo "skip exist $base"

    else

    echo "copying $base"

    cp $base $BAKDIR

    fi

    fi

    done

    echo "backup mysql binlog ok"         增量备份脚本是备份前flush-logs,mysql会自动把内存中的日志放到文件里,然后生成一个新的日志文件,所以我们只需要备份前面的几个即可,也就是不备份最后一个.

    因为从上次备份到本次备份也可能会有多个日志文件生成,所以要检测文件,如果已经备份过,就不用备份了.

    注:同样,用户也需要自己远程传送,不过不需要删除了,完整备份后程序会自动生成.

    访问设置

    脚本写完了,为了能让脚本运行,还需要设置对应的用户名和密码,mysqladmin和mysqldump都是需要用户名和密码的,当然可以写在脚本中,但是修改起来不太方便,假设我们用系统的root用户来运行此脚本,那么我们需要在/root(也就是root用户的home目录)创建一个.my.cnf文件,内容如下

    [mysqladmin]

    password =password

    user= root

    [mysqldump]

    user=root

    password=password

    注:设置本文件只有root可读.(chmod 600 .my.cnf )

    此文件说明程序使用mysql的root用户备份数据,密码是对应的设置.这样就不需要在脚本里写用户名和密码了.

    自动运行      为了让备份程序自动运行,我们需要把它加入crontab.      有2种方法,一种是把脚本根据自己的选择放入到/etc/cron.daily,/etc/cron.weekly这么目录里.   一种是使用crontab -e放入到root用户的计划任务里,例如完整备份每周日凌晨3点运行,日常备份每周一-周六凌晨3点运行.      具体使用,请参考crontab的帮助.

    展开全文
  • @set DAY=%date:~12,13% @REM 0级备份就是进行全库备份,level 1就是备份level 0后改变的数据,level 2就是备份level 1或level 0后改变的数据 @REM 如果前一个备份是level 1那么就备份这之后修改的数据,如果前个...
  • 保障数据安全不仅需要从应用层,网络层来进行防护,对于数据的物理备份也是必不可少。MySQL数据库自带mysqldump备份工具,此工具个人认为适合于数据量小,且业务受短时间影响没有太关系的业务。但如...
  • level 1就是备份level 0后改变的数据,level 2就是备份level 1或level 0后改变的数据 @REM 如果前一个备份是level 1那么就备份这之后修改的数据,如果前个备份是level 0那么就备份level 0后的数据 @echo ==== ...
  • 数据库7x24小时不间断运行,并不能保证100%的可靠,如果数据库出现无法恢复的故障,保证业务正常运行就要提前做好措施...MySQL备份常用是shell脚本+crontab计划任务来实现创建两个目录和一个文件:/data/backup #...
  • rman及catalog运行于linux,target数据库运行于windows,...备份策略数据库用于OLTP系统,容量中等,全库接近400G,但有大约200G的数据是不变化只用于查询的,将其表空间置于read only模式,备份时可以忽略这些数据。其他...
  • 本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份策略或者需要修改相关参数. 每个人的备份策略都可能不同,所以请根据实际情况修改,做到举一反三,不要照搬照抄,可能会造成不必要的损失. ...
  • 1、脚本名称是rman_bk_0.sh 此脚本是数据库全备脚本 设定一周执行一次set ORACLE_BASE=/oracle (设定 oracle的 安装基目录)set ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1set ORA_CRS_HOME=$ORACLE_BASE/product...
  • linux自动运行rman增量备份脚本一、增量备份脚本0级备份脚本:红色部分为自定义的备份文件放置的目录#script.:BackupFull.sh#creater:xyh#date:2014-03-08#desc:backup full database datafile in archive with rman...
  • Linux ORCLE数据库增量备份脚本更新时间:2009年11月20日 17:57:19 作者:Linux下ORCLE数据库增量备份脚本 (基础篇) ,需要的朋友可以参考下。ORCLE数据库备份策略1.通过使用exp和imp命令实现数据库导出和导入。有三...
  • RMAN 增量备份 脚本

    2021-05-06 05:32:03
    ####################################################################rman_backup.sh####createdbycndba.cn####2016-1-11#########...
  • 序你是否在寻找一个MySQL备份脚本?适合对象本文是在Linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本.本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份...
  • 脚本描述每7天备份一次所有数据,每天备份binlog,也就是增量备份.(如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)作者对shell脚本不太熟悉,所以很多地方写的很笨 :)开启 bin log在mysql 4.1版本中,默认...
  • linux增量备份脚本

    2021-05-18 02:20:25
    云服务器备份 CSBS云服务器备份(Cloud Server Backup Service)为云服务器下所有云硬盘创建一致性在线备份,无需关机。针对病毒入侵、人为误删除、软硬件故障等场景,可将数据恢复到任意备份点¥0.268¥0.2/GB/月云...
  • mysql全量备份和增量备份脚本

    千次阅读 2021-11-19 00:09:41
    一、全量备份 ,每周一次 cat allbak.sh #!/bin/bash # 备份时间 Now=$(date +"%Y%m%d%H%M%S") # 备份目录 BakDir=/data/backup/allbak if [ ! -d $BakDir ] then mkdir -p $BakDir chown -Rf mysql:mysql $...
  • 做运维这个工作,mysql备份是必不可少的,下面分享下我在使用的全量备份、增量备份脚本,供大家参考。mysqldump增量备份配置执行增量备份的前提条件是MySQL打开binlog日志功能查找mysql的配置文件my.cnffind / -name...
  • 1 [root@mysql-backup-192.168.4.2 scripts]$ cat xtrabackup.sh2 #!/bin/bash3 # MySQL backup script4 # https://github.com/gregorystorme/autoxtrabackup5 # Copyright (c) 2014Gregory Storme6 # Version: 0.27...
  • mysql增量备份脚本

    2021-01-28 01:32:44
    /bin/sh################################ 此脚本用来增量备份# 此文件名:mysqldailybackup.sh## Author: zhangrox# mail: hienha@163.com# create: 2013/06/29## 每个星期一到六早上3点做一次增量备份(加 &...
  • oracle 增量备份脚本

    2021-05-07 03:47:37
    OS :RHEL AS 4 oracle 10g0备份脚本#!/bin/bash# incremental level 0 backup scriptsource /home/oracle/.bash_profilecurrent_day=`date +%Y%m%d`mkdir /home/oracle/RMANBACKUP/$current_dayrman target / <...
  • 转自cu的squall1的脚本,原文:http://bbs3.chinaunix.net/viewth ...%3Bfilter%3D2592000mysql增量备份脚本:CODE:# 先用dos2unix转换下格式。.../bin/bash# mysql增量备份脚本cd /backupdateDIR=`date +"...
  • 企业完全备份脚本[root@client ~]# vim /opt/mysql_bak_wanbei.sh#!/bin/bash#MySQL数据库完全备份脚本#设置登录变量MY_USER="root"MY_PASS="123456"MY_HOST="localhost"MY_CONN="-u$MY_USER -p$MY_PASS -h$MY_HOST...
  • 实现mysqlldump+binlog日志全量备份和增量备份脚本#!/bin/bash############################################################################################ @programe : backup_mysql.sh# @version : 0.0.3# @...
  • python mongodb增量备份脚本首先,需要搭建mongodb副本集,才能进行增量备份,此过程略过本人的构想是每天进行一次备份,这次备份是全量备份还是增量备份取决于最后一次全量备份的时间节点的日志是否已被覆盖(因为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,674
精华内容 11,869
关键字:

增量备份脚本