编辑手记:在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主数据库,则它也是源数据库,其快照是本地快照。
实现该功能需要满足以下两个条件:
可以以预定的时间间隔自动或手动地拍摄远程快照。远程快照始终由目标节点启动。目标启动快照创建存储过程后,源使用数据库链接将其快照数据推送到目标。可以使用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环境中,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数据库
执行以下步骤将物理备用数据库转换为快照备用数据库:
2、使用快照Standby数据库
快照standby数据库可以以读写模式打开,并且是完全可更新的。
快照standby数据库具有以下特征:
注意:闪回数据库用于将快照standby数据库转换回物理standby数据库。 使用闪回数据库技术无法撤消的任何操作都会阻止快照standby数据库转换回物理standby数据库。
3、将快照Standby数据库转换为物理Standby数据库
执行以下步骤将快照备用数据库转换为物理备用数据库:
1、在Oracle Real Applications集群(Oracle RAC)数据库上,关闭除一个实例之外的所有实例。 2、确保数据库已装入,但未打开。 3、发出以下SQL语句以执行转换: SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
(SQL性能分析器和SQL调优集增强功能)
SQL性能分析器(SPA)增强了提供三个新的任务参数:
SQL调优集(STS)增强如下:
这些增强功能可以准确地诊断性能问题,改进Oracle服务质量管理,并以最低的风险和工作量进行更好的质量测试。 这也提高了系统性能和可靠性,降低了整体管理成本。
4、Monitoring Real-Time Database Operations(监控实时的数据库操作)
实时数据库操作(DBOP)监视功能有显著增强:
这些DBOP增强功能通过将业务操作监视与最终用户需求相协调来提高DBA效率,从而为业务应用程序提供更好的服务质量。
更多关于12.2的新特性:
Oracle 12.2新特性掌上手册 - 第一卷 Availability
Oracle 12.2新特性掌上手册 - 第二卷 In-Memory
Oracle 12.2新特性掌上手册 - 第三卷 Core Improvements