db2数据库的备份与还原
前言:
数据备份的重要性:
- 提高系统的高可用性和灾难可恢复性;(在数据库系统崩溃的时候,没有数据库备份怎么办!)
- 使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案;(总不能让客户重新填报数据吧!)
- 没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段;
- 对于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数据库的备份与还原的更多相关文章
- mysql数据库的备份和还原的总结
mysql数据库的备份和还原的总结 (来自一运维同事的总结) 1. 备份方式: 热备:数据库在线进行备份,不影响读和写的在线备份方式! 温备:数据库在线进行备份,对表备份时先锁定写操作,仅可以执行读操 ...
- sqlserver多文件组数据库的备份和还原实战
数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创 ...
- 如何用SQL语句实现Mysql数据库的备份与还原
以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...
- SQL server 2008数据库的备份与还原、分离(转)
SQL server 2008数据库的备份与还原.分离(转) 一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Ser ...
- SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原
sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :htt ...
- 用分离、附加的方式实现sql server数据库的备份和还原
一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...
- SQL Serever学习12——数据库的备份和还原
公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...
- 【Mongodb】数据库操作--备份、还原、导出和导入
文章转载自点这里 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. mongo ...
- 关于mysql数据库的备份和还原
在搭建网站的过程中常遇到文件的备份与还原,以备下次再使用 备份: 图中蓝色画线处为备份命令,wordpress为要备份的数据库名,.">"可将结果输出到文件中,/opt/wo ...
随机推荐
- maven编译正常,运行报错:中没有主清单属性
在pom.xml添加插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&g ...
- 关于运维之故障复盘篇-Case Study
关于故障的事后复盘,英文名 Case Study是非常有必要做的,当然是根据故障的级别,不可能做到每个故障都Case Study,除非人员和时间充足: 文档能力也是能力的一种,一般工程师的文档能力比较 ...
- Python的数据类型与数据结构
Python的数据类型与数据结构 数据类型分为: 整数型 :数字的整数 浮点型: 数字带小数 字符串: 用 ‘’ 或者 “” 引用的任意文本 布尔型:只有 True 和 False 数据结构分为: 列 ...
- ansible实践
ansible常用module ansible-doc -l List available modules -s Show playbook snippet for specified module( ...
- python进阶--多线程多进程
一.线程和进程 进程是拥有独立内存,能够独立运行的最小单位,也是程序执行的最小单位,线程是程序运行过程中,一个单一的顺序控制流程,是程序执行流的最小单位,一个进程至少包含一个线程,多线程共享进程的内存 ...
- Hadoop 部署之 HBase (四)
目录 一.HBase是什么 HBase 和 HDFS HBase的存储机制 二.HBase 集群部署 1.下载安装 2.配置 HBase 环境变量 三.HBase 配置(namenode01) 1.配 ...
- 插件之一:Epplus
从策划配置文件导入项目实际使用,为提高效率总会使用一些转换工具,据同事介绍Epplus更强大一些,我自己试了下,发现api非常全面且强大.记录下所学. 一.插件来源 https://github.co ...
- php分页思路
<?php class page{ public $nowPage=1; public $perPage=10; public $showPage=10; public $totalPage; ...
- Docker的安装和学习
dockers学习 2019年2月23日开始 docker系统要求 centos 7 核心为3.1以上 centos6.5以上 核心为 2.6以上 ...
- Linux 安装MySQL流程
1. yum -y install wegt 2. yum -y install vim 3. 下载MySQL的repo源 1. wget http://repo.mysql.com/mysql-co ...