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)
- 数据加密
- 操作系统口令管理