Oracle 11g数据库重放教程(三):复杂任务的负载重放全程讲解
2008-09-02 12:46:49 来源:WEB开发网准备捕获负载:现在我们的源数据库环境已经就绪了,我将启动一个真实的负载捕获,Listing 3.1(见附件)显示了我如何使用存储过程DBMS_WORKLOAD_CAPTURE.ADD_FILTER应用一些过滤器来排除那些产生“不感兴趣”活动的用户会话以及在捕获过程中可以忽略的会话,在本例中,我比想捕获EM控制台自身的活动。
开始捕获:Listing 3.2(见附件)显示了我是如何使用存储过程DBMS_WORKLOAD_CAPTURE.START_CAPTURE启动负载捕获的,这个存储过程首先检查目标目录(DBRCONTROL)中是否有以前执行负载捕获的文件,如果有,它会返回一个错误,并且不允许捕获继续,然而,只要捕获启动成功,DB10G数据库的警报日志将会识别出一个DBR捕获操作正在进行:
. . .
Mon Jun 23 19:40:41 2008
alter SYSTEM SET pre_11g_enable_capture=TRUE SCOPE=BOTH;
Mon Jun 23 19:40:44 2008
DBMS_WORKLOAD_CAPTURE.START_CAPTURE(): Starting
database capture at 06/23/2008 19:40:44
. . .
因为我正在一个Oracle 10gR2数据库上捕获,在开始捕获前,我将动态初始化参数PRE_11G_ENABLE_CAPTURE设置为TRUE。
生成负载:为了模拟不同用户相似代码的并行执行,我准备一个shell脚本(10gSI_RandomLoadGenerator.sh),它与本系列前面文章中的shell脚本类似,它启动大约80个用户会话随机执行一些简单的CPU密集型计算的查询,在AP方案上生成复杂的查询,执行往AP方案表中插入几千行数据的DML操作。
同时,我将DB10G数据库配置为只使用一个服务名(DB10G),不考虑操作的类型,并且在我的TNSNAMES.ORA配置文件中添加了这个服务名。(在后面的步骤中,在Oracle 11gR1 RAC环境中我将描述如何使用DBMS_WORKLOAD_REPLAY.REMAP_CONNECTION重新映射这个连接到不同的服务名)
- ››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修改表的两种方式
赞助商链接