事务管理与数据库安全性

数据库故障与恢复

数据库故障的种类

1) 事务内部故障

事务故障意味着事务没有达到预期的终点(commit或者显示的rollback),因此,数据库可能处于不正确状态,恢复程序要在不影响其它事务运行的情况系,强行回滚(rollback)该事务, 即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。这类恢复操作称为事务撤销(undo)。

2)系统故障

系统故障时指造成系统停止运转的任何事件,使得系统要重新启动。有(CPU故障、操作系统故障、DBMS代码故障、突然停电)

3)介质故障

系统故障称为软故障,介质故障称为硬故障。硬故障是指外存故障,如磁盘损坏等,这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事故。

4)计算机病毒

数据库恢复技术

数据库大多数的故障都能用数据库恢复技术来解决。

1)数据转储储:可以分为静态转储和动态转储。

静态转储是在系统中无运行事务时进行的转储操作。即转储操作开始的时刻,数据库处于一致性状态,而转储期间不允许对数据库的任何存取、 修改活动。显然,静态转储得到的一定是一个数据一致性的副本。

动态转储是指转储期间允许对数据库进行存取或修改。但是,转储结束时后援副本上的数据并不能保证正确有效。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件,这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。

转储可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般来说更方便一些。

数据转储方法可以分为四类:动态增量转储、动态海量转储、静态增量转储、静态海量转储。

1)登记日志文件

日志文件是用来记录事务对数据库的更新操作的文件。以记录为单位的日志文件和以数据块为单位的日志文件。

以记录为单位的日志文件,需要登记的内容包括:

1.各个事务的开始标记

2.各个事务的结束标记

3.各个事务的所有更新操作

每个日志记录的内容包括:

1.事务标识(标明是哪个事务)

2.操作的类型(插入、删除或修改)

3.操作对象(记录内部标识)

4.更新前数据的旧值

5.更新后数据的新值

日志文件的作用

  可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。具体作用是:

1.事务故障恢复和系统故障恢复必须用日志文件

2.在动态转储方式必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。

3.在静态转储方式中,也可以建立日志文件。

登记日志文件

为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:

1.登记的次序严格按并发事务执行的时间次序

2.必须先些日志文件,后写数据库。

数据库安全性

1)加密

对数据加密可以有效地防止非法活动对数据地破坏。

A 对授权用户而言,加密数据和解密数据相对简单

B 加密模式不应该依赖于算法的保密,而是依赖于算法参数

C 对入侵者来说,确定密钥越困来越好

2)数据库权限的种类

数据库权限一般分为两类

A 对数据库管理系统进行维护的权限

B 对数据库中的对象和数据进行操作的权限

3)数据库用户的种类

A 数据库系统管理员:具有全部的权限

B 数据库对象拥有者:对其具有的对象具有一切权限

C 普通用户:select、insert、update、delete。

本文摘自全国计算机等级考试教材系列(三级数据库技术教程)——主编 赵宏杰

原文发布于微信公众号 - ellipse数据库技术(ellipse16)

原文发表时间:2019-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券