数据库同步工具
sqlserver,Mysql数据同步软件

[转]Oracle 11g New 数据库重放

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

\公牛;确定使用数据库重播的优势

\公牛;列出数据库重播所涉及的步骤

\公牛;使用企业管理器记录和重播工作负载

\

  • 为什么使用数据库重播

\公牛;系统更改(例如硬件和软件升级)是不可避免的。

\公牛;客户需要在实施变更之前确定变更的全部影响。

\公牛;大量的测试和验证可能会花费大量时间和金钱。

\公牛;除了昂贵之外,该测试的成功率也很低:

\ ndash;尚未发现许多问题。

\ ndash;更改可能会对系统可用性和性能产生负面影响。

\公牛;成功率低的原因:

\ ndash;实际的生产工作负载无法用于适当的测试,并且尚未检测到许多问题。

\公牛;数据库重放功能使您可以执行与实际情况一致的测试。

\

为什么要使用数据库重播?

关键业务大型应用程序不仅复杂,而且具有许多负载模式和使用模式。同时,这些业务系统必须在响应时间,吞吐量,正常运行时间和可用性方面提供特定的服务级别保证。对系统 所做的任何更改(例如升级数据库或修改配置)通常需要全面的测试和验证,然后才能在 生产系统中实施。为了确保在移至生产系统之前的安全性,数据库管理员(DBA)需要使测试系统的工作负载与生产环境中的工作负载非常相似。 DBA使用有效的方法来分析 分析系统级更改对整体SQL性能的影响,因为它允许您在生产之前执行任何必要的更改 优化。

\

  • 数据库重播

\公牛;在测试环境中重新创建实际的生产数据库工作负载。

\公牛;在实施生产变更之前,识别并分析潜在的不稳定因素。

\公牛;捕获生产中的工作负载:

\ ndash;捕获具有实际负载和并发的全部生产工作负载

\ ndash;将捕获的工作负载移至测试系统

\公牛;重播测试中的工作负载:

\ ndash;在测试系统中进行所需的更改

\ ndash;重播具有生产负载和并发的工作负载

\ ndash;使用提交顺序

\公牛;分析和报告:

\ ndash;错误

\ ndash;数据差异

\ ndash;性能差异

\

数据库重播

根据前面列出的挑战,Oracle Database 11g提供了特定的解决方案。

通过数据库重播。在将实际工作负载放入生产系统之前,您可以在测试系统上重播实际工作负载以测试系统更改的影响。记录代表时段(例如高峰时段 )中数据库服务器的生产工作负载(包括事务并发和相关性)。记录的数据用于在正确配置的 测试系统上重放工作负载。通过使数据库服务器承受与测试系统 几乎相同的工作负载,您可以对数据库更改的整体成功获得高度的信心。

\

  • 系统架构:捕获

系统架构:捕获

该图显示了正在记录的系统。您应该始终记录生产系统中您关注的”跨度”期间的工作量。通常,您可以重播记录以确定RDBMS是否已升级到新版本。服务器 是安全的。在系统中运行生产工作负载时,RDBMS中内置了特殊的日志记录基础结构。可以记录有关所有外部客户端请求的 数据。外部请求包括所有SQL查询,PL/SQL \块,PL/SQL \\远程 过程调用,DML语句,DDL语句,对象导航请求或Oracle调用接口(OCI)调用。 在记录过程中,后台作业和正常情况下的所有内部客户端将继续工作,不会被记录。最终的 最终结果是工作负载记录,其中包含重播工作负载所需的所有信息。 RDBMS \\ n可以通过外部 请求查看该信息。

记录基础结构只会导致记录系统的性能开销最低(附加的CPU,内存和输出/输出)。

但是,应该计划额外的磁盘空间来记录实际的工作负载。

RAC描述:RAC环境中的实例可以访问公共数据库文件。但是,他们不需要共享公共

常规文件系统。在这种环境中,工作负载记录在记录过程中被写入每个实例的文件系统。

为了进行处理和重放,需要将工作负载记录的所有部分手动复制到单个目录中。

\

  • 系统架构:处理工作量

\

系统架构:处理工作量

处理工作负载捕获数据并创建特定于新工作负载重播的元数据文件,这对于重播指定的工作负载捕获是必需的。仅创建新文件,而不修改在工作负载捕获期间创建的任何文件。因此,您可以 在同一捕获目录上多次运行预处理(例如,当进程遇到意外错误或被取消时)。

在此阶段,将重新映射外部客户端连接。您可以修改所有会影响播放结果的播放参数。

注意:由于处理工作负载捕获的成本可能较高,因此最佳实践是在生产数据库系统以外的系统中执行此操作。

\

  • 系统体系结构:重播

\

\

系统架构:重播

在重播系统中重播工作负载之前,请确保执行以下操作:

1.在工作负载捕获开始时,将测试系统中的重放数据库还原为与捕获数据库匹配。

2.根据需要更改测试系统(例如执行升级等)。

3.将工作负载复制到测试系统。

名为\的特殊应用程序;重播驱动程序将使用工作负载记录将请求发送到 RDBMS。重播工作负载的位置。 RDBMS通常是一个测试系统。假定重播系统的数据库适合于重播 记录的工作负载。内部RDBMS客户端将不会被重播。重放驱动程序是一个特殊的客户端。它使用 记录工作负载,并将相应的请求发送到测试系统。它的行为类似于记录工作负载时使用的客户端 发送外部请求时的行为是相同的(请参见前面的示例)。使用行为与RDBMS的唯一外部客户端相同的特殊驱动程序,它可以记录和重放客户端的未知基础结构。

