前言:

  数据备份的重要性:

  1. 提高系统的高可用性和灾难可恢复性;(在数据库系统崩溃的时候,没有数据库备份怎么办!)
  2. 使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案;(总不能让客户重新填报数据吧!)
  3. 没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段;
  4. 对于DBA来说,最首要也是最重要的任务就是数据库备份

一、 数据库备份的方式和分类:

按照数据库备份对数据库的使用影响来划分:

  • 在线备份(即联机备份或热备份)
  • 离线备份(即脱机备份或冷备份)

说明:在线备份和离线备份最大的不同在于:在线备份数据库时,数据库仍然可以供用户使用,而离线备份数据库则不行。离线备份数据库时,必须断开所有与数据库有连接的应用后才能进行。

按照数据库的备份范围:

  • 全量备份
  • 增量备份

说明:完全备份数据库是指备份数据库中的所有数据,而增量备份只是备份数据库中的部分数据。

二、离线备份和还原

离线备份:

(1) 连接到要备份的数据库

db2inst1@chuhoqi-virtual-machine:~$ db2 connect to orderdb

(2)显示数据库应用状态

db2inst1@chuhoqi-virtual-machine:~$ db2 list applications

(3)停掉数据库所有的应用

db2inst1@chuhoqi-virtual-machine:~$ db2 force applications all

(4)对数据库进行离线状态下的备份

db2inst1@chuhoqi-virtual-machine:~$ db2 backup database orderdb to /home/db2inst1/backup/

注意:指定的备份文件的输出目录必须是已创建的,否则会报错

(5)查看备份历史记录

db2inst1@chuhoqi-virtual-machine:~$ db2 list history backup all for orderdb

离线还原:

(1)停掉数据库应用

db2inst1@chuhoqi-virtual-machine:~$ db2 force applications all

(2)恢复某个时间点的数据

db2inst1@chuhoqi-virtual-machine:~$  db2 restore database orderdb from /home/db2inst1/backup/ taken at 20180615005442

三、在线备份

注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和LOGRETAIN,将其修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档

(1) 设置userexit、logretain参数的状态为on

db2inst1@chuhoqi-virtual-machine:~$ db2 update db cfg for orderdb using userexit on
db2inst1@chuhoqi-virtual-machine:~$ db2 update db cfg for orderdb using logretain on

(2) 连接需要备份的数据库(注意)

  注意:此时由于数据库处于backup pending状态,所以必须做一次离线的全备才可以进行数据库连接。

(3)对数据库进行在线状态下的备份

db2inst1@chuhoqi-virtual-machine:~$ db2 backup database orderdb online to /home/db2inst1/backup

四、增量备份

要指定是否对数据库启用增量备份,需要使用 TRACKMOD 配置参数。这个参数指定数据库管理器是否跟踪数据库修改,以让备份工具能够检测到应该对数据库的哪些部分进行增量备份,并将其包含到备份映像中。

TRACKMOD 配置参数可以使用以下值之一:

  • NO— 禁用增量备份。不跟踪或记录数据库页更新。这是默认值。
  • YES— 启用增量备份。当启用了更新跟踪之后,首次成功连接到数据库之后更改将变得有效。注意,在增量备份对特定表空间执行备份之前,必须对该表空间进行一个完整的备份(下面的例子提供详细 解析)。

下面的例子显示了如何为 SAMPLE 启用增量备份:

DB2 UPDATE DATABASE CONFIGURATION FOR DATABASE_NAME USING TRACKMOD YES

在将 TRACKMOD 设置为 YES 之后,您必须在允许应用程序更改数据之前备份数据库。换句话说,您必须对数据库进行完整的备份,从而为执行增量备份提供一个基准点。此外,如果您随后在数据库中创建了一个新的表空间,那么必须进行包含该表空间的备份。这可以是数据库备份或表空间备份。在备份之后,增量备份就可以包含新的表空间。

(1)修改trackmod参数为yes状态

db2inst1@chuhoqi-virtual-machine:~$ db2 update db cfg for ncc using trackmod yes

(2)离线增量备份

# 在进行增量备份前必须要执行一次全量的离线备份
db2inst1@chuhoqi-virtual-machine:~$ db2 backup database orderdb to /home/db2inst1/backup/
# 离线增量备份
db2inst1@chuhoqi-virtual-machine:~$ db2 backup database orderdb incremental to /home/db2inst1/backup/

(3)在线增量备份

