当前课程知识点:数据库系统原理与开发 >  第5章 数据库管理 >  5.5 数据库备份与恢复 >  5.5 数据库备份与恢复

返回《数据库系统原理与开发》慕课在线视频课程列表

5.5 数据库备份与恢复在线视频

下一节:5.6 PostgreSQL数据库管理项目实践

返回《数据库系统原理与开发》慕课在线视频列表

5.5 数据库备份与恢复课程教案、知识点、字幕

大家好!

我是主讲教师陆鑫

下面我们开始学习数据库课程

第5.5小节 数据库备份与恢复

本节学习目标如下

1)了解数据库备份方法与类型

2)掌握PostgreSQL数据库备份方法

3)了解数据库恢复方法与类型

4)掌握PostgreSQL数据库恢复方法

一、数据库系统故障原因

数据库服务器硬件故障

系统软件故障

用户误操作

系统意外断电等

二、数据库系统备份与恢复

数据库备份是指将数据库当前数据和状态进行副本复制

以便当数据库受到破坏或丢失数据时可以进行修复

数据库恢复是指数据库中数据丢失或被破坏时

从备份副本将数据库从错误状态恢复到某一正确状态

三、备份内容与备份角色

备份内容包括数据文件、日志文件等

备份角色可以是服务器管理员(sysadmin)

数据库所有者(db_owner)

数据库备份员(db_backupoperator)

四、备份介质与备份时机

备份介质包括磁盘阵列、磁带库、光盘库等

备份时机当系统数据库重要数据被修改

日志被清理

用户数据库创建

用户数据库加载等事件出现时

五、数据库备份方法

数据库备份的基本方法如下图所示

为了防范数据库丢失或损坏风险

定期对数据库进行备份操作

具体备份方法可以分类如下

完全数据库备份

差异数据库备份

事务日志备份

文件备份

完整数据库备份是一种备份数据库所有内容的方式

它可以备份整个数据库

包含用户表、系统表、索引

视图和存储过程等所有数据库对象

但它需要花费更多的备份时间与备份存储空间

根据业务需求

通常每隔一个周期

应定时进行一次完整数据库备份

差异数据库备份是一种只备份

自上次数据库备份以来发生的变化数据

它比完整数据库备份耗费的较少存储空间

并且可以快速完成数据备份

这种数据库备份方式适合于数据变化频繁的数据库系统

可以减少数据丢失的风险

事务日志备份是一种只备份

自上一次日志备份以来的事务日志数据

事务日志备份所需要时间和空间比差异备份更少

而且它可以支持事务的回滚操作

使用事务日志备份文件

可以将数据库恢复到故障点时刻的状态

相比差异备份可进一步减少数据丢失风险

适合于数据变化频繁的数据库系统

数据库通常是由存储在磁盘上的若干数据文件构成

可以直接通过复制数据库文件方式实现数据库备份

但这种文件备份方式应该与

事务日志备份方式结合才有实际意义

此外,数据库备份还可以按照

数据库备份时刻是否需要停止实例运行

分为如下两种

冷备份、热备份

六、数据库备份实现

数据库备份实现有两种方式

一执行SQL命令实现备份

二操作GUI工具实现备份

实例操作

备份SAMPLE数据库到一个G磁盘的根目录文件Sample.bak中

其SQL语句如下

七、数据库恢复方法

1.通过备份文件进行恢复

数据库恢复的基本方法如下图所示

一旦数据库发生丢失或损坏事件后

即可采用最新的数据库备份文件进行恢复处理

如在t3时刻备份之后

数据库发生故障

即可使用t3时刻备份文件进行恢复处理

实例操作

从备份文件中恢复SAMPLE数据库

其SQL语句如下

当使用备份数据库文件将数据库恢复到一个已知节点后

然后重新处理当时的所有工作

本方法特点

恢复技术简单、易于实现

对于多用户系统

难以接受备份周期内出现的数据丢失

2.利用事务日志按前滚或回滚方式进行数据库恢复

数据库恢复是利用数据库备份文件

和数据库事务日志文件来实现数据库恢复处理

具体将根据用户恢复要求

采用前滚事务方式或回滚事务方式恢复数据库

利用数据库事务日志进行恢复的基本方法如下图所示

在数据库管理工具中

如果用户希望使用故障前的

数据库备份文件进行恢复处理时

可采用前滚事务恢复方法

将数据库恢复到故障发生前的数据库状态

这是在数据库备份版本基础上

通过系统执行事务日志文件中记录的

操作命令来实现数据库恢复处理

即将系统记录的后像数据重新应用到数据库中

从而将数据库恢复到故障发生前一时刻状态

当用户希望使用故障后的数据库进行恢复处理时

可采用回滚事务恢复方法

将数据库恢复到故障发生前一时刻的数据库状态

这是在故障后的数据库基础上

通过系统回滚事务操作来实现

在恢复处理时

取消错误执行或部分完成的事务对数据库的修改

将系统记录的前像数据恢复到数据库中

从而将数据库恢复到故障发生前一时刻状态

八、基于GUI的PostgreSQL 数据库系统备份与恢复

1.数据库备份

当DBA管理员使用pgAdmin4工具登陆DBMS服务器后

在数据库目录列表中

选取需要备份的数据库 如ProjectDB

并选取右键“备份”菜单

系统弹出数据库备份设置窗口界面

如下图界面所示

在数据库备份设置界面中

命名数据库备份文件 如g:\ProjectDB.sql

选取备份文件格式

以及设置压缩率

编码字符集