重放驱动程序包含一个或多个连接到重放系统的客户端,可以根据工作负载对其进行捕获和发送。请询问。重放驱动程序可以根据网络带宽,CPU和内存容量在所有重放客户端之间平均分配工作负载捕获流

\

  • 更改以前的生产系统

更改以前的生产系统

数据库重放专注于记录和重放RDBMS的工作量。因此,记录工作量的操作在图中所示的位置完成。在RDBMS上记录软件堆栈中的代码可以达到此级别以下的所有级别

存在项目交换,您可以使用录制和播放功能测试新设置。

重播工作负载时,RDBMS将执行在录制过程中发现的操作。也就是说,RDBMS的行为;重新发布阶段的代码与录制阶段的行为非常相似。这是通过为 RDBMS重新创建所有外部客户端请求来实现的。外部客户端请求包括来自RDBMS的所有可能的外部客户端请求。 请求。

\

  • 支持的工作负载

\公牛;支持的工作量:

\ ndash;包含几乎所有绑定类型的所有SQL(DML,DDL, PL/SQL)

\ ndash;完整的LOB功能(基于游标和直接OCI)

\ ndash;本地交易处理

\ ndash;登录并注销

\ ndash;会话切换

\ ndash;受限的PL/SQL RPC

\公牛;限制:

\ ndash;直接路径加载,导入/导出

\ ndash;基于OCI的对象导航(ADT)和REF绑定

\ ndash;流式,非PL/SQL AQ

\ ndash;分布式事务处理,远程描述/提交操作

\ ndash;闪回(数据库和查询)

\ ndash;共享服务器

\

支持的工作负载

上面显示了受支持和不受支持的数据库操作。

注意:也将捕获基于SQL的XML操作。系统仅捕获显式的SQL语句(客户端发出的SQL 语句)。数据库本身生成的隐式调用不会被捕获。例如,审核是隐式的,类似于后台流程活动 是隐式的。

\

  • 捕获注意事项

计划:

\公牛;为捕获的工作负载(二进制文件)留出足够的磁盘空间

\公牛;数据库重新启动:

\ ndash;确保重放符合实际情况的唯一方法

\ mdash;激活限制

\ mdash;捕获将删除限制

\ ndash;可能不是必需的(取决于工作量)

\公牛;还原数据库以重播的一种方法:

\ ndash;物理恢复(提供顺序/时间)

\ ndash;逻辑还原应用程序数据

\ ndash;闪回/快照备份

\公牛;您可以指定一个过滤器来捕获部分工作负载

\公牛; SYSDBA或SYSOPER权限以及相应的OS权限

开销:

\公牛; TPCC的性能开销为4.5%。

\公牛;内存开销:每个会话64 KB

\公牛;磁盘空间

\

捕获注意事项

在工作量记录的计划阶段应执行以下任务:

\公牛;检查数据库备份策略,以确保可以在记录开始时将数据库还原到StartSCN。

\公牛;计划捕获周期:根据应用和高峰时段选择捕获周期。您可以使用现有的可管理性功能(例如,自动工作负载数据存档(AWR)和活动会话历史记录(ASH))根据工作负载历史记录选择适当的时间段。仔细计划捕获的开始时间,因为建议的操作是在打开捕获之前关闭并重新启动数据库。

\公牛;指定工作负载在何处捕获数据。必须设置用于存储工作量捕获数据的目录。为提供足够的磁盘空间,因为如果磁盘空间不足,记录将停止。但是,停止之前捕获的所有内容仍然可以 进行重放。

\公牛;定义捕获过滤器以过滤掉未捕获的用户会话。您可以指定一个记录过滤器来跳过不应捕获的会话。

\公牛;数据库重播功能不会引入任何新的权限或用户角色。记录用户和重放用户必须具有 SYSDBA权限或SYSOPER权限。这是因为只有具有SYSOPER或SYSDBA权限的用户 用户才能启动或关闭开始记录的数据库。还应该分配正确的操作系统(OS)权限,以便 将允许用户访问记录,重播目录和操作这些目录中的文件。

\

  • 重播注意事项

\公牛;预处理捕获工作量:

\ ndash;一次性操作

\ ndash;与播放过程中使用的数据库版本相同

\ ndash;如果版本匹配,它们可以在任何地方(生产系统,测试系统或

其他系统)的实现

\公牛;还原数据库并进行更改:

\ ndash;升级

\ ndash;计划变更

\ ndash;操作系统更改

\ ndash;硬件更改

\ ndash;添加实例

\

重播注意事项

预处理阶段是指定数据库版本的一次性操作。创建必要的元数据后,您可以根据需要重播许多次工作负载。

必须在工作负载捕获开始时还原重放数据库以与捕获数据库匹配。成功重播取决于应用程序事务处理,这需要访问与捕获系统上的数据相同的应用程序数据。您可以选择 使用时间点恢复,闪回和导入/导出来还原应用程序数据。

\

  • 重播注意事项

\公牛;管理外部互动

\ ndash;重新映射用于工作负载的连接字符串:

