最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

Oracle的可管理性

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-13 17:46:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Oracle 逐渐发展为具备自我管理能力的(self-managing)数据库的过程中,Oracle 数据库10g 是一个重要的里程碑。Oracle 数据库 10g 能够自动执行许多常规的数据库管理任务,同时能够显著地简化某些关键的 DBA 工作,例如性能诊断(performance diagnostic),SQL 调优(tuning),空间(space)管理及内存管理等。Oracle 10g 还提供了多个顾问工具(advisor),为数据库参数的设置提供建议并预测修改参数对数据库的影响,为 DBA 管理关键数据库组件提供了参考依据。此外,Oracle数据库 10g 能够预测系统中可能出现的问题并提前向用户发出告警,做到了防患于未然的数据库管理。
基本初始化参数
Oracle 数据库使用了大量的初始化参数(initialization paramete),以便用户根据不同的系统需求对数据库进行调优。但只有少量参数需要显示地设置,因为她们的默认值能够满足大多数情况的要求。
Oracle 数据库有 30 个左右基本初始化参数。而基本初始化参数之外的参数供经验丰富的 DBA 使用,使数据库经过调整后能够满足独特的需求。没有特殊需求时不必改变这些参数。
智能的基础结构
Oracle 数据库拥有一套用于自我管理(self-management)的完善的基础结构,数据库能够利用这套基础结构了解自身的运行信息,并利用这些信息对自身进行调整以适应工作负载的变化,或自动地修正系统中的潜在问题。用于自我管理的基础结构包括以下内容:
自动负载资料库、自动维护任务、服务器告警、顾问工具框架
自动负载资料库(Automatic Workload Repository,AWR)是 Oracle 数据库中内置的一个资料库。Oracle 会按照固定的周期对其运行信息及负载信息进行快照(snapshot),并存储在 AWR 中。快照的默认的周期为 60 分钟,用户也可以调整这个频率。快照将在 AWR 中存储一段时间(默认为 7 天),过期的快照会被自动清除。
AWR 中的数据既可以供系统使用,也可以供用户使用,这避免了为诊断系统问题而重复地收集负载信息。
AWR 是 Oracle 数据库所有自我管理(self-management)功能的基础。Oracle 利用 AWR 作为信息源得以从历史的角度观察数据库是如何被使用的,从而使数据库的自动调整更精确且更符合系统的实际要求。
为了使各个顾问工具能够以一致且统一的方式工作,并使不同顾问工具间能够无缝地交互,Oracle 数据库中定义了顾问工具框架(advisor framework)。在顾问工具框架下,不同顾问工具的调用方式及结果返回方式具有一致性。数据库中的顾问工具主要供数据库优化其性能时使用,但管理员也能够调用顾问工具,从而深入了解各个子系统的运行情况。
性能诊断及故障处理
ADDM 能够分析 AWR 中捕获的信息,并确定系统中存在的潜在问题。对于大多数问题,ADDM 能够提出建议的解决方案并给出量化的预期效果ADDM 总是从整体上来评估系统的性能,她使用时间作为评估系统各个组件的通用标准。ADDM 能够确定系统中哪个组件消耗的时间最多。确定了问题的表象后,ADDM 还能深入研究以确定问题的根源,并显示此问题对系统整体的影响。如果 ADDM 能够提出调优意见,她还会以时间为单位计算调整后的预期效果。统一以时间为单位使 ADDM 能够对不同的性能问题及解决方案进行比较。
当用户配置新实例时,很难确定恰当的 PGA_AGGREGATE_TARGET 参数值。用户可以通过以下步骤使此参数更为合理:
  • 首先估计一个 PGA_AGGREGATE_TARGET 参数值。
  • 使实例运行在预期的负载下,通过 Oracle 收集的 PGA 统计信息来监控系统性能,从而决定当前参数值是否适当。
  • 根据 PGA 顾问工具的统计数据来调整 PGA_AGGREGATE_TARGET 参数的值。
