Oracle 11g数据库重放教程(三):复杂任务的负载重放全程讲解(1)(2)
第二阶段:准备重放
当我成功地完成从Oracle10gR2单实例数据库上捕获负载后,开始准备我的目标环境 -- Oracle11gR1 RAC集群数据库:
我配置了一个双节点RAC(RACNODE1和RACNODE2),使用使用Oracle clusterware 11.1.0.6.0配置和管理集群环境。
我在集群中每个节点上部署了一个Oracle 11.1.0.6.0 ASM实例,在共享磁盘存储上为数据库文件创建了两个ASM磁盘组+DATA,+FRA。
我使用Oracle 11gR1的标准种子数据库模板创建一个新的RAC数据库RACDB,部署了两个RAC实例RACDB1和RACDB2,每个节点上一个,通过一个监听器提供服务。
我部署了一个新的RAC服务TESTLBA作为这两个节点对外提供的服务,并将连接数调整为最大,使用负载均衡顾问程序(LBA)跨这两个实例分配连接以模拟一个OLTP环境,Listing 3.5(见附件)显示了srvctl命令调用DBMS_SERVICE.MODIFY_SERVICE和为TESTLBA服务配置的TNSNAMES.ORA网络配置项目。
最后,我在RACDB集群数据库严格地创建了与之前在DB10G数据库上创建的一样的表,索引和PL/SQL包。然后执行APInitialization.sql脚本初始化表AP.VENDORS,AP.INVOICES和AP_INVOICE_DETAILS。
准备负载:至此我的数据库重放目标环境已经就绪了,下面为在RAC环境重放做最后的准备的工作:
在节点RACNODE1和RACNODE12上添加新的目录/home/oracle/DBRControl。
在RACDB数据库中创建一个新的目录对象DBRCONTROL,同时在每个节点上也在其物理位置创建了响应的目录,并给这个目录对象授予了合适的权限。
我将在DB10G数据库上捕获负载时产生的文件分别复制到这两个节点的相同目录下了,注意也可以将这些文件只复制到其中一个节点,因为在RAC集群环境中,任何一个节点都可以管理重放负载。
最后,我执行存储过程DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE为重放对先前捕获的负载做预处理工作,这个存储过程解析在DB10G数据库上的用户会话操作,为在RACDB上重放做预处理。
Listing 3.6(见附件)显示了我在集群节点上创建物理目录和在RACDB数据库中创建对应的目录对象的命令,以及(在将所有文件复制到合适的物理目录下后)如何执行存储过程DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE进行负载预处理的。