\ mdash;一对一:用于简单的实例到实例的重新映射

\ mdash;多对一:使用负载平衡器(例如RAC的单节点)

\ ndash;修改指向生产系统的数据库链接和目录对象

\公牛;设置一个或多个重播客户端

\ ndash;可以驱动多个工作负载会话的多线程客户端

\

捕获的工作负载可能包含对仅在捕获环境中有意义的外部系统的引用。如果工作负载包含对外部系统的未解决的引用,则重放工作负载可能会在生产环境中导致意外问题。

重播应在完全隔离的测试环境中执行。确保在重播环境中解决了所有对外部系统的引用,以便重播工作负载不会损害生产环境。

可以执行一对一或多对一的重新映射。例如,捕获的生产环境中的数据库链接可以引用在重放过程中不应引用的外部生产数据库。因此,应在重播期间修改所有可能损害生产环境的外部引用

重播客户端(名为wrc的可执行程序)将提交捕获的会话的工作负载。应该安装一个或多个重播客户端,最好在生产主机以外的系统上安装。每个重放客户端必须能够访问保存 预处理工作负载的目录。

您也可以修改播放参数以更改播放行为。

\

  • 重放选项

\公牛;同步重播:

\ ndash;确保数据差异最小

\ ndash;基于提交的同步

\公牛;不同步重播:

\ ndash;可以用于负载/压力测试

\ ndash;不要考虑原始提交顺序

\ ndash;大数据差异

\公牛;考虑时间选项:

\ ndash;自动(默认)

\ ndash;调整考虑时间以保持捕获的请求的速率:

\mdash; 0%:无考虑时间(最高请求率)

\ mdash; \ lt; 100%:更高的请求率

\ mdash; 100%:准确考虑时间

\ mdash; \ gt; 100%:较低的请求率

\公牛;登录时间选项

\ ndash;百分比(默认为100%)

\

重播选项

在重放工作负载期间,可以修改以下重放选项:

\公牛;同步参数将确定重播工作负载时是否使用同步。如果将此参数设置为TRUE,则捕获的工作负载中的COMMIT序列将在重播期间保留,并且所有重播操作将仅在相关的COMMIT操作完成之后执行。默认值是true。

\公牛; think_time_scale参数将确定同一会话中两个连续用户调用之间的时间跨度;此参数表示为百分比值。使用此参数可以提高或降低播放速度。将此参数 设置为0将在播放期间尽快将用户调用发送到数据库。默认值为100。

\公牛;如果重播期间完成用户调用所需的时间长于捕获期间所需的时间,则 think_time_auto_correct参数可以更正两次调用之间的考虑时间(基于 think_time_scale参数)。此参数的值可以为TRUE或FALSE。

\公牛; connect_time_scale参数确定从开始捕获工作负载到会话与指定值之间的连接的时间范围;此参数值以百分比表示。使用此选项可以控制重播期间的会话连接时间。 默认值为100。

注意:在工作负载捕获过程中,占用时间由用户时间和用户考虑时间来度量。用户时间是用户调用数据库所花费的时间。用户认为时间是用户在发出的呼叫之间花费的等待时间。

在重放工作负载期间,占用时间由用户时间,用户考虑时间和同步时间来度量。

\

  • 重放分析

\公牛;数据差异

\ ndash;每次调用(查询,DML)比较的行数

\公牛;误差差异:

\ ndash;新错误

\ ndash;变化误差

\ ndash;错误消失了

\公牛;效果:

\ ndash;捕获并重播报告

\ ndash; ADDM报告

\ ndash; ASH报告以进行偏差分析

\ ndash; AWR报告

\

重播分析

与录制的内容相比,播放可能有所不同。例如,在较新版本的RDBMS上重播时,新的算法可能会导致某些请求的速度更快,从而导致执行速度有所不同。 家庭需要这种差异。差异的另一个示例是,在重放期间由SQL语句返回的行数小于在记录过程中由 返回的行数。这种差异显然不是用户需要的。

对于数据差异,您可以按以下方式查看操作的结果:

\公牛; SQL查询结果集

\公牛;更新到持久数据库状态

\公牛;返回码或错误码

在确定播放系统中引入的新算法将如何影响整体性能时,性能差异非常有用。可能有许多因素导致播放差异。尽管无法控制某些差异,但可以缓解其他差异。 DBA \ 应该负责了解工作负载的运行时操作,并采取必要的措施来减少记录和播放差异的程度。

在线差异有助于决定停止将导致严重差异的播放。差异之前的重播结果可能仍然有用,但是继续重播不会产生可靠的结论。离线差异报告用于确定重播完成后重播的成功

\

重播的数据差异包含查询和错误的结果。换句话说,在录制过程中发生的错误将被视为肯定的结果,并且将报告播放过程中的任何更改。您可以使用现有工具(例如ADDM)

音量记录系统和播放系统之间的性能差异。

另外,重播期间的错误比较报告可以报告以下内容:

\公牛;录制过程中未发生的错误

\公牛;重播期间出现不可复制的错误

\公牛;错误类型的差异

\

  • 企业管理器中的数据库重放工作流

企业管理器中的数据库重放工作流

以下是执行数据库重播的典型步骤:使用企业管理器(EM)完成的步骤被标记为\。任务n。没有其他步骤属于EM。工作流程。

1.在数据库中捕获工作负载。 (任务1)

