DBA角色定义

开发型DBA:

  • 数据库安装
  • 数据库架构设计(架构和建模)
  • 代码开发(存储过程、SQL)

运维型DBA:

  • 数据库日常监控
  • 故障处理
  • 性能优化
  • 数据备份、容灾
  • 数据库安全规划

数据库的架构设计

数据库架构:

  • 分布式
  • 单库

实例的冗余:

  • RAC
  • Single

数据的安全和容灾:

  • DG
  • streams
  • Rman

空间的考虑、存储的规划:

软件的生命周期、业务数据增长的预测

  • ASM + SAN

数据库的建模

实体、关系的设计(ER)

表:

  • 字段的类型和属性(是否可以为空)
  • 分区
  • 表的属性(并行、压缩)
  • 物化视图

索引:

  • 字段
  • 索引类型
  • 联合索引
  • 全局索引还是分区索引

主外键引用关系

  • 外键上的索引

数据库开发

SQL和存储过程编写:

  • SQL是否绑定变量

    OLTP数据库绑定变量,OLAP数据库不能绑定变量

  • SQL语句的性能问题

  • 表的分析的方式(分析选项、分析频率…)

  • 影响SQL执行效率的性能参数

数据库的监控

数据库的监控:

  • 定制一套专门的监控软件
  • 开源软件 + 脚本
  • Oracle的 OEM + Grid Control
  • 第三方软件(Quest….)

数据的运维

数据管理和安全:

  • 备份策略
  • 数据的保留、删除策略
  • 分区、压缩、只读表空间….

故障处理:

  • 对数据库的深入理解
  • Oracle Support(metalink)
  • 官方文档(docs.oracle.com)
  • asktom.oracle.com
  • itpub.net

性能优化:

  • 对业务流程的深入理解
  • 用户感知为导向的优化思路
  • 性能基线的建立(cpu、io、sessions…)
  • 定期的AWR报告分析

数据库的安全:

  • 口令管理策略(精细化的授权机制)
  • DB VALUT,AUDIT VALUT
  • Oracle的细粒度审计(FGA)
  • 数据加密
  • 操作系统口令管理