Oracle 数据库能够定期地进行检查,从而实现对空间使用情况的监控,这种检查不会中断正常的数据库操作。Oracle 在空间分配及回收操作期间对系统的空间使用情况进行监控,如果发现可用空间低于预设的阈值将向用户发出告警。空间监控是 Oracle 的内置功能,因此不会对系统性能产生影响,且各种类型的表空间均可使用。用户通过企业管理器(Enterprise Manager)或 SQL 语句均可使用系统的空间监控功能。由于监控是与数据库空间分配及释放同时进行的,用户可以随时得到及时准确的空间使用情况。
空间回收
Oracle 数据库能够对数据段(segment)进行收缩(shrinking)从而优化空间利用率,且执行收缩操作时无需额外空间(in-place)来重组数据。收缩操作可以释放数据段中的未用空间以供其他数据段使用,且能提高查询及 DML 操作的性能。
执行数据段收缩(segment shrink)时,首先需要集中(compact)数据段内的数据,之后再释放段内的未用空间。从数据段中释放的空间将被返还给表空间,供表空间内的其他对象使用。如果表内的数据存储 的较为分散,将会影响全表扫描(full table scan)的性能。执行了收缩操作后,表内的数据将被集中,且数据段的高水位线(high water mark)将被降低。这将使全表扫描需要访问的数据块(block)更少,扫描更迅速。
数据段收缩属于联机操作,当表的数据段被收缩时,此表依然可以进行查询或 DML 操作。此外,数据段收缩无需额外的存储空间。本地收缩(in-place)与通过联机重定义(online table redefinition)的方式收缩相比更有优势。用户可以在夜间定期调度作业来执行数据库对象的收缩操作,而无需为数据库提供额外的存储空间。
只有允许行移动的表才能够进行数据段收缩操作。如果应用程序中显示地使用了对象的 ROWID,那么这个对象就不能进行收缩,因为应用程序需要通过物理位置来定位对象内的数据行。
Oracle 数据库能够自动地运行数据段顾问工具(Segment Advisor)对数据库进行评估,确定哪些数据段应该进行收缩操作。数据段顾问工具能够针对每个数据库对象进行容量增长趋势分析,预测数据库对象在七天之后是否依然存在可用空间。之后就可以对满足条件的对象进行数据段收缩以回收空间。
数据段顾问工具不会评估还原表空间及临时表空间。
存储管理
自动存储管理(Automatic Storage Management)将底层的文件系统(file system)及其上的卷管理器(volume manager)集成,用于管理 Oracle 的数据库文件。ASM 能够将 I/O 负载分布到所有可用的存储资源上,从而提高了系统性能且无需大量的手工 I/O 调整(即自动地将数据库文件分散从而避免出现热点(hotspot))。ASM 使用户能够增加数据库容量而无需关闭数据库,从而使数据库存储分配动态化。
用户可以通过自动存储管理定义一个存储池(称为磁盘组(disk group)),Oracle 能够自动地基于存储池管理文件命名及文件存储位置。用户可以使用 SQL 语句(CREATE DISKGROUP,ALTER DISKGROUP,及DROP DISKGROUP)改变存储分配(添加或移除磁盘)。用户也可以使用企业管理器(Enterprise Manager)或数据库配置助理(Database Configuration Assistant,DBCA)管理磁盘组。
ASM 是 Oracle 数据库提供的一个简化的存储资源管理接口。使用 ASM 能够避免手工地调整 I/O 性能。ASM 将存储资源虚拟为一组磁盘组,并提供了冗余选项以实现高度的数据保护能力。ASM 实现了联机的(non-intrusive)存储配置修改及自动负载均衡(automatic rebalancing)功能。ASM 能够将数据库文件分散在可用的存储资源上,从而优化存储性能及资源利用效率。ASM 使手工的存储资源调整工作自动化,从而缩短了工作时间并提高了工作效率,使用户有能力管理更大规模的数据库。
一、磁盘组
(disk group)是由一组自动存储管理磁盘(Automatic Storage Management disk)构成的逻辑管理单位。
每个自动存储管理文件(Automatic Storage Management file)只能存在于一个磁盘组内。但一个磁盘组可以存储属于不同数据库的数据文件,一个数据库也能够使用多个磁盘组提供的存储资源。管理员可以为数据库指定一个或多个默认的磁盘组来存储其数据文件。
使用多个磁盘组的原因如下:
  • 应将不同容量或不同性能的磁盘划分为不同的磁盘组
  • 应根据外部冗余能力(external redundancy)来划分磁盘组;具备相同外部冗余能力的磁盘应划入同一磁盘组,而外部冗余能力不同的磁盘不应划为同一磁盘组。
  • 将数据库区(database area)与快速恢复区(flash recovery area)放置在不同的磁盘组