2.(可选)导出AWR数据。 (任务1)

3.在工作负载捕获开始时,将测试系统中的重播数据库还原为与捕获数据库匹配。

4.根据需要更改测试系统(例如执行升级等)。

5.将生成的工作负载文件复制到测试系统。

6.在测试系统中预处理捕获的工作负载。 (任务2)

7.配置测试系统以进行重放。

8.重播已还原数据库中的工作负载。 (任务3)

\

[oracle @ rtest u01] $ mkdir dbreplay

SQL \ gt;将目录db_replay_dir创建为”/u01/dbreplay”;

\

目录已创建。

\

\

  • 使用企业管理器捕获工作负载

使用企业管理器捕获工作负载

企业管理器(EM)提供了一个用户界面,可用于管理数据库重播过程中的每组件。工作流程和用户界面适用于EM数据库控制和EM网格控制。

您可以访问 \。数据库重播通过数据库控件的”软件和支持”标签。

在”数据库重播”页面上,您可以执行以下指定的任务:

\公牛;捕获工作量

\公牛;预处理捕获的工作负载

\公牛;重播工作负载

\公牛;查看工作负载捕获历史记录:单击此链接以查看或删除除之外的所有工作负载捕获的历史记录。

\公牛;活动捕获和重放:如果当前捕获或重放正在进行中,则则此表将出现在页面底部(无论表中是否有行)。要查看捕获或重放的状态,请选择 名称,然后单击\。查看\ rdquo;或只需点击”名称”链接。

RAC描述:如果在捕获RAC系统时关闭了例程,则捕获将正常继续并且不会中止。

由于例程关闭而终止的会话将重播到例程关闭的位置。如果关闭的进程在捕获过程中被修复并再次激活,则所有新会话将被正常记录。在重播期间,将不会重播例程的关闭

\

  • 使用捕获向导

使用捕获向导

在”捕获工作量:计划环境”页面上,满足先决条件后,检查每个”确认”。过滤盒。如果未处理先决条件,则可能会出现以下 问题:

\公牛;在不重新启动数据库的情况下,可能会捕获即时事务处理,这可能会对稍后捕获的事务捕获的产生不利影响。

\公牛;捕获的工作负载将被写入文件系统,并可能耗尽所有可用磁盘空间。

\公牛;如果在捕获和重放开始时应用程序数据不匹配,则错误和数据差异的机会将增加

完成后,单击\。下一步\继续执行向导中的其余操作。

注意:您可以选择在捕获开始之前重新启动数据库。确保暂时停止所有其他数据库活动。

\

\

使用捕获向导(续)

在”捕获工作量:选项”页面上,您可以执行以下操作:

\公牛;选择是否在捕获开始之前重新启动数据库。您可以在”数据库重新启动选项”部分中执行此操作。如果未在捕获开始之前不重新启动数据库,则可能无法准确地 准确而完整地捕获某些数据库活动。在重放过程中,这些未完全捕获的活动可能会导致 导致重放数据库状态不同于捕获的数据库状态。在这些情况下,重播将报告错误。

\公牛;在”工作负载过滤器”中定义”工作负载过滤器部分。确定是否需要包括或排除特定的会话,然后提供过滤器名称,相应的会话属性和值。当选择”包含 (包括)\作为过滤模式,仅捕获指定的内容;当选择”排除 将捕获指定的内容,除了您可以包括或排除特定会话的所有内容,但您不能同时包括和排除特定会话 。默认过滤器名称不包括企业管理器活动。 \\ ldquo;值 (值)\列显示了会话属性的实际名称,但是您可以提供任何所需的过滤器名称。

完成后,单击\。下一步\继续执行向导中的其余操作。

\

\

使用捕获向导(续)

在”捕获工作量:参数”页面上,您可以提供所需的捕获名称或接受系统提供的名称。从系统中定义的现有目录对象的列表中选择一个目录对象

名称,或单击\创建目录对象为新目录对象指定唯一的名称和路径。此目录用于生成捕获文件。

\

然后,点击”下一个。此时,您将进入”捕获工作量:时间表”页面;您可以在此页面上提供所需的工作名称,也可以接受系统提供的名称。 \\ u00rdrdquo;工作 作业系统将自动以大写形式命名作业。作业名称和捕获的名称可能不匹配。

\

如果立即计划了作业,并且在”选项”步骤中指定了数据库重新启动,则在中提交作业后将显示”信息:”。审核”步骤重新启动数据库(信息: 重新启动数据库)页面,然后是”查看工作负载捕获”页面。如果 如果计划在将来的某个时间重新启动需要重新启动的作业,则在以\提交该作业后;审核”步骤,将显示”数据库重播”页面,其中包含消息 ,以了解您已计划作业。如果未指定捕获持续时间,则必须通过单击\来手动停止捕获。停止” \上的按钮;数据库重播捕获正在进行中的页面。您也可以 停止对”查看工作量捕获页。

\

\

点击”下一步\转到”审核”页;在提交作业之前,您可以验证的设置是否满足此页面上的需求。

RAC注意:对于RAC,DBA应该在所有实例均可访问的存储位置中定义捕获数据的目录。否,您需要在开始处理工作负载记录之前将工作负载捕获数据从所有位置复制到单个位置。

\\ ubsp;

