前言:

  数据备份的重要性:

  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. 关于比较js中两个对象相等 ==

    “如果两个操作数都是对象,则比较他们是不是同一个对象(引用的对象在内存中的地址一样),如果两个操作数都指向同一个对象,则相等操作符返回true,否则,返回false”. 我做了一个例子 functio ...

  2. Hadoop学习笔记之三 数据流向

    http://hadoop.apache.org/docs/r1.2.1/api/index.html 最基本的: 1. 文本文件的解析 2. 序列文件的解析 toString会将Byte数组中的内存 ...

  3. redis安装-备份-恢复

    1.安装参考:https://www.jb51.net/article/146744.htm 2.安装ruby2.3.3 .gpg2 --keyserver hkp://keys.gnupg.net ...

  4. js模板(template.js)实现页面动态渲染

    template.js是由纯JavaScript编写的第三方模板引擎.点击https://github.com/yanhaijing/template.js可进行下载. 在页头导入模板文件 <s ...

  5. 初识 docker

    一.安装Docker 我使用的是腾讯云上的centos 7. docker -v 查看是否已经安装有docker 如果有 systemctl stop docker 停止docker服务 查看当前版本 ...

  6. webpack-dev-server 导致的 invalid host header

    这几天做的一个项目,在这个项目的 js 方面,我将其分业务和功能的拆分成模块化,然后使用 webpack 来进行打包.(第一次在公司产品中使用 webpack) 然后使用了 webpack-dev-s ...

  7. Guava 工具类之Strings 的使用

    public class StringTest { public static void main(String[] args) { //判断是null还是空字符串 boolean b1 = Stri ...

  8. 快速查看表结构 SQL server查看表注释以及字段注释表结构字段说明

    DECLARE @tableName NVARCHAR(MAX);SET @tableName = N'UserIntegralExchange';   --表名!!! SELECT CASE WHE ...

  9. python-day3(正式学习)

    执行python的两种方式 交互式 优点:运行一句执行一句,方便修改 缺点:关闭即消失,无法保存 命令行式 优点:能一直保存 缺点:代码全部写完才可以调试bug 以后尽量使用pycharm和jupyt ...

  10. 正则表达式BREs,EREs,PREs的比较

    目录 正则表达式BREs,EREs,PREs的比较 正则表达式分类: Linux 中常用文本工具与正则表达式的关系 grep , egrep 正则表达式特点: sed 正则表达式特点 Awk(gawk ...