磁盘组有三种类型:正常冗余(normal redundancy),高冗余(high redundancy),及外部冗余(external redundancy)。
当创建 ASM 文件时,一些属性将被永久地赋予此文件。文件的属性包括其保护策略(protection policy)(即镜像)及条带化策略(striping policy)。自动存储管理文件对于操作系统及外部工具是不可见的,只有数据库实例,RMAN,及其他 Oracle 提供的工具可以访问。
当数据库需要存储空间时,自动存储管理(Automatic Storage Management)将创建文件。
备份与恢复
Oracle 系统恢复管理器(Recovery Manager,RMAN)能够简化备份(backup)与系统恢复(recovery)操作,使之自动化,并提升其性能。RMAN 能够实现完全备份(one time backup configuration),能够根据用户定义的系统恢复窗口(recovery window)管理备份数据及归档日志(archived log),能够实现可重启的(restartable)备份(backup)与数据库恢复(restore),并可对系统恢复及数据库恢复进行测试。RMAN 根据系统恢复窗口来决定备份数据何时过期。
在备份数据过期前,用户可以使用这些数据将数据库恢复到系统恢复窗口内的某一时间点时的状态,从而修复受逻辑错误影响的数据库对象。即使 RMAN 资料库(RMAN repository)不可用,用户还可以使用系统自动备份的控制文件数据进行数据库恢复或系统恢复。
DBCA 能够自动地调度磁盘备份程序(on disk backup procedure)。用户只需设定备份程序运行的时间窗口即可。用户可以使用初始化参数 DB_RECOVERY_FILE_DEST 设定一个统一的位置,存储和 Oracle 数据库恢复相关的文件,这个位置被称为快速恢复区(flash recovery area)。发生介质故障(media failure)时对数据库进行完全恢复所需的文件,例如控制文件(control file),归档重做日志文件(archived log file),闪回日志(Flashback log),RMAN 备份数据等,都保存在快速恢复区。
当启用了数据块修改跟踪(block change tracking)功能后,Oracle 将记录所有经过修改的数据块的物理位置。
为快速恢复区分配足够的空间,才能保证 Oracle 数据库恢复工作更迅速,更简单,且自动化。快速恢复功能(flash recovery)以智能化的方式管理着其所需的文件,从而使备份空间利用率最高,并能避免扩展备份空间时出现空间不足的问题。快速恢复功能可以根据用户设定的 RMAN 保留周期策略(RMAN retention policy)自动地将快速恢复区中失效的备份文件及归档重做日志文件删除。
限时恢复
用户可以使用限时恢复(mean time to recover,MTTR)功能设定数据库实例错误(system failure)恢复所允许的最大时间(以秒为单位),从而更好地控制数据库停止服务的时间。
联机的重做日志文件(logfile)越小,DBRWs 进程执行增量检查点操作就越频繁,系统中的物理写入操作也越多。这将影响数据库的运行性能。如果用户设置了 FAST_START_MTTR_TARGET 参数,那么较小的重做日志文件会导致增量检查点操作更频繁,甚至超出 MTTR 的需要。
重做日志文件容量顾问工具(Logfile Size Advisor)能够根据当前的 FAST_START_MTTR_TARGET参数设置及 MTTR 统计信息来确定重做日志文件的最优容量。如果重做日志文件的容量不会导致增量检查点操作的执行频率超出 MTTR 的需要,那么这个容量就是最优容量
通过查看不同 MTTR 设置及对应的数据库缓存写入操作比率,用户可以确定哪个设置能够同时满足数据库恢复及系统性能的需求。
配置管理
企业管理器能够持续地监控其所管理的 Oracle 系统的配置情况,例如配置参数设置,安全设置,存储及空间使用情况,以及推荐功能的使用情况(recommended feature usage)。Oracle 能够自动地标识存在配置问题的系统,并给出详细的问题描述。自动系统配置监控能够确保各个系统配置最优,减轻数据库管理员的工作负担,保证了数据库的可用性,安全性,即高性能。
Oracle 调度器
Oracle 数据库中包含了一个功能丰富的作业调度器(job scheduler)。用户可以使作业在预定的日期时间(例如周一到周五的 23 点)运行,也可以根据预定的事件(例如库存下降到一定程度)触发作业。用户还可以自定义日历,比如通过自定义财务年度(fiscal year)来实现在每个财务季度的最后一个工作日运行作业。
用户需要使用 DBMS_SCHEDULER 包或企业管理器(Enterprise Manager)来创建并管理作业(job),程序(program)及调度周期(schedule)等调度器对象(Scheduler object)。调度器对象是标准的数据库对象,因此管理员能够使用系统权限及对象权限来控制用户对此类对象的访问。
程序对象(program object)内包含了调度器将要执行的命令的元数据,还包括命令所有参数的默认值。调度周期对象中含有作业的执行日期时间及作业周期执行的模式(recurrence pattern)。作业对象将程序对象和调度周期对象结合到一起,是用户使用调度器时所操作的主要对象。用户可以创建多个作业,引用相同的程序对象,但按照不同的调度周期执行。在作业对象中可以覆盖(override)程序对象中设定的默认参数值,因此不同的作业可以引用相同的程序对象,但使用不同的参数值执行。
一、      调度器能做什么:
调度器能够满足复杂的企业级调度功能需求。用户可以使用调度器完成以下工作:调度作业执行、使作业的调度执行符合业务的需求、管理及监控作业、在集群系统中执行及管理作业
作业调度器的基本功能是调度作业执行。调度器支持依据时间调度及依据事件调度两种方式。
依据时间调度的方式包括:用户可以设定一个固定的时间(例如,2006 年 1 月 23 日凌晨 1 点),或进行周期调度(例如,每周一),或定义调度规则(例如,隔月的最后一个星期日,或 11 月的第 4个星期四,也就是感恩节)。
依据事件调度指根据实时事件触发作业运行。事件可以是系统内任何状态的改变,或系统中发生的某个操作,例如获得了一个新文件。利用依据事件调度功能,用户能够使事先不能确定准确执行时间的作业及时执行。
调度器同时支持单步骤及多步骤作业。多步骤作业是通过定义作业流程(chain)来实现的。作业流程是由多个步骤及步骤间的依赖规则组成的。每个步骤对应一个操作,用户在作业流程中可以设定各操作间的依赖关系,例如在成功执行 A,B 操作一小时后执行操作 C。
调度器(scheduler)能够确保作业的调度执行符合业务的要求。调度器能将有限的计算资源在相互竞争的作业间进行适当地分配,从而使作业的调度执行符合业务的要求。属性及行为类似的作业可以被归为一组,这样的组称为作业类(job class)。用户可以为每个作业类设定资源分配策略,以达到为作业类划分优先级的目的。这能保证优先级较高的关键作业获得足够的资源。在同一作业类内的作业也可以设定不同的优先级。

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-6-26 16:12

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表