Oracle 11g数据库重放教程(三):复杂任务的负载重放全程讲解
2008-09-02 12:46:49 来源:WEB开发网第三阶段:重放负载
现在我的RAC数据库已经准备好可以接受执行重放先前捕获的负载了,如前面的文章谈到的那样,使用Oracle 11g EM进行重放时必须按照严格的顺序执行,调用存储过程DBMS_WORKLOAD_REPLAY执行重放时这些步骤也必须按步骤执行,重新映射所有的连接,调整所有自定义重放频率设置,收集重放性能,回归统计报表收集。
启动数据库负载重放:为了启动数据库重放,我将使用存储过程DBMS_WORKLOAD_REPLAY.INITIATE_REPLAY,它将吧RACDB数据库置为INIT FOR REPLAY状态,是通过存储过程DBMS_WORKLOAD_REPLAY.PREPARE_REPLAY将数据库置为PREPARE状态的必要前提条件。
重新映射连接字符串:为了保证将所有参与在DB10G数据库上生成负载的会话重新映射到RACDB上对应的TESTLBA负载均衡连接上,我将使用存储过程DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION。
参考Listing 3.7(见附件)中关于如何调用这两个存储过程以及如何查看重新映射连接的结果的例子。
自定义负载重放选项:正如我在数据库重放入门那篇文章中谈到的那样,Oracle 11g允许DBA自己精细控制重放的频率,负载重放客户端可以提供存储过程DBMS_WORKLOAD_REPLAY.PREPARE_REPLAY设置多个额外的参数被牢牢控制:
表3.1重放客户端选项
重放选项描述SYNchrONIZATION定义生产负载时是否使用SYNchrONIZATION:l TRUE:这是默认值,在重放过程中捕获的负载中将被保留的COMMIT的顺序,所有重放动作只有当所有依赖的COMMIT动作执行完毕后才能执行。l FALSE:原始的COMMIT顺序不会得到遵从,这样很可能会返回大量的数据分歧,但它在载入或压力测试时非常有用。THINK_TIME_SCALE定义同一会话两个连续用户调用之间说花费的时间,因此由它驱动重放的速度:l 默认值是100,或原始负载产生速度的100%。l 如果设置为0,连续发送到重放数据库的速度会是尽可能地快。l 如果设置的值大于100%,那速度就响应减低了。THINK_TIME_AUTO_CORRECT基于指定的百分比纠正用户调用之间的THINK_TIME_SCALE,将这个参数设置为TRUE,重放客户端将被强制缩短调用之间的“思考时间”,以便让重放说花费的时间与最初收集的时间相匹配。
注意数据库重放负载捕获时间与负载重放时间之间的区别:
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
赞助商链接