db2inst1@chuhoqi-virtual-machine:~$ db2 backup database orderdb online incremental to /home/db2inst1/backup/

五、恢复(还原)

(1)查看备份历史记录

db2inst1@chuhoqi-virtual-machine:~$ db2 list history backup all for orderdb

(2)停掉数据库应用

db2inst1@chuhoqi-virtual-machine:~$ db2 force applications all

(3)恢复某个时间点的数据

db2inst1@chuhoqi-virtual-machine:~$ db2 restore database orderdb incremental automatic from /home/db2inst1/backup/ taken at 20180615173814

db2数据库的备份与还原的更多相关文章

  1. mysql数据库的备份和还原的总结

    mysql数据库的备份和还原的总结 (来自一运维同事的总结) 1. 备份方式: 热备:数据库在线进行备份,不影响读和写的在线备份方式! 温备:数据库在线进行备份,对表备份时先锁定写操作,仅可以执行读操 ...

  2. sqlserver多文件组数据库的备份和还原实战

    数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创 ...

  3. 如何用SQL语句实现Mysql数据库的备份与还原

    以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...

  4. SQL server 2008数据库的备份与还原、分离(转)

    SQL server 2008数据库的备份与还原.分离(转)   一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Ser ...

  5. SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原

    sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :htt ...

  6. 用分离、附加的方式实现sql server数据库的备份和还原

    一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...

  7. SQL Serever学习12——数据库的备份和还原

    公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...

  8. 【Mongodb】数据库操作--备份、还原、导出和导入

    文章转载自点这里 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. mongo ...

  9. 关于mysql数据库的备份和还原

    在搭建网站的过程中常遇到文件的备份与还原,以备下次再使用 备份: 图中蓝色画线处为备份命令,wordpress为要备份的数据库名,.">"可将结果输出到文件中,/opt/wo ...

随机推荐

  1. MyISAM与InnoDB之间的区别

    区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事 ...

  2. anconda + python 3.6安装(以前的anconda,anaconda和python版本对应关系)

    anconda + python 3.6安装 anaconda + python3.6安装安装老版本带python3.6的anaconda安装老版本带python3.6的anacondaanacond ...

  3. CentOS下Hadoop及ZooKeeper环境搭建

    1. 测试环境 操作系统 CentOS 6.5. 总共5台机器,前两台作为namenode,称之为 nn01.nn02:后三台作为datanode,称为 dn01.dn02.dn03. 每台机器的内存 ...

  4. Jquery Easyui与Jquery Bootstrap的比较

    1.easyui是js框架 :bootstrap 是css框架 ,bootstrap = 样式库 + 一堆jQuery插件,顺便解释一句,如果你只需要bootstrap的样式,你完全不用引入jQuer ...

  5. 学习SpringBoot整合SSM三大框架源码之SpringBoot

    Spring Boot源码剖析 一.Spring Boot 项目的启动入口流程分析 Spring Boot项目的启动入口main线程上有一个@SpringBootApplication( @Confi ...

  6. [MSCOCO] Ubuntu16.04下使用 tylin/coco-caption 评价 MSCOCO Caption(配置,及Demo运行)

    Github链接:https://github.com/tylin/coco-caption Ubuntu版本信息 Linux内核版本号:Linux version 4.15.0-51-generic ...

  7. vim实现批量注释和批量删除注释

    批量注释 1.进入文档,vim test.txt 后,按住ctrl+v进入VISUAL BLOCK模式,上下选择需要注释的行 2.按大写键,再按i,或者直接按shift+i,进入INSERT模式,输入 ...

  8. ”Unstanding the Bias-Variance Tradeoff“主题内容翻译

    对预测模型讨论,预测误差(error)分两类:偏差(bias)造成的误差与方差(variance)造成的误差.最小化偏差与方差的一个权衡.理解这两类误差有利于诊断模型结果和避免过拟合和欠拟合. 偏差与 ...

  9. VC 学习笔记 (持续更新)

    基于windows的程序和基于MS-DOS的程序之间的一个最根本的差别,就在于MS-DOS程序是通过操作系统的功能来获得用户的输入的,而windows程序则是通过操作系统 发送的消息来处理用户输入的. ...

  10. 教程3 -如何与dotmemory内存优化交通

    在本教程中,我们将看到如何使用dotmemory优化你的应用程序的内存使用情况. 我们所说的什么“优化内存使用”?像在任何操作系统的过程中,垃圾收集(GC)消耗系统资源.逻辑很简单:更多的藏品GC已作 ...