03数据库系统

09-数据库安全与备份

2021-08-01 250 1

简介 数据库安全与备份知识介绍

数据库安全防护措施

upfile


冷备份和热备份

    冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。

    热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份下来。


upfile


备份的分类

    完全备份:备份所有数据

    差量备份:仅备份上一次完全备份之后变化的数据

    增量备份:备份上一次备份之后变化的数据

    (1)静态海量转储:在系统中无运行事务时进行,毎次转储全部数据库

    (2)静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据

    (3)动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。

    (4)动态增量转储:转储期间允许对数据库进行存取或修改,毎次只转储上一次转储后更新过的数据

    日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。事务日志归档后就是归档日志,一般数据库产品中,事务日志的空间是循环利用的, 并且会有一个进程或线程实时的将事务日志转储到归档日志空间。


upfile


故障的种类

    事务故障:事务在运行至正常终止点前被终止, 此时可能出现不正常的状态; 由于事务程序内部原因引起的,有些可以预测,如金额不足,有些不可预测如非法输入、运算溢出等

    系统故障: 软故障

        造成系统停止运转的任何事件,此时系统可能需要重新启动

        例如: 特定类型的硬件错误、操作系统故障、 DBMS代码错误、 突然停电等

    介质故障:

        外存故障,例如磁盘损坏、磁头碰撞、瞬时磁场干扰等

        这类故障将破坏数据库或者部分数据库, 并影响正在存取这部分数据的所有事务,日志文件可能也会被破坏


故障与恢复

upfile


数据库的故障恢复

    Undo: 撤销事务, 将未完成的事务撤销,使数据库恢复到执行前的正确状态

    Redo: 对已提交的事务重新执行


    事务故障恢复步骤

        1. 反向扫描日志文件, 查找该事务的操作;

        2. 对该事务的操作执行逆操作,也就是将日志记录更新前的状态写入数据库;

        3. 继续方向扫描日志文件,并做与2同样的处理。

        4. 一直读到事务的开始标识, 事务故障恢复完成

    事务故障的恢复由系统自动完成, 对用户是透明的


    系统故障恢复步骤

        1. 正向扫描日志文件, 找出故障发生前已经提交但未写入数据库数据文件的事务(这些事务有BEGIN TRANSACTION标识也有commit标识), 将其写入重做(REDO)日志队列。 同时如果是未提交的事务(只有begin TRANSACTION没有commit的事务),将其写入到撤销(UNDO)队列。

        2. 对UNDO队列的事务反向执行逆操作,撤销事务

        3. 对redo队列中的事务执行正向操作,重做事务。

        系统故障恢复是在系统启动之后自动执行的。

    发生系统故障时,如突然掉电,对于数据库日志中有BEGIN TRANSACTION标识,但是没有COMMIT标识的记录,可能有两种状态:1.发生checkpoint,数据已经写入数据文件,但是未及时在日志中标记该记录已经提交,突然掉电; 2.未发生checkpoint ,此时数据库文件未涉及该事务相关改动。



    介质故障的恢复步骤

1. 装入最新的数据库备份副本, 是数据库恢复到最近一次转储时的一致性状态。

2. 转入相应的日志文件副本,重做已完成的事务

介质故障的恢复需要DBA的介入:

DBA只需要重装最近转储的数据库副本和有关的各日志文件副本,然后执行DBMS提供的恢复命令; 具体的恢复操作扔由DBMS完成。




点赞 1

文章评论

欢迎您:

纸上得来终觉浅,绝知此事要躬行!

112 文章 59513 浏览 3 评论

联系我

  •   QQ:    361352119
  •  Email:  lisimmy@sina.com
  • 微信: