使用数据库重放进行实际测试
使用数据库重放进行实际测试
本教程将描述如何使用数据库重放特性通过捕获生产系统中的实际数据库负载并在测试系统中重放来进行实际测试。
大约 1 个小时
本教程包括下列主题:
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。
(警告:此操作将同时加载所有屏幕截图,因此网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
什么是数据库重放?
数据库重放特性可以捕获生产系统中的实际数据库负载并在测试系统中重放,从而允许用户进行实际测试。测试系统中的重放可以利用包括计时与并发在内的生产特性来实现。它还提供了分析和报表,以突出显示潜在问题(例如,遇到的错误以及性能差异),并推荐了解决问题的方法。
返回主题列表
开始本教程之前,您应该:
返回主题列表
在使用数据库重放之前,执行下列步骤来设置您的环境:
| 1. |
打开一个终端窗口。转到 dbreplay 目录,并执行 first_time.csh 脚本来设置文件。
./first_time.csh

在第二次执行 first_time.csh 脚本时不会收到错误。
|
| 2. |
执行 wcr_demo_init.csh 脚本来设置环境。
|
返回主题列表
在本部分中,您将捕获生产负载,并使用数据库重放来重放该负载。企业管理器提供的接口用于管理数据库重放流程中的每个步骤。
返回主题列表
创建捕获目录
在下一个子主题中,您将执行一次捕获。在使用企业管理器数据库控制执行捕获之前,您必须在操作系统中创建一个目录。执行下列步骤,创建您的捕获目录:
| 1. |
打开一个终端窗口,在主目录中创建一个名为 capture_dir 的目录。

|
捕获生产负载
要使用数据库重放,首先必须捕获要在重放过程中使用的生产系统负载。执行下列步骤,捕获生产负载:
| 1. |
使用浏览器,通过输入以下 URL 来调用企业管理器数据库控制:https://<主机名>:1158/em(注:指定使用本地主机或特定主机名来代替 <主机名>)。
以 SYS 用户身份登录,并使用 SYSDBA 作为数据库口令。

|
| 2. |
选择 Software and Support 选项卡。

|
| 3. |
从 Software and Assurance 部分中,选择 Database Replay。

|
| 4. |
要进行 Capture Workload 任务,单击 Go to Task 图标。

|
| 5. |
单击每项前提条件的 Acknowledge 复选框,然后单击 Next。

|
| 6. |
在 Capture Workload:Options 页面上,选择 Do not restart the database prior to capture 并单击 Next。

|
| 7. |
在 Capture Workload:Parameters 页面上,接受默认名称并单击 Create Directory Object。

|
| 8. |
在 Create Directory Object 页面上,输入 CAPDIR 作为对象名(确保以大写方式输入)。在 Path 域中指定在上一子步骤中创建的目录名。单击 Test File System。

|
| 9. |
在 Host Login 页面上,输入操作系统用户名与口令。单击 Login。

|
| 10. |
显示确认页面。单击 Return。

|
| 11. |
您将返回到 Create Directory Object 页面。单击 OK。

|
| 12. |
返回到 Capture Workload:Parameters 页面,屏幕将显示一条更新消息。单击 Next 继续捕获设置。

|
| 13. |
显示 Capture Workload:Schedule 页面。接受默认的作业名称。在 Job Schedule 部分中,接受 Start 子部分的默认值 Immediately 和 End 子部分的默认值 Not Specified。(在您自己的环境中,您应根据应用程序及其高峰时期的特性来选择捕获周期。)向下滚动至页面底部。

输入主机证书和数据库证书。单击 Next。

|
| 14. |
查看捕获信息。单击 Submit 启动捕获过程。

显示 View Workload Capture 页面。


|
| 15. |
返回到终端窗口,转到 dbreplay 目录。
如有需要,将 dbreplay 目录添加到 PATH 变量:
export PATH=.:$PATH
如有需要,将 $ORACLE_HOME/lib 目录添加到 LD_LIBRARY_PATH 变量:
export LD_LIBRARY_PATH=/u01/app/oracle/product/11.1.0/db_1/lib
执行 wcr_demo_workload.csh 脚本,并监视该脚本。该脚本完成后,返回到企业管理器数据库控制。

|
| 16. |
在企业管理器数据库控制中,单击 Stop Capture。

|
| 17. |
单击 Yes 确认您希望停止捕获过程。

|
| 18. |
单击 Yes,导出自动负载存储 (AWR) 数据。

|
| 19. |
显示负载汇总页面。查看统计数据。单击 OK 返回到 Workload Capture and Replay 页面。导出过程可能需要 1-2 分钟才能完成。

|
| 20. |
返回到终端窗口。转到 capture_dir 目录,并验证该目录中至少创建了七个扩展名为 .rec 的文件。

|
返回主题
处理捕获的负载
在上一个子主题中,您捕获了负载。在使用捕获的负载进行重放之前,必须对其进行处理。在处理过程中,会将捕获的数据转换为重放文件,并创建所需的元数据。执行下列步骤,对捕获的负载进行处理:
| 1. |
返回到企业管理器数据库控制中的 Database Replay 页面。要进行 Preprocess Captured Workload 任务,单击 Go to Task 图标。注:在重放负载的版本上,对捕获负载的预处理只需进行一次。

|
| 2. |
从 Capture Directory 下拉菜单中,选择您在上一个子主题中为捕获指定的目录对象。

|
| 3. |
显示汇总信息。单击 Preprocess Workload。

|
| 4. |
显示 Preprocess Captured Workload:Database Version 页面。查看显示的信息。单击 Next。

|
| 5. |
显示 Preprocess Captured Workload:Schedule 页面。接受默认作业名称和起始时间的默认值 Immediately。输入主机用户名与口令。单击 Next。

|
| 6. |
显示 Preprocess Workload:Review 页面。查看显示的信息。单击 Submit。

|
| 7. |
显示一条确认消息。单击 View Job。

|
| 8. |
显示 Job Run 页面。验证作业状态为“SUCCEEDED”。单击 Database 选项卡。

|
返回主题
重放负载
企业管理器可用于重放负载。此外,负载重放还可以通过使用与重放数据库连接的重放客户端实现。执行下列步骤,重放负载:
| 1. |
返回到终端窗口。转到 dbreplay 目录。执行 wcr_demo_init.csh 脚本,将数据库恢复到原始状态。

|
| 2. |
返回到企业管理器数据库控制。选择 Software and Support 选项卡。

|
| 3. |
在 Real Application Testing 下方,选择 Database Replay。

|
| 4. |
要进行 Replay Workload 任务,单击 Go to Task 图标。

|
| 5. |
在 Replay Directory 下拉菜单中,选择包含您的捕获数据的目录对象 (CAPDIR)。

|
| 6. |
页面将使用与您的捕获有关的信息刷新。单击 Set Up Replay。

|
| 7. |
显示 Replay Workload:Prerequisites 页面。根据本教程的目的,此处无需进行任何更改。单击 Continue。

|
| 8. |
显示 Replay Workload:References to External Systems 页面。再次单击 Continue。

|
| 9. |
显示 Replay Workload:Choose Initial Options 页面。在 Replay Name 域中输入一个名称,或接受默认值。单击 Next。

|
| 10. |
显示 Replay Workload:Customize Options 页面。在此教程中,由于是在同一数据库实例上重放,因此无需进行任何更改。单击 Next。

|
| 11. |
显示 Replay Workload:Prepare Replay Clients 页面。系统提示您需要与重放客户端连接。您将通过几个步骤完成与客户端的连接。单击 Next。

|
| 12. |
显示 Replay Workload:Wait for Client Connections 页面。

|
| 11. |
返回到终端窗口,并执行以下命令来启动重放客户端。指定的用户必须具有 BECOME USER 权限。
wrc REPLAYDIR=<capture directory path> USERID=system PASSWORD=<system password>

|
| 12. |
返回到企业管理器数据库控制。检测到连接。在 Replay Workload: Wait for Client Connections 页面上,单击 Next。

|
| 13. |
显示 Review 页面。单击 Submit。

|
| 14. |
显示 View Workload Replay 页面。您可以观察到重放的进展。


|
| 15. |
在负载重放完成后,状态变更为“COMPLETED”。


|
| 16. |
返回到终端窗口,您会看到屏幕显示的“Replay finished”消息,并发现控制权已返回给操作系统。

|
返回主题
通过执行下列步骤,您可以查看多个数据库重放报表:
| 1. |
切换回企业管理器,在 View Workload Replay 窗口中单击 Report 选项卡。

|
| 2. |
在 Workload Replay 报表下方,单击 Run Report。
注:如果未显示报表,请确保您的浏览器没有阻止弹出窗口。
|
| 3. |
查看报表上的信息。完成时,单击 OK。
|
| 4. |
您也可以查看 AWR Compare Period 报表。单击 Run Report。
|
| 5. |
将在屏幕中显示报表。查看该报表。完成时,单击 OK。
|
返回主题列表
在本教程中,您学习了如何:
返回主题列表
将鼠标置于该图标上可以隐藏所有的屏幕截图。
|