Oracle 12.2新特性掌上手册 - 第六卷 ADG的性能与诊断

编辑手记:在Oracle 12.2中,ADG有许多惊人的改进,通过ADG standby数据库的性能数据收集和诊断、快照standby数据库的应用,以及实时的数据库操作监控的实现,能够根据用户需求相协调来提高DBA效率,从而为业务应用程序提供更好的服务质量。

1、Oracle Data Guard Support for Oracle Diagnostics Pack(Oracle DG 提供诊断包的支持)

Oracle诊断包可以与以read-only的ADG standby数据库一起使用。能够将性能数据捕获到ADG standby数据库的AWR报告中,并对AWR数据运行自动数据库诊断监视器(ADDM)分析。

此功能可以对在ADG standby数据库上执行的只读工作负载进行性能调优。

管理Active Data Guard standby数据库中的AWR

从Oracle 12.2开始,可以为ADG standby数据库捕获AWR数据。此功能可以分析ADG standby数据库的任何性能相关问题。

知识补充:

ADG standby数据库的AWR快照称为远程快照。称为目标的数据库节点负责存储从远程ADG standby数据库节点(称为源)收集的快照。目标可以是ADG主数据库或非ADG数据库。如果目标是ADG主数据库,则它也是源数据库,其快照是本地快照。

实现该功能需要满足以下两个条件:

  • 源通过唯一的名称或源名称识别,通过该唯一名称或源名称对目的地是已知的。可以在配置期间为目标节点或源节点分配名称。否则,初始化参数DB_UNIQUE_NAME的值被默认指定为节点的名称。
  • 每个源必须具有两个DBlink,目标到源数据库DBlink和源到目标数据库DBlink。在ADG部署期间为每个源配置这些DBlink。在某些ADG事件(例如故障转移,切换,主机添加和删除)之后,必须手动重新配置这些DBlink,以便数据库应用程序在这些事件后继续正常运行。

可以以预定的时间间隔自动或手动地拍摄远程快照。远程快照始终由目标节点启动。目标启动快照创建存储过程后,源使用数据库链接将其快照数据推送到目标。可以使用AWR报告,Oracle数据库导入和导出功能以及用户定义的查询来访问存储在目标上的快照数据或AWR数据。自动数据库诊断监视器(ADDM)应用程序可以使用AWR数据来分析任何数据库性能相关的问题。

2、Active Data Guard Support for SQL Tuning Advisor(支持SQL Tuning Advisor的ADG)

SQL Tuning Advisor已得到增强,因此可以在一个数据库上启动调整,但实际的调整过程在不同的数据库上远程执行。这允许DBA将primary数据库工作负载的调优卸载到ADG standby数据库,并在ADG 自身上调整ADG SQL工作负载。

工作原理如下:

当将primary数据库工作负载的SQL调整卸载到ADG standby数据库时,SQL调整过程从primary数据库启动,但是调整过程在ADG standby数据库上远程执行,并且结果将写回primary数据库数据库。调整ADG工作负载时,整个SQL调整过程在ADG standby数据库上本地执行,同时保持数据库为read-only状态。这是通过从primary数据库的DBlink接收集所需的信息并将任何数据库状态更改(例如SQL配置文件实现)写回primary数据库来实现的。在primary数据库上实施的SQL配置文件建议将使用redo应用机制应用于ADG standby数据库。

SQL Tuning Advisor的远程SQL调优功能支持调整ADG工作负载,并将primary数据库工作负载的调整卸载到ADG standby数据库。 此功能的业务优势如下:

  • 通过支持应用程序调整来提高Active Data Guard数据库的可管理性。
  • 通过利用Active Data Guard上的可用资源提高主数据库工作负载调整的投资回报率。
  • 改进了Active Data Guard和主数据库工作负载的应用程序性能。
  • 提高了苛刻应用的读取性能
  • 灵活启动SQL Tuning Advisor并将结果远程存储在不同的数据库中。
  • 当与SQL Performance Analyzer一起使用时,支持端到端调整和测试工作流程。

在Active Data Guard环境中,SQL Tuning Advisor可以调整主数据库上的备用工作负载,通过DBlink,可以在一个数据库上发出SQL Tuning Advisor语句,但在不同的数据库上执行语句。

在primary数据库上调整standby数据库工作负载

