2012/2/18 3 ServerCare, Inc. Oracle DBA: Determining Role and Needs 3
DBA 角色与关系 Development Production
DBA
Developer
Architect
Application
Admin
Sysadmin
Web
DBO
Dev
DBA
Application
DBA
Modeler
Data
Admin
2012/2/18 5/55
DBA 时间花费
♠ 22% 救火战斗
♠ 33% 监控
♠ 12% 性能调整
♠ 33% 开发支持
♠ 0% 增长规划
♠ 0% 备份 & 恢复规划
♠ 0% 学习新知识
2012/2/18 6/55 Oracle DBA 角色与任务 6
各种DBA
♠数据库操作-Database Operator (DBO)
♠初级 DBA
♠开发 DBA
♠产品 DBA
♠应用 DBA
♠企业 DBA
2012/2/18 11/55
应用 DBA
♠支持商业应用. 比如Oracle 财务, SAP,
Peoplesoft等
♠产品支持, 某些开发等.
♠挂机技巧: 理解应用. 与 Oracle配合
♠不要自己研究
♠注意: 提供上不能在产品上操作数据库
2012/2/18 14/55 Oracle DBA 角色与任务 14
一般 DBA 生涯路径
开发人员
初级 DBA
DB 操作员
开发 DBA
应用 DBA
产品 DBA
数据库架构师
数据管理员
2012/2/18 15/55 Oracle DBA 角色与任务
何时需要 DBA?
可行性 定义 配置 设计
开发
工作!
文档
数据管理员
开发 DBA
系统管理员
应用管理
产品 DBA
DBO
架构
设计师
开发人员
应用 DBA
可选择或关键时刻需要
涉及棘手问题时需要
模型架构师
2012/2/18 16/55
Oracle DBA 等级
新手 老兵 专家
Tcoug 一会功夫 成员,出席高级会议
在会议桌上
学习 管理命令 概念 体系架构
手册 一会功夫 阅读手册 非常熟悉
知识 课堂获得 OCP书 OCM、作者、会议
联机论坛 一会功夫 埋伏,提问 回答问题
新Oracle功能 使用各种功能 新功能警觉 对问题的测试
2012/2/18 18/55
第1项工作-备份
♠确保数据不丢失
♠不要轻信不可靠的备份
♠准备任何时候可能发生的恢复操作
♠了解可能的攻击, 恢复时间的管理
♠默认的归档模式
♠根据环境进行冷、热备份
2012/2/18 19/55
导出: DBA的朋友
♠可恢复性强
♠单表恢复容易(避免全部恢复)
♠块冲突检测
♠教会开发者专门的导出方法
♠在用EXIT退出前确保有效、无错误、Unix
字符串命令
2012/2/18 21/55
确保开发到应用能工作
♠ IT 基础设施库 (ITIL)
♠确保3个环境 – 测试/演示/产品的一致
♠从备份中克隆数据库
♠开发人员的脚步改变产品
♠简化应用登录测试
♠永远有备份计划
♠推论存在改变的价值?
2012/2/18 22/55
Oracle 性能调整 – 类型
♠ SQL 语句 – 执行计划, tkprof, 10053 事件
♠应用灾难 - 10046 跟踪(TCOUG 研究会)
♠主动式调整与挂起 - STATSPACK
2012/2/18 24/55
绑定变量
♠确保开发人员使用绑定变量
♠审计V$SQL视图确认
♠在Java语言, 从语句准备了解
♠在 .net,从CommandText, CreateParameter,
Append了解
♠连接池(Connection pooling)
2012/2/18 28/55
Oracle版本
♠ 一般第1个版本没有最新版本可靠- Alexander Pope
♠ 选择合适的时机停机
♠ 应用支持与O.S支持
♠ 版本: 7.3.4, 8.1.7.4, 9.2.0.8,10.2.0.2.=>11.1.0.6.0
♠ 合适 – 可跳哪个版本?
♠ 应用质量要求
♠ 还有哪些考虑? Metalink
♠ 只改变一个主要的部件吗?
2012/2/18 31/55
故障修复
♠ 系统不能工作? 检查安装是否正确
♠ 处理工作, 但现在还不能工作? 有哪些变化?
♠ 是断断续续吗? (最坏情况) 如何变化? 与时间, 系统加载, 硬件有关?
♠ 从Oracle Network基本出发-参考Marlene Theriault
2012/2/18 33/55
♠ Oracle 数据库任务
♠数据库状态与性能
♠数据库备份
♠系统资源分配
♠ Log File管理
♠ Oracle 应用任务
♠永远服务状态
♠并发请求情况
♠ 杂项
每天任务
2012/2/18 34/55
♠ 启动数据库后, 再 Shared Pool缓存对象
♠是否将关键的对象缓存到内存由应用决定
♠一般不建议这样做
♠ 考虑每小时监控直到每天
♠观察用户或进程持有的独站锁(exclusive
locks)
♠打开光标数量
♠新的无效的对象
每天数据库任务
2012/2/18 35/55
♠ 确认所有实例处于online
♠可采用脚本自动完成, 或用EM 24/7 监视
♠为了降低服务器的开销,不建议启动EM
♠ 预览Alert Log 事件
♠检查 “ORA” 错误和其他不正常的事件
♠警告也可能是问题
♠ 确认数据库备份是可用
♠包括归档到磁盘和备份到磁带
♠依据备份的频繁度…
每天数据库任务
2012/2/18 36/55
♠ 监控缓冲区命中率
♠ 运行 Statspack 工具
♠ 分析表数据并搜集统计数据
♠不同版本搜集方法
♠在业余是运行以减少系统开销
♠确认没有别的作业在同一时间运行
每天数据库任务
2012/2/18 37/55
♠ 确认执行任务所用资源是可接受
♠ 自由空间
♠操作系统的 “TEMP” 目录.
♠应用APPLCSF (“log” 与“out”)目录.
♠表空间.
♠ 撤销表空间情况.
♠数据文件大小
♠相关参数-UNDO_RETENTION等
♠ 失败不良的增长与空间范围
♠段的增长超过最大值
♠下次扩展超过表空间的能力等
♠预览冲突: CPU, 内存, 网络, 磁盘资源.
每天数据库任务
2012/2/18 38/55
♠ Log File 管理
♠ 拷贝Archived logs 到备用数据库, 做前滚
♠当工作有规律时,可采用自动
♠ 清除 log files
♠User, Background, Core dumps
♠Apache 与 Jserv log files
♠Network 的 logs
每天数据库任务
2012/2/18 39/55
♠ 确认 Enterprise Manager是online
♠ 企业管理器, 管理服务器等.
♠ 事件(Events)/ 告警(Alerts)及管理员(Administrator) ,
日常作业等.
每天数据库任务
2012/2/18 40/55
♠ 确认应用服务处于 on-line
♠ 成功登陆到应用
♠ 并发管理可用
♠ 并发请求管理
♠ 识别请求
♠ 清理并发请求
♠如果不需要并发管理
♠ 清理过时的工作流程
每天应用任务
2012/2/18 41/55
♠ 预览Oracle Metalink 网站的 Technical
Assistance Requests (TARs)
♠ 完成所有文档修改
♠ 阅读 DBA 手册与软件资料
杂项
2012/2/18 43/55
♠ 确认预订的脚步成功完成
♠ 查找违法规则的对象
♠命名习惯, 存储参数等.
♠检查碎片 /行迁移等
♠自动管理表空间的pct_increase为 1%
♠检查中间的定义的参数引用
每周数据库任务
2012/2/18 51/55
♠ 存储问题
♠搜集有关Oracle各文件分布合理性
♠分析是否进行移动的必要
♠ 是否新增加存储
♠新存储的用途规划
♠数据文件迁移到新存储
♠完整的Oracle系统健康检查
每年数据库任务
2012/2/18 52/55
♠ 应用数据库结构合理分享
♠该采用分区但现在还不采用分区
♠该采用Cluster
♠该采用IOT
♠ 段存储合理性分析
♠关键大表存储问题分析
♠关键索引存储问题分析
♠表与索引的重组可行性
♠从非分区到分区的迁移方法
每年应用任务
2012/2/18 54/55
♠ Oracle 系统维护建议
♠修改任何参数前先做好备份
♠备份要确认没有问题
♠在RAC环境下要注意有的参数必须一起修改
♠要注意参数的失效性,过时参数要避免
♠ Oracle系统调整建议
♠没有确定问题所在不要试验
♠不要轻易从OS对数据库的文件或参数做修改
♠修改参数都要理解其数据类型与范围
维护工作注意事项
2012/2/18 55/55
♠ 应用系统维护建议
♠ 只有设计方同意并配合才能做数据库结构的小调整
♠ 任何数据库结构的修改先查询与之相关的对象
♠ 可能带来应用问题的不要修改,修改宽度与类型都会产生应用与性能问题
♠ 应用系统调整建议
♠ 要联机调整,要使用DBMS_REDEFINE包
♠ 不要直接屏幕的修改,这样没有记录会出现风险
♠ 修改可能的风险要有退路的方法,最好给出完整的脚本
维护工作注意事项
2012/2/18 56/55
♠ Cook, David
♠ Database Management from Crisis to Confidence
♠ http://www.orapub.com/
♠ Cox, Thomas B.
♠ The Database Administration Maturity Model
♠ Cox, Thomas B., with Christine Choi
♠ Oracle DBA Checklist
♠ Matthews, Barbara J.
♠ Managing the Concurrent Manager
♠ Advanced Concurrent Manager Performance Analysis
♠ http://www.oncalldba.com/
♠ Sowers, Kimberly A.
♠ Configuring, Managing and Monitoring the Concurrent Managers
♠ Concurrent Managers – Turning Foe into Friend
参考资源