该图显示了一种情况,您立即安排了一个捕获作业,但未在\中指定重新启动数据库。选项步骤,并且未指定捕获持续时间。

\

现在捕获已生效,您必须单击 \ Stop Capture \。单击”查看工作负载捕获”页面上的按钮可以手动停止捕获。

此时,您必须运行您的工作负载。

\

  • 使用捕获向导

\

使用\查看工作量捕获页面以查看已启动的工作负载捕获的进度,或查看有关已完成捕获的历史信息。可以通过\访问此页面。数据库重放数据库重播主动捕获和重播表格上的表格(适用于 表示已完成的捕获),或者在提交计划外的捕获作业后访问此页面。

此页面包含以下元素:

\公牛; \\ u00ldquo;摘要(摘要)部分提供有关当前工作负载捕获的重要信息。

\公牛;在捕获过程中,您可以使用”停止捕获”按钮。

\公牛; \\ u00ldquo;工作负载配置文件子页面提供了几个与性能相关的捕获总数数据。点击”查看工作量捕获报告调用浏览器窗口 以显示报告。该报告包含有关捕获的详细信息。 \\ u00ldquo;比较”该表将整个 系统与捕获的内容进行比较。 \\ ldquo;总计\列显示开始捕获后的系统累积值 ; \”捕获\列显示了在同一时间段内捕获生成的部分值。

\公牛; \\ u00ldquo;工作负载过滤器子页面可以显示在”选项”捕获工作量向导的步骤。

工作量完成时,请放置\\ Stop Capture(停止捕获)\rdquo;。

\

  • 使用捕获向导

\

使用捕获向导(续)

\

\

\

当您确认要停止工作负载捕获时,系统将询问您是否要导出AWR数据。如果接受,向导将生成一个导出作业,并在捕获过程中自动生成一个包含AWR数据的转储文件。转储文件 在用于生成工作负载捕获文件的捕获目录中生成。

如果选择不导出AWR数据,或者作业尚未完成,则”导出AWR数据”按钮将可用。当您单击此按钮时,将显示一个确认页面。确认后,导出将在后台 行中运行,您将返回到”查看工作量捕获”页面。

\

  • 查看工作负载捕获历史记录

\

\

查看工作负载捕获历史记录

使用\查看工作负载捕获历史记录转到以下页面:

\公牛;概述在此数据库上执行的所有已完成的工作负载捕获作业(删除的捕获作业除外)

\公牛;从完成的工作量捕获作业列表中删除一个或多个条目

\公牛;通过选择捕获名称并单击”访问”来访问有关特定工作负载捕获作业的其他详细信息。查看\ rdquo;或点击”捕获名称链接信息

\公牛;导出AWR数据

如果已导出AWR数据,则在” AWR Data Exported”列中相应的捕获名称上将出现一个绿色的复选标记。否则,该列将显示X。标记。要导出带有捕获的名称并标有X的数据。 ,选择名称,然后单击\。导出AWR数据(导出AWR 数据)。导出完成后,复选标记将出现在相应的列中。

\

  • 处理捕获的工作负载

\

\

\

处理捕获的工作负载

使用\预处理捕获的工作量页面可以:

\公牛;选择包含捕获的工作负载的目录对象

\公牛;在开始预处理工作负载之前,请查看有关已完成捕获的历史信息。此页面包含两个部分:”捕获” 摘要(捕获摘要)和”捕获详细信息(捕获详细信息)”。在 \中可用;捕获详细信息\”工作量配置文件 件\\和”工作负载过滤器)两个子页面。

选择目录并查看捕获详细信息之后,您可以单击\。预处理工作量调用预处理捕获的工作负载向导。

RAC描述:在RAC设置中,选择预处理系统的数据库实例以用于处理工作负荷记录。如果已将记录的数据写入RAC中节点的本地文件系统,则应首先从RAC中的所有节点复制记录的数据。 到执行预处理的实例的目录。如果捕获的数据存储在共享的 文件系统中,则无需复制它。

\

  • 使用预处理捕获的工作负载向导

\

\

\

\

使用预处理捕获的工作负载向导

预处理过程的描述方式:

\公牛;数据库版本:此步骤将提醒您当前的数据库版本必须与用于重播捕获的工作负载的数据库版本的数量相同。如果两个数据库版本不同,则可以继续进行下一步 ,但是预处理工作负载可能无法在较新版本的主数据库上重播。

\公牛;计划:此页面是典型的企业管理器计划页面,您必须在此页面上指定作业名称,标识和开始时间。

\公牛;复查:在此页面上,您可以预览提供的信息,然后单击\。提交\按钮触发预处理作业。此时,您将返回”数据库重播”主页,您可以在其中看到 消息,该消息指向生成的作业的”确认”。

\

  • 使用”重放工作负载向导”

\

\

\

使用重放工作负载向导

现在,我回到”数据库重播”主页。点击”重播Workload 图标以访问\。重播工作负载页;在此页面上,您可以 到:

\公牛;指定包含预处理工作负载的目录对象

\公牛;查看有关预处理工作负载的捕获信息

\公牛;查看预处理的工作负载的重播历史记录(如果有)。此页面包含\。捕获摘要和”捕获详细信息两个 部分。在”捕获详细信息部分中,您可以访问\工作负载配置文件工作负载过滤器和”工作负载过滤器页。

准备好后,请点击”设置”重播”。