在某些情况下,standby数据库可以承担报告角色。 standby数据库可以有自己的查询工作负载,其中一些可能需要调整。 在这种情况下,通过在standby数据库上发出每个调整语句来调整自身数据库工作负载,但SQL Tuning Advisor通过使用standby数据库到primary数据库DBlink在primary数据库上执行其分析。

为调整主数据库上的standby数据库工作负载,以下是必须执行的任务(任务必须按照给定的顺序在备用数据库中执行,使用DBMS_SQLTUNE PL / SQL包) :

1、执行DBMS_SQLTUNE.CREATE_TUNING_TASK语句以从主数据库获取创建任务所需的数据。因为standby数据库是只读数据库,所以有关任务的数据将远程写入primary数据库。在此步骤中,需要DBlink参数写入primary数据库。 2、执行DBMS_SQLTUNE.EXECUTE_TUNING_TASK语句。最初,从远程primary数据库获取执行任务所需的数据。执行调谐分析过程以找到可能的建议。因为standby数据库是只读数据库,所以当结果可用时,它们将远程存储在primary数据库中。 3、执行DBMS_SQLTUNE.REPORT_TUNING_TASK语句。构建报告所需的数据远程存储在primary数据库中。数据从主机远程读取,并在standby数据库本地构建。 4、执行DBMS_SQLTUNE.ACCEPT_SQL_PROFILE语句。配置文件数据将写入远程primary数据库,因为standby数据库是只读的。

注:执行以上任务,必须要保证SQL配置文件在standby数据库上使用重做应用程序可用。

管理快照Standby数据库

快照standby数据库是完全可更新的standby数据库,它接收并归档从primary数据库获得的redo数据,但不会应用日志。在将快照standby数据库转换回物理standby数据库后,只有在丢弃快照standby数据库的所有本地更新后,才能应用从preimary数据库接收的redo数据。

快照standby数据库通常随着时间的推移与其primary数据库差别变大,因为来自primary数据库的redo数据未应用。快照standby数据库的本地更新更会导致额外的分歧。然而,primary数据库中的数据受到完全保护,因为快照standby数据库可以随时转换回物理standby数据库,然后应用从primary数据库接收的redo数据。

快照standby数据库提供与物理standby数据库类似的灾难恢复和数据保护优势。快照standby数据库最适用于具有primary数据库的临时可更新快照的情况,增加从primary数据库故障恢复的时间。

快照Standby数据库和物理Standby数据库的切换

1、

将物理standby数据库转换为快照standby数据库

执行以下步骤将物理备用数据库转换为快照备用数据库:

  1. 如果redo日志处于active状态,则应用。
  2. 确保数据库以mount状态打开。
  3. 确保已配置快速恢复区, 不用启用闪回功能。
  4. 发出以下SQL语句以执行转换:SQL> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;
  5. 通过发出以下SQL语句以读/写模式打开快照standby数据库:SQL> ALTER DATABASE OPEN READ WRITE;

2、使用快照Standby数据库

快照standby数据库可以以读写模式打开,并且是完全可更新的。

快照standby数据库具有以下特征:

  • 快照standby数据库不能是切换或故障转移的目标。 在执行角色转换之前,必须先将快照standby数据库转换回物理standby数据库。
  • 快照standby数据库不能是最大保护Oracle Data Guard配置中唯一的standby数据库。

注意:闪回数据库用于将快照standby数据库转换回物理standby数据库。 使用闪回数据库技术无法撤消的任何操作都会阻止快照standby数据库转换回物理standby数据库。

3、将快照Standby数据库转换为物理Standby数据库

执行以下步骤将快照备用数据库转换为物理备用数据库:

1、在Oracle Real Applications集群(Oracle RAC)数据库上,关闭除一个实例之外的所有实例。 2、确保数据库已装入,但未打开。 3、发出以下SQL语句以执行转换: SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

3、SQL Performance Analyzer and SQL Tuning Sets Enhancements

(SQL性能分析器和SQL调优集增强功能)

SQL性能分析器(SPA)增强了提供三个新的任务参数:

  • EXECUTE_FULLDML_TRIGGERS:使用此参数可以启用或禁用在FULLDML模式下运行SPA试用时递归触发的数据库触发器。
  • EXECUTE_WITH_FIXED_DATE:在SPA试用中使用此参数为引用SYSDATE函数的SQL设置固定日期。
  • NUM_ROWS_TO_FETCH:此参数允许您限制SQL语句根据优化程序模式设置获取的行数。