角色名等选项参数

然后, 点取“备份”按钮

DBMS进行ProjectDB数据库备份

2.数据库恢复

当DBA管理员使用pgAdmin4工具登陆DBMS服务器后

在运行界面的数据库目录列表中

选取需要恢复的数据库 如ProjectDB

并选取右键“还原”菜单

系统弹出数据库恢复设置窗口界面

如下图界面所示

在数据库恢复设置界面中

输入数据库备份文件名

选取备份文件格式

以及任务进程数目、角色名等选项参数

然后,点取“还原”按钮

DBMS进行数据库恢复处理

好了, 本节学习结束!

数据库系统原理与开发课程列表:

第1章 数据库系统概论

-1.1 数据库及其系统概念

--1.1 数据库及其系统概念

-1.2 数据库技术发展

--1.2 数据库技术发展

-1.3 数据库应用系统

--1.3 数据库应用系统

-1.4 典型数据库管理系统

--1.4 典型数据库管理系统

-1.5 PostgreSQL对象-关系数据库系统软件

--1.5 PostgreSQL对象-关系数据库系统软件

-第1章 数据库系统概论--本章单元测试

-第1章 数据库系统概论--本章重点问题讨论

第2章 数据库关系模型

-2.1 关系及其相关概念

--2.1.1关系及其相关概念-1

--2.1.2关系及其相关概念-2

-2.2 关系模型原理

--2.2.1关系模型原理-1

--2.2.2关系模型原理-2

-2.3 PostgreSQL数据库关系操作实践

--2.3 PostgreSQL数据库关系操作实践

-第2章 数据库关系模型--本章单元测试

-第2章 数据库关系模型--本章重点问题讨论

第3章 数据库操作SQL语言

-3.1 SQL语言概述

--3.1 SQL语言概述

-3.2 数据定义SQL语句

--3.2.1数据定义SQL语句-1

--3.2.2数据定义SQL语句-2

--3.2.3数据定义SQL语句-3

-3.3 数据操纵SQL语句

--3.3 数据操纵SQL语句

-3.4 数据查询SQL语句

--3.4.1单表数据查询

--3.4.2 内置函数与分组统计

--3.4.3 多表关联查询

-3.5 数据控制SQL语句

--3.5 数据控制SQL语句

-3.6 视图SQL语句

--3.6 视图SQL语句

-3.7 PostgreSQL数据库SQL实践

--3.7 PostgreSQL数据库SQL实践

-第3章 数据库操作SQL语言--本章单元测试

-第3章 数据库操作SQL语言--本章重点问题讨论

第4章 数据库设计与实现

-4.1 数据库设计概述

--4.1 数据库设计概述

-4.2 E-R模型方法

--4.2.1 E-R模型方法-1

--4.2.2 E-R模型方法-2

-4.3 数据库建模设计

--4.3.1 数据库建模设计-1

--4.3.2 数据库建模设计-2

-4.4 数据库规范化设计

--4.4.1 数据库规范化设计-1

--4.4.2 数据库规范化设计-2

-4.5 数据库设计模型SQL实现

--4.5 数据库设计模型SQL实现

-4.6 基于Power Designer的数据库设计建模实践

--4.6 基于Power Designer的数据库设计建模实践

-第4章 数据库设计与实现--本章单元测试

-第4章 数据库设计与实现--本章重点问题讨论

第5章 数据库管理

-5.1 数据库管理概述

--5.1 数据库管理概述

-5.2 事务管理

--5.2 事务管理

-5.3 并发控制

--5.3.1 并发控制-1

--5.3.2 并发控制-2

-5.4 安全管理

--5.4.1 安全管理-1

--5.4.2 安全管理-2

-5.5 数据库备份与恢复

--5.5 数据库备份与恢复

-5.6 PostgreSQL数据库管理项目实践

--5.6 PostgreSQL数据库管理项目实践

-第5章 数据库管理--本章单元测试

-第5章 数据库管理--本章重点问题讨论

第6章 数据库应用编程

-6.1 数据库连接技术

--6.1.1 数据库连接技术-1

--6.1.2 数据库连接技术-2

-6.2 数据库存储过程

--6.2 数据库存储过程

-6.3 数据库触发器

--6.3 数据库触发器

-6.4 数据库游标

--6.4 数据库游标

-6.5 嵌入式SQL编程

--6.5 嵌入式SQL编程

-第6章 数据库应用编程--本章单元测试

-第6章 数据库应用编程--重点问题讨论

第7章 NoSQL数据库技术

-7.1 NoSQL数据库概述

--7.1.1 NoSQL数据库概述-1

--7.1.2 NoSQL数据库概述-2

--7.1.3 NoSQL数据库概述-3

-7.2 列存储数据库

--7.2.1列存储数据库-1

--7.2.2列存储数据库-2

-7.3 键值对数据库

--7.3.1 键值对数据库-1

--7.3.2 键值对数据库-2

--7.3.3 键值对数据库-3

-7.4 文档型数据库

--7.4.1文档型数据库-1

--7.4.2文档型数据库-2

--7.4.3文档型数据库-3

-7.5 图形数据库

--7.5.1图形数据库-1

--7.5.2图形数据库-2

--7.5.3 图形数据库-3

-7.6 HBase数据库项目实践

--7.6 HBase数据库项目实践

-第7章 NoSQL数据库技术--本章单元测试

-第7章 NoSQL数据库技术--本章重点问题讨论

期末考试

-期末测试--期末测试

5.5 数据库备份与恢复笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。