2008年12月28日日曜日

软考学习笔记-数据库工程师第十二章-数据库运行与管理

软考学习笔记-数据库工程师第十二章-数据库运行与管理
第十二章 数据库运行与管理

1、数据库系统的运行策略: 从物理环境上保障系统的稳定运行;

从对人员的要求上做保障;

应用数据库的安全性策略;

做好数据库的备份与恢复工作。

2、数据库系统的监控对象和监控方式

  监控对象有3个,性能监控、故障监控、安全监控。

  监控方式有2种,系统监控和应用程序监控。

3、数据库维护

  因为某些原因需要修改数据库的结构,称为数据重构,包括表结构的修改和视图的修改。

  视图机制一方面可以实现数据的逻辑独立性,另一方面可以实现数据的安全性。

  文档是对系统结构和实现的描述,必须与系统保持调度的一致性。数据库重构过程中的所有修改必须在文档中体现出来。

4、数据库系统的运行统计

  系统监控和运行统计是DBA掌握数据库系统运行状态最有效的手段。系统监控用来保障系统的稳定运行,系统统计则用来了解系统性能,作为性能调整的依据。

5、数据库系统的审计,是一种DBMS工具,它记录数据库资源和权限的使用情况。审计是被动的。

6、数据库系统的管理

  (1)数据字典的管理:数据字典是存储在数据库中的所有对象信息的知识库,其中存储的数据称为元数据。数据字典是只读的。

  (2)数据完整性维护和管理:作用对象有列、行、表3种。列级约束、主码约束和参照完整性约束是在数据库定义过程中定义的,存在数据字典中。更为复杂的约束可以编写触发器程序实现。

因此,由DBMS管理的约束,可通过修改数据库定义完成维护和管理;

由应用程序实现的复杂的完整性约束,要通过分析修改程序(触发器程序)来实现。

  (3)数据库的存储管理:数据库中的数据是以文件形式存储在物理存储设备上的,程序通过DBMS完成I/O操作来访问数据。提高系统访问效率的有效手段就是提高I/O操作的效率。使用这样几种手段管理数据的存储,可以有效地提高性能:

1)索引文件和数据文件分开存储,事务日志文件存储在高速设备上;

2)适时修改数据文件和索引文件的页面大小;

3)定期对数据进行排序;

4)增加必要的索引项。

也可以增加计算机内存,引入调整存储设备等外部方式提高系统的访问效率。

  (4)数据库备份与恢复的管理:

设定合理的备份周期和备份时间;

把事务日志文件保存在最稳定的存储设备上;

定期在事务日志文件中加入检查点(checkpoint),检查点记录数据库的正确状态点。在数据库恢复过程中,可以反向扫描日志文件找到第一个检查点,执行UNDO、REDO操作。

  (5)数据库的并发控制与死锁管理:多用户数据库DBMS都提供并发控制机制。在实际运行过程中,死锁的产生多是因为事务程序的错误引起。管理员需要使用系统监控工具和系统日志,找出频繁产生死锁的事务。分析原因,修改事务程序,减少死锁。

  (6)数据库的安全管理:

建立网络安全(防火墙)

操作系统级安全(登录用户管理)

DBMS级安全(访问DB的用户验证密码)

角色和用户授权管理

使用视图和存储过程

使用审计功能

7、数据库系统的性能调整

  1)SQL语句的编码检验:通过DBMS提供的监控和统计功能,找出频繁执行的SQL语句并对其进行优化。步骤为,

(1)尽可能地减少多表查询或建立物化视图;

(2)以不相关子查询代替相关子查询;

(3)只检索需要的列;

(4)用带IN的条件子句等价替换OR子句;

(5)经常提交COMMIT,以尽早释放锁。

  2)表设计的评价:首先要求关系都能符合3NF或BCNF,然后还要根据实际运行情况对表进行调整。

调整的原则是: 如果频繁地访问涉及的是对两个相关表进行连接操作,则将这两个表合并;

如果频繁地访问只是在表中的一部分字段上进行,则考虑分解表或将该部分单独拿出作为一个表;

对于很少更新的表,引入物化视图。

  3)索引的改进:索引的调整原则如下,

如果查询是瓶颈--在关系上新建适当的索引,通常在作为查询条件的属性上建立索引可以提高查询效率;

如果更新是瓶颈--因为每次更新都会重建表上的索引,引起效率的降低,可以考虑删除某些索引;

选择适当的索引类型--比如经常使用范围查询,可以使用B树索引,比散列索引更高效;

将有利于大多数据查询和更新的索引设为聚簇索引。

  4)设备的增强:高速的计算机、增加内存、高速网络设备、高速存储设备。

0 件のコメント: