56
2012/2/18 1 Oracle Database 数据库管理员与工作 赵元杰 整理 北京群环域科技有限公司 20122

A.Oracel DBA 角色与任务 (55 页)

Embed Size (px)

Citation preview

2012/2/18 1

Oracle Database

数据库管理员与工作

赵元杰 整理

北京群环域科技有限公司

2012年2月

2012/2/18 2

内容

♠各种角色的DBA

♠ DBA 工作概要

♠ DBA日周月年的任务

♠维护工作注意事项

♠参考资源

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 4/55

加载数据 6%

日常系统维护

55%

软件维护

6%

安装 6%

创建 & 配置

12 %

DBA 工作时间分配

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 7/55 Oracle DBA 角色与任务 7

要求数据库技巧

♠数据库架构师

♠数据管理员

♠应用管理员

♠开发人员

♠数据库管理员

♠数据库设计员

♠数据建模师

2012/2/18 8/55 Oracle DBA 角色与任务 8

要求非数据库技巧

♠系统管理员

♠网络管理员

♠ Web管理员

♠应用管理员

♠其他类型的开发员

♠项目管理员

2012/2/18 9/55

开发 DBA

♠可充当开发人员头衔

♠开发代码 ( PL/SQL )

♠查找个性化的问题 (找/修正/备忘)

♠最优方法: 由原作者完善代码

2012/2/18 10/55

产品支持 DBA

♠保持系统运行

♠ Oracle 版本与Bug修正

♠ Oracle 升级与迁移

♠最优方法不同之处

♠ DBA 应该快速解决问题

2012/2/18 11/55

应用 DBA

♠支持商业应用. 比如Oracle 财务, SAP,

Peoplesoft等

♠产品支持, 某些开发等.

♠挂机技巧: 理解应用. 与 Oracle配合

♠不要自己研究

♠注意: 提供上不能在产品上操作数据库

2012/2/18 12/55

顾问 DBA

♠资深的专门技术

♠了解不同应用的配置与管理技巧

♠提供不同阶段的管理方法

♠系统性能的优化关键技术

♠关键故障问题的解决建议

♠迁移工作的咨询

2012/2/18 13/55

DBA 角色的变迁

♠ DBA 角色一直在变化:

♠从单一的管理到现在的复杂环境管理

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 17/55

内容

♠各种角色的DBA

♠ DBA 工作概要

♠ DBA日周月年的任务

♠维护工作注意事项

♠参考资源

2012/2/18 18/55

第1项工作-备份

♠确保数据不丢失

♠不要轻信不可靠的备份

♠准备任何时候可能发生的恢复操作

♠了解可能的攻击, 恢复时间的管理

♠默认的归档模式

♠根据环境进行冷、热备份

2012/2/18 19/55

导出: DBA的朋友

♠可恢复性强

♠单表恢复容易(避免全部恢复)

♠块冲突检测

♠教会开发者专门的导出方法

♠在用EXIT退出前确保有效、无错误、Unix

字符串命令

2012/2/18 20/55

第2项工作-安全

♠ DBA 通过授权给用户来确保数据安全

♠保持未授权不可访问原则

♠角色: 策略与实现

♠了解安全选件, 实现

♠了解应用入侵安全, 数据敏感性

2012/2/18 21/55

确保开发到应用能工作

♠ IT 基础设施库 (ITIL)

♠确保3个环境 – 测试/演示/产品的一致

♠从备份中克隆数据库

♠开发人员的脚步改变产品

♠简化应用登录测试

♠永远有备份计划

♠推论存在改变的价值?

2012/2/18 22/55

Oracle 性能调整 – 类型

♠ SQL 语句 – 执行计划, tkprof, 10053 事件

♠应用灾难 - 10046 跟踪(TCOUG 研究会)

♠主动式调整与挂起 - STATSPACK

2012/2/18 23/55

服务器统计

♠如果存在性能问题, 则进行相应统计工作.

♠必须知道现在服务器在工作.

♠比较了解 O.S知识.

♠ Unix 管理相关命令.

2012/2/18 24/55

绑定变量

♠确保开发人员使用绑定变量

♠审计V$SQL视图确认

♠在Java语言, 从语句准备了解

♠在 .net,从CommandText, CreateParameter,

Append了解

♠连接池(Connection pooling)

2012/2/18 25/55

Oracle 调整