\

  • 使用”重放工作负载向导”

\

\

使用”重播工作量向导”(续)

进入重放阶段之前,应完成以下项目:

\公牛;还原数据库:在工作负载捕获开始时,还原重放数据库以使其与捕获数据库匹配。成功的工作负载重播取决于应用程序事务处理,该事务处理程序访问与在系统上捕获的数据相同的应用程序数据 恢复应用程序数据状态的常用方法包括时间点恢复,闪回,以及import/import

退出。

\公牛;执行系统更改:在重播之前,您应该对重播系统进行必要的更改,包括升级任何数据库或系统。数据库重放的主要目的是测试系统更改对捕获的实际应用程序工作负载的影响。由于此 ,您可以通过结合所做的更改和捕获的工作负载来定义要执行的测试。

\公牛;解决对外部系统的引用:捕获的工作负载可能包括对仅在捕获环境中有意义的外部系统的引用。例如,生产环境中捕获的数据库链接可以引用外部生产数据库,在重放过程中不应引用该外部生产数据库 。在这种情况下,您应该修改所有可能在播放期间损害生产环境的外部 引用。 \\ u00ldquo;重播工作负载:对外部系统的引用(重播工作负载:对外部系统的引用 )页面可以帮助解决这些问题。

\公牛;设置重播客户端:重播客户端是一个多线程程序(名为wrc的可执行程序),其中每个线程都可以提交捕获的会话的工作负载。该程序随标准的Oracle Client和Oracle提供。 Instant Client \。应该安装一个或多个重播客户端,最好是在数据库主机 以外的系统上。此外,每个重播客户端都必须能够访问包含预处理工作负载的目录。

\

  • 使用重放工作负载向导

\

使用”重播工作量向导”(续)

在”重播工作负载:选择”初始选项”;页上,接受默认值。重播”名称”,或提供您自己的名称。您可以选择默认的重播

您也可以使用上一个播放的播放选项。初始重播选项是指页面上的”自定义选项”连接映射和参数。在捕获工作负载的同时,还捕获了连接。

在”重播工作负载:自定义选项页面上,您可以方便地使用\连接映射子页面,以对使用的连接进行描述符号:用作预先植入的 字符串,或用作映射到描述符字符串的别名。您还可以选择一个单独的连接描述符选项 ;通过此选项,您可以为每个连接指定唯一的描述符。如果在”选择初始选项”中(选择 选择初始选项)。步骤中,选择”使用上一个重放的重放选项(使用上一个重放 选项),然后将选择”使用单独的连接描述符” 选项,并显示上一个重放系统的值在桌子上。

RAC注意:重映射外部交互应该包括重映射实例。特别是,可能有必要将每个捕获的连接连接字符串重新映射到播放系统中的连接字符串。如果捕获系统和重播系统都是单作用 示例数据库,则重新映射连接字符串相对简单,因此需要在配置文件中添加相应的条目。如果捕获系统和重放系统是具有相同数量节点的RAC数据库,则情况也是如此。如果捕获系统 和重播系统具有不同数量的节点,则重映射将更加复杂。

\

  • 使用重放工作负载向导

\

使用”重播工作量向导”(续)

“重播参数子页面提供了控制重放某些方面的高级参数。

\

  • 使用重放工作负载向导

\

\

使用”重播工作量向导”(续)

使用连接到数据库的重播客户端重播工作负载。当转到”重播工作负载:准备” 重播客户端页面时,您应该准备启动重播客户端。

点击”下一个。这将进入”重播工作量:等待客户端连接”页面。如果连接了重放客户端,则时钟下的文本将更改 。如果连接了至少一个重放客户端,则将在表 中填充”客户端连接”编号。

\

  • 使用”重放工作负载向导”

$ wrc REPLAYDIR =/主页/oracle/解决方案/dbreplay USERID =系统密码= oracle \\

Workload Replay Client:版本11.1.0.6.0-在Tue \ hellip上生产;

版权所有(c)1982、2007,Oracle,保留所有权利。

等待重播开始(21:47:01)

\

$ wrc REPLAYDIR =/主页/oracle/解决方案/dbreplay USERID =系统密码= oracle \\

Workload Replay Client:版本11.1.0.6.0-在Tue \ hellip上生产;

版权所有(c)1982、2007,Oracle。 版权所有。

等待重播开始(21:47:01)

使用”重播工作量向导”(续)

重播工作负载向导将等待您启动重播客户端。您可以打开一个单独的终端窗口,并使用wrc执行行程序以启动重放客户端。

可以根据工作负载重播的大小启动多个重播客户端。每个客户端将为数据库启动一个或多个重播线程,并且每个重播线程都对应于工作负载捕获中的流。

以下是wrc使用的语法的简要说明:userid和password参数是重放用户的客户端的用户ID和密码。 server参数是用于连接到重播系统实例的连接字符串。 replaydir参数引用 包含处理后的重放文件的目录。 workdir参数定义客户端的工作目录;如果未指定此参数 ,则默认值为当前目录。

在启动重放客户端之前,请检查以下各项:

\公牛;重放客户端软件已安装在主机上。

\公牛;客户端可以访问重播目录。

\公牛;重播目录中有经过预处理的重播文件。

\公牛;重播用户的用户名和密码正确。此外,用户应该能够使用工作负载来重播软件包,并且应该具有用户SWITCH权限。