SQL调优集(STS)增强如下:

  • 通过显式使用DBMS_SQLTUNE PL / SQL包的start_capture和stop_capture API来启动和停止STS捕获。
  • 增强了STS捕获,以支持跨所有Oracle Real Application Cluster(Oracle RAC)实例的SQL工作负载捕获。
  • STS捕获现在包括特定于Exadata,SQL监视和内存数据库的其他统计信息。
  • STS捕获支持用于报告在备用数据库或活动Oracle Data Guard数据库上运行的工作负载。

这些增强功能可以准确地诊断性能问题,改进Oracle服务质量管理,并以最低的风险和工作量进行更好的质量测试。 这也提高了系统性能和可靠性,降低了整体管理成本。

4、Monitoring Real-Time Database Operations(监控实时的数据库操作)

实时数据库操作(DBOP)监视功能有显著增强:

  • 动态和外部启动和停止DBOP,使我们能够通过指定特定会话的会话标识符和序列号,从数据库中的任何会话启动和停止DBOP。
  • DBOP持久性和比较:DBOP监视的执行自动保留到AWR,可以使用它们做offline和历史性能分析。可以比较多个相同DBOP的运行,以了解某些操作花费更长时间的原因。
  • DBOP报告和趋势分析:增强报告现在包括在同一DBOP下的SQL和PL / SQL执行详细信息。随着时间的推移对DBOP的多次运行进行分析,可以更好地了解特定工作负载随时间的变化。
  • 多会话DBOP支持:这对于监视在多个会话上运行的SQL或PL / SQL非常有用,这在提取,转换和加载(ETL)任务和批处理作业中很常见。

这些DBOP增强功能通过将业务操作监视与最终用户需求相协调来提高DBA效率,从而为业务应用程序提供更好的服务质量。

更多关于12.2的新特性:

Oracle 12.2新特性掌上手册 - 第一卷 Availability

Oracle 12.2新特性掌上手册 - 第二卷 In-Memory

Oracle 12.2新特性掌上手册 - 第三卷 Core Improvements

Oracle 12.2新特性掌上手册 - 第四卷 Sharding

Oracle 12.2新特性掌上手册 - 第五卷 RAC and Grid

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

MySQL的double write和Oracle对比学习(r4笔记第47天)

之前有网友希望我对mysql的double write和oracle能够做一个对比,其实这种对比方式挺好,能够触类旁通,举一反三。不过限于本人水平有限,欢迎拍砖...

2855
来自专栏杨建荣的学习笔记

sysbench压测小记(r11笔记第99天)

对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述。 比如一台新...

3336
来自专栏扎心了老铁

Elasticsearch分片、副本与路由(shard replica routing)

本文讲述,如何理解Elasticsearch的分片、副本和路由策略。 1、预备知识 1)分片(shard) Elasticsearch集群允许系统存储的数据量超...

4168
来自专栏Java Edge

Redis Cluster流程原理

Redis 3.0之后,节点之间通过去中心化的方式,提供了完整的sharding、replication(复制机制仍使用原有机制,并且具备感知主备的能力)、fa...

722
来自专栏铭毅天下

探究 | Elasticsearch不支持事务有什么好的弥补方案吗?

源自星球同学的提问:es如何与hive或mysql结合使用?es不支持事务有什么好的弥补方案吗?

1272
来自专栏数据存储

NUMA特性对MySQL性能的影响测试

非对称存储访问结构(NUMA,NonUniform Memory Access)是最新的内存管理技术,是对多处理器结构(SMP,Symmetric MultiP...

2486
来自专栏YG小书屋

ES集群如何做到高可用

2755
来自专栏IT技术精选文摘

MySQL高可用方案

第一种:主从复制+读写分离 客户端通过Master对数据库进行写操作,slave端进行读操作,并可进行备份。Master出现问题后,可以手动将应用切换到slav...

2778
来自专栏杨建荣的学习笔记

浅谈Orabbix监控指标(r6笔记第27天)

对于Orabbix监控Oracle来说,它是提供了一个相对轻量级的客户端来综合监控多个数据库实例。从这一点来看,它的角色有点类似于工作中使用的SQLDevelo...

3849
来自专栏沃趣科技

沃趣QFusion vs MGR、MGC面面观

沃趣 QFusion 采用目前已经非常成熟且应用非常广泛的主从复制数据同步架构,在能保证高性能的前提下,结合商业的高性能、高可用的分布式存储QCFS实现了数据零...

39912

扫码关注云+社区