前言:

  数据备份的重要性:

  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. cv2.bitwise_and的应用,

    import cv2 import numpy as np Load two images img1 = cv2.imread('messi.png') img2 = cv2.imread('logo ...

  2. ansible实践

    ansible常用module ansible-doc -l List available modules -s Show playbook snippet for specified module( ...

  3. eclipse运行mapreduce的wordcount

    1,eclipse安装hadoop插件 插件下载地址:链接: https://pan.baidu.com/s/1U4_6kLFNiKeLsGfO7ahXew 提取码: as9e 下载hadoop-ec ...

  4. 日志.VC

    1. int WriteLog(char* _pcFullFileName, char* _pcWrite, int _iWriteLen, unsigned long * _pdwWritten) ...

  5. vue 页面 添加背景音乐

    背景音乐 添加背景音乐 并有单击事件   循环播放 <template> <div id="page"> <div style="width ...

  6. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

  7. kafka producer consumer demo(三)

    我们在前面把集群搭建起来了,也设置了kafka broker的配置,下面我们用代码来实现一下客户端向kafka发送消息,consumer端从kafka消费数据.大家先不要着急着了解 各种参数的配置,先 ...

  8. shell备份脚本

    #!/bin/bash #不存在的变量终止脚本执行 set -o nounset #执行出错终止脚本执行 set -o errexit #递归列出文件的绝对路径并执行压缩 delDir=`date - ...

  9. 1.3.1 Lock接口及其实现

    1.锁的本质 2.Lock接口使用ReentrenLock 3.读写锁使用 4.读写锁实现 Lock接口方法 有点意思的是lockInterruptibly(), 只要没有获取到锁就会一直等待,直到某 ...

  10. 级联-city

    <!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <title> ...