\

如果连接了至少一个重播客户端,则内容将被植入\中。客户端连接表

启动重播客户端后,单击。下一步\在”等待客户端连接页。

注意:默认情况下,重播处于wrc模式。

\

  • 使用”重放工作负载向导”

$ wrc REPLAYDIR =/home/oracle/solutions/dbreplay USERID =系统密码= oracle

Workload Replay Client:版本11.1.0.6.0-在Tue \ hellip上生产;

版权所有(c)1982、2007,Oracle。 版权所有。

等待重播开始(21:47:01)

开始重播(21:48:14)

使用”重播工作量向导”(续)

此时,重播客户端将等待数据库启动rep躺下。

在”重播工作负载:查看”页面上,点击”提交\将放到重播中PREPARE \模式。此时,重播客户端开始重播捕获的工作负载。

\

  • 查看工作负载重播统计信息

查看工作负载重播统计信息

进度窗口将在播放进度时提供比较统计信息。 使用”停止重播”按钮可以在任何阶段停止重播。

\

  • 查看工作负载重播统计信息

$ wrc REPLAYDIR =/主页/oracle/解决方案/dbreplay USERID =系统密码= oracle \\

Workload Replay Client:版本11.1.0.6.0-在Tue \ hellip上生产;

版权所有(c)1982、2007,Oracle,保留所有权利。

等待重播开始(21:47:01)

重播开始(21:48:14)\\ n

重播完成(21:51:21)

$ \

查看工作负载重播统计信息(续)

成功完成重播后,启动重播客户端的终端窗口将显示带有时间戳的消息”重播完成(重播完成已完成)”。至此,重放工作量已经完成。

\”经过时间比较该图表显示了重放的工作负载完成与捕获的工作负载相同的工作负载所花费的时间。

差异表提供有关重放环境和捕获环境之间的数据差异和错误的信息;该表可用作重放质量的评估标准。

RAC描述:如果将特定的捕获实例映射到重播系统中的新实例,则捕获实例的的所有捕获调用将发送到新实例。如果重播系统也是RAC,并且捕获的实例被映射到重放系统的 运行时负载平衡,此记录的实例的所有捕获调用将被动态分配为使用 重放RAC系统。

\

  • 查看工作负载重播统计信息

查看工作负载重播统计信息(续)

您可以单击\查看工作负载重播报告按钮或重播完成后,单击”报告”标签以显示浏览器窗口,该窗口将显示报告,其中 包含有关重放的详细信息。

\”报告(Report)子页面包含多个工作负载性能报告:

\公牛;工作负载重播报告(工作负载重播报告)

\公牛; AWR比较期间报告

\公牛; AWR报告

\公牛; ASH报告

\

  • 程序包和过程

\公牛; DBMS_WORKLOAD_CAPTURE

\ ndash; START_CAPTURE \

\ ndash; FINISH_CAPTURE \

\ ndash; ADD_FILTER \

\ ndash; DELETE_FILTER \

\ ndash; DELETE_CAPTURE_INFO \

\ ndash; GET_CAPTURE_INFO()\

\ ndash; EXPORT_AWR \

\ ndash; IMPORT_AWR()\

\ ndash;报告()

\公牛; DBMS_WORKLOAD_REPLAY

\ ndash; PROCESS_CAPTURE \

\ ndash; INITIALIZE_REPLAY \

\ ndash; PREPARE_REPLAY \

\ ndash; START_REPLAY \

\ ndash; CANCEL_REPLAY \

\ ndash; DELETE_REPLAY_INFO \

\ ndash; REMAP_CONNECTION \

\ ndash; EXPORT_AWR \

\ ndash; IMPORT_AWR \

\ ndash; GET_REPLAY_INFO \

\ ndash;报告\

软件包和过程

要执行这些程序包,您需要EXECUTE权限才能捕获和重放程序包。这些权限通常由 DBA分配。

注意:有关DBMS_WORKLOAD软件包的更多信息,请参考” Oracle Database PL/SQL 软件包和类型参考11g,发行版1″。

\

  • 数据字典视图:数据库重放

\公牛; DBA_WORKLOAD_CAPTURES:列出在数据库中执行的所有工作负载捕获

\公牛; DBA_WORKLOAD_FILTERS:列出数据库中定义的所有工作负载过滤器

\公牛; DBA_WORKLOAD_REPLAYS:列出数据库中已执行的所有工作负载重播

\公牛; DBA_WORKLOAD_REPLAY_DIVERGENCE:用于监视工作工作量差异

\公牛; DBA_WORKLOAD_CONNECTION_MAP:用于查看工作负载用于重播的所有连接字符串

\公牛; V $ WORKLOAD_REPLAY_THREAD:监视外部重放客户端的状态 数据字典视图:数据库重放

有关这些视图的信息,请参考《 Oracle数据库参考》。

\

  • 数据库重播:PL/SQL例子

exec DBMS_WORKLOAD_CAPTURE.ADD_FILTER(fname = \ gt;” sessfilt”,-fattribute = \ gt;用户 \ ,-fvalue,” = JFV”);

exec DBMS_WORKLOAD_CAPTURE.START_CAPTURE(名称=” june_peak”,-dir \ gt;” jun07″);

执行工作量

exec DBMS_WORKLOAD_CAPTURE.FINISH_CAPTURE();