♠单凭经验, 比率到精确数据的方法

♠以微妙来计量时间

♠聚集整个实例 处理详细

♠ V$ 表详细记录数据或时间点数据

2012/2/18 26/55

调整目标

♠商业用户相关的问题

♠对销售有价值

♠端到端的分析

♠ DBA 必须证明没有问题

2012/2/18 27/55

监视

♠没有可作的工作会导致没有出现问题

♠使用LMT, uniform 扩展与 rebuild

♠使用自动扩展 与 监视

♠异常情况的Email 发送

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 29/55

Oracle 补丁

♠ 两个要点:

♠只要Bug发生时

♠立即出现安全问题

♠ 提供商测试要求 :

♠版本

♠补丁集

♠个别补丁

2012/2/18 30/55

Oracle授权许可

♠ 多数采用默认安装 – 了解特别部件要花费用

♠ 考虑标准版

♠ 理解用户的预算是多少

♠ 如果没有授权的知识

2012/2/18 31/55

故障修复

♠ 系统不能工作? 检查安装是否正确

♠ 处理工作, 但现在还不能工作? 有哪些变化?

♠ 是断断续续吗? (最坏情况) 如何变化? 与时间, 系统加载, 硬件有关?

♠ 从Oracle Network基本出发-参考Marlene Theriault

2012/2/18 32/55

内容

♠各种角色的DBA

♠ DBA 工作概要

♠ DBA日周月年的任务

♠维护工作注意事项

♠参考资源

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 42/55

♠ Oracle 数据库任务

♠对象管理

♠安全

♠远程访问

♠同步实例

♠ 杂项

每周工作

2012/2/18 43/55

♠ 确认预订的脚步成功完成

♠ 查找违法规则的对象

♠命名习惯, 存储参数等.

♠检查碎片 /行迁移等

♠自动管理表空间的pct_increase为 1%

♠检查中间的定义的参数引用

每周数据库任务

2012/2/18 44/55

♠ 查看违法安全策略

♠ 检查远程访问工具

♠ 同步“测试”、“开发”及“产品”

♠检查不同实例补丁的差异

♠不同差异可能导致运行问题

每周数据库任务

2012/2/18 45/55

♠ 监视用户组和 新的组的变化

♠ 查看Web站点问题, 故障修正等.

每周杂项任务

2012/2/18 46/55

♠ Oracle 数据库任务

♠增长趋势

♠性能 & 调整

♠用户维护

♠补丁

♠预报未来!

♠ Oracle 应用任务

♠并发管理调整

♠补丁

每月工作

2012/2/18 47/55

♠ 监控有害的增长率变化

♠快速的表增长与索引的增长

♠ 性能与调整

♠查找 I/O 冲突

♠差看由碎片所引起的性能

♠解决这些问题

每月数据库任务

2012/2/18 48/55

♠ 用户维护

♠口令变化 (本地安全策略)

♠人员变化 ( 角色的变化 )

♠ 补丁

♠预览可用的数据库补丁

♠与安全相关的补丁.

每月数据库任务

2012/2/18 49/55

♠ 预报系统将来可能的问题!

♠系统性能问题

♠CPU 与 RAM 使用情况

♠网络性能

♠数据库空间使用情况

♠活动实例的需求

♠归档 & 备份

每月数据库任务

2012/2/18 50/55

♠ 并发管理调整

♠调整目标数

♠为特别请求创建并发

♠ 补丁

♠浏览最新可用补丁

♠单独补丁

♠安装家族补丁

♠安装补丁有各种方法

每月应用任务

2012/2/18 51/55

♠ 存储问题

♠搜集有关Oracle各文件分布合理性

♠分析是否进行移动的必要

♠ 是否新增加存储

♠新存储的用途规划

♠数据文件迁移到新存储

♠完整的Oracle系统健康检查

每年数据库任务

2012/2/18 52/55

♠ 应用数据库结构合理分享

♠该采用分区但现在还不采用分区

♠该采用Cluster

♠该采用IOT

♠ 段存储合理性分析

♠关键大表存储问题分析

♠关键索引存储问题分析

♠表与索引的重组可行性

♠从非分区到分区的迁移方法

每年应用任务

2012/2/18 53/55

内容

♠各种角色的DBA

♠ DBA 工作概要

♠ DBA日周月年的任务

♠维护工作注意事项

♠参考资源

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

参考资源