exec DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE(capture_dir = \ gt;” jun07″);

wrc用户ID =系统密码= oracle replaydir =/dbreplay

exec DBMS_WORKLOAD_REPLAY.INITIALIZE_REPLAY(replay_name =” j_r”,-replay_dir =” jun07″);

\

数据库重播:PL/SQL例子

在此示例中,ADD_FILTER过程添加了一个名为sessfilt的过滤器,以过滤掉属于用户名JFV的所有会话。

要启动工作负载捕获,请使用START_CAPTURE过程。在此示例中,捕获了名为 june_peak的工作负载并将其存储在名为jun07的目录中。由于未指定工期参数,因此工作负载捕获将继续进行,直到调用FINISH_CAPTURE过程为止。您可以在 点运行您的工作负载。

要停止捕获工作负载,请使用FINISH_CAPTURE过程。此过程最终将完成工作负载捕获和,以使数据库恢复到正常状态。

您现在可以使用REPORT功能来生成捕获报告。

要预处理捕获的工作负载,请使用PROCESS_CAPTURE进程。在此示例中,对存储在 jun07目录中的捕获的工作负载进行了预处理。

完成预处理后,您可以启动重播客户端。

\

\

要初始化重播数据,请使用INITIALIZE_REPLAY过程。初始化重放数据后,必需的元数据将加载到工作负载重放所需的表中。例如,捕获的连接字符串将被加载到表中。 将在表中重新映射这些字符串以进行重播。在此示例中,INITIALIZE_REPLAY进程将junc目录中的 预处理的工作负载数据加载到数据库中。

\

  • 数据库重播:PL/SQL例子

exec DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION(connection_id = \\ 101,-replay_connection = \>” edlin44:3434/bjava21″);

exec DBMS_WORKLOAD_REPLAY.PREPARE_REPLAY(同步= \\ TRUE,-think_time_scale = \> 2);

exec DBMS_WORKLOAD_REPLAY.START_REPLAY();

DECLARE

cap_id NUMBER;

rep_id NUMBER;

rep_rpt CLOB;

开始

cap_id:= DBMS_WORKLOAD_REPLAY.GET_REPLAY_INFO(dir = \ gt;” jun07″);

SELECT max(id)INTO rep_id \\ n

从dba_workload_replays

其中capture_id = cap_id;

rep_rpt:= DBMS_WORKLOAD_REPLAY.REPORT(replay_id = \\ rep_id,

格式= \ gt; DBMS_WORKLOAD_REPLAY.TYPE_TEXT);

END;

数据库重播:PL/SQL示例(续)

要重新映射连接,请使用REMAP_CONNECTION过程。在此示例中,连接对应于连接ID 101。 将使用replay_connection参数定义的新连接字符串。

要准备在重放系统上重放工作负载,请使用PREPARE_REPLAY过程。在此示例中, PREPARE_REPLAY过程为j_r重播做准备,以保留工作负载捕获中的COMMIT顺序。

要启动工作负载重播,请使用START_REPLAY过程。要停止重播工作负载,请使用 REPLAY_CANCEL过程。

要生成工作负载重播报告,请使用REPORT功能(如图所示)。

\

  • 校准重放客户端

$ wrc系统/oracle @ orcl模式= 校准\\ replaydir =/dbreplay

Workload Replay Client:版本11.1.0.6.0-在Tue \ hellip上生产;

版权所有(c)1982、2007,Oracle。 版权所有。

工作负载报告:/dbreplay

———————–

建议:

考虑使用至少1个客户端,这些客户端分配在1个CPU中。

工作负载特征:

-最大并发:4个会话

总会话数:11

假设:

每50个并发会话<-1>-1个客户端进程

每个CPU-4个客户端进程

-思考时间标度= 100

-连接时间标度= 100

-synchronization = TRUE

$

校准重放客户端

因为重放客户端可以在数据库中启动多个会话,所以不必为每个捕获的会话启动重放客户端。需要启动的重播客户端的数量取决于工作负载流的数量,主机的数量以及每个主机的重播客户端的数量

例如,假设一个工作负载捕获了1,000个流,该工作负载捕获的活动会话的平均数目约为60,并且和一台主机只能驱动50个并发连接到数据库。您应该使用两台主机,每台主机都有一个重播 客户端。

要评估重播特定工作负载所需的重播客户端和主机的数量,请在校准模式下运行wrc可执行文件程序。在校准模式下,wrc可执行文件将接受以下参数:

\公牛; replaydir指定包含要重播的预处理工作负载捕获的目录。如果未指定目录,则默认为当前目录。

\公牛; process_per_cpu指定每个CPU可以运行的最大客户端进程数。默认值为4。

\公牛; thread_per_process指定可在客户端进程中运行的最大线程数。 的默认值为50。

\

中的示例显示了如何在校准模式下运行wrc可执行文件。在此示例中,执行了 wrc可执行程序以估计重播存储在重播目录中的工作负载捕获所需的重播客户端和主机的数量

注意:要列出参与捕获的主机,请使用list_hosts模式。

\

  • 摘要

\

\公牛;确定使用数据库重播的优势

\公牛;列出数据库重播所涉及的步骤

\公牛;使用企业管理器记录和重播工作负载

\

来源:http://blog.csdn.net/rlhua/article/details/14053709

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » [转]Oracle 11g New 数据库重放

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们