数据库重演测试

数据库版本:11.2.0.3

OS: rhel6.5

由于数据库服务器硬件调整,参数调整,为测试新硬件环境数据库是否满足性能需求,可通过数据库重演来进行测试。

一下是否生产环境扩内存、调整参数,测试数据库性能的影响。

详细测试步骤

概述

本次测试通过数据重演的方式,在主库抓取一段时间的工作量,然后数据卫士转换为快照备库,然后在快照备库做必要的变更,然后重演主库的工作量,最后比较主库和备库该时间段的数据库负载情况。

数据卫士变更:

内存从16G扩到32G

存储电池更换了,从直写模式变更为回写模式(io性能有提升)

内核参数调整

关闭不必要服务

sga从8000M调整为 SGA=20G PGA=5G

数据库参数调整,关闭直接路径读,关闭自适应游标共享,关闭

1、主库操作捕获工作量

1.1 创建捕获所需目录

mkdir /home/oracle/db_replay_capture

create directory db_replay_capture_dir AS '/home/oracle/db_replay_capture/';

1.2 修改数据卫士归档同步

alter system set log_archive_dest_state_2=defer ;

1.3开始捕获

begin

dbms_workload_repository.create_snapshot();

end;

/

BEGIN

DBMS_WORKLOAD_CAPTURE.start_capture (name     => 'czonline_capture_1',

dir      => 'DB_REPLAY_CAPTURE_DIR',

duration => NULL);

END;

/

1.4 等待一段时间

1.5 停止捕获

BEGIN

DBMS_WORKLOAD_CAPTURE.finish_capture;

END;

/

1.5获取捕获相关信息

有两种方法:

(1)使用GET_CAPTURE_INFO  函数

SQL> SELECT DBMS_WORKLOAD_CAPTURE.get_capture_info('DB_REPLAY_CAPTURE_DIR') FROM dual;

SQL>SELECT a.id,a.name,a.start_scn,a.end_scn,a.duration_secs FROM dba_workload_captures a;

ID NAME                                                                            START_SCN                 END_SCN             DURATION_SECS

-------------------- ------------------------------------------------------------ -------------------- -------------------- --------------------

1 czonline_capture_1                                                      12091196928892          12091197126882                1481

DECLARE

l_report  CLOB;

BEGIN

l_report := DBMS_WORKLOAD_CAPTURE.report(capture_id => 1,

format     =>DBMS_WORKLOAD_CAPTURE.TYPE_HTML);

END;

/

BEGIN

DBMS_WORKLOAD_CAPTURE.export_awr (capture_id => 1);

END;

/

2、数据卫士变更操作准备

2.1 检查fast_recovery_area

SQL> show parameter db_recover

NAME                                        TYPE       VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest                   string     /opt/oracle/fast_recovery_area/LLISPbak

db_recovery_file_dest_size         big integer 10G

2.2 数据卫士应用日志到指定scn

alter database recover managed standby database until change 12091196928892 disconnect from session;

这边的scn通过主库查询到

SELECT * FROM dba_workload_captures;   ----查看这边的start_time,ent_time貌似错误的

2.3 备份参数文件

create pfile=’/home/oracle/initLLISP.ora.20170816’ from spfile;

cp $ORACLE_HOME/dbs/

cp spfileLLISPbak.ora spfileLLISPbak.ora.20170816

2.4 修改数据库参数

@?/rdbms/admin/catuppst.sql

@?/rdbms/admin/utlrp.sql

EXECUTE  dbms_stats.gather_dictionary_stats;

set line 200

col action for a26

col comments for a40

select * from dba_registry_history ;

select comp_name,status,version FROM dba_server_registry

----修改进程优先级

alter system set "_high_priority_processes"='LMS*|LGWR|PMON|VKTM' scope=spfile;

alter system set audit_trail = none scope=spfile;

alter system set "_undo_autotune"=FALSE;

alter system set open_cursors = 500 scope=spfile;

alter system set session_cached_cursors = 100 scope=spfile;

alter system set sga_max_size =21G scope=spfile;

alter system set sga_target =20G scope=spfile;

alter system set pga_aggregate_target=5G scope=spfile;

alter system set "_serial_direct_read"=never scope=spfile;

alter system set event ="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1" scope=spfile;

alter system set "_optimizer_use_feedback"=FALSE scope=spfile;

alter system set "_optimizer_adaptive_cursor_sharing"=FALSE scope=spfile;

alter system set "_optimizer_extended_cursor_sharing_rel" = none scope=spfile;

alter system set "_optimizer_extended_cursor_sharing” = none scope=spfile;

alter system set "_optimizer_use_feedback" = FALSE scope=spfile;

alter system set events '10949 trace name context forever, level 1';

alter system set  “_use_adaptive_log_file_sync” = FALSE scope=both;

2.5 关闭非必要服务

service abrt-ccpp stop

service abrt-oops stop

service abrtd stop

service acpid stop

service cpuspeed stop

service cups stop

chkconfig abrt-ccpp off

chkconfig abrt-oops off

chkconfig abrtd off

chkconfig acpid off

chkconfig cpuspeed off

chkconfig cups off

2.6 关闭transparent_hugepage

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

把上述命令加到rc.local文件中

2.7 启用大内存页

vm.nr_hugepages = 20500

并查看grep  -i huge /proc/meminfo 是否生效

2.8 修改/etc/security/limits.conf

此处以K为单位,32G内存则改为

oracle  hard   memlock  22020096

oracle  soft   memlock   22020096

2.9 修改shm大小,以满足sga

vim /etc/fstab

tmpfs   /dev/shm  tmpfs  defaults,size=20500M  0  0

mount -o remount /dev/shm

2.10 转换物理备库为快照备库

alter database convert to snapshot standby;

shutdown immediate

startup

2.11 创建directory所需目录(主库utl_file目录)

mkdir -p /opt/duizhang/chl /opt/duizhang/mer /opt/duizhang/coop /opt/ftp /opt/duizhang/gdjyk

chown -R oracle:oinstall /opt/duizhang/chl /opt/duizhang/mer /opt/duizhang/coop /opt/ftp /opt/duizhang/gdjyk

3、重演工作量

3.1 创建重演所需目录

mkdir /home/oracle/db_replay_dir

create directory db_replay_dir AS '/home/oracle/db_replay_dir/';

3.2 从主库拷贝捕获文件到目标端

cd /home/oracle/db_replay_capture

scp -r * oracle@10.20.71.19: /home/oracle/db_replay_dir/

3.3使用Initializing replay 装载metadata到tables里

begin

dbms_workload_replay.process_capture(capture_dir => 'DB_REPLAY_DIR');

dbms_workload_replay.initialize_replay('czonline_replay_3', 'DB_REPLAY_DIR');

dbms_workload_replay.PREPARE_REPLAY();

end;

/

--检查replay的状态:

set lin 160

col name for a20

col status for a20

select id,name,status from  dba_workload_replays;

NAME                 STATUS

-------------------- --------------------

guard_capture_1       PREPARE

--执行之后,replay client 被暂停,并等待start replay 。

3.5需要WRC模拟重演客户端

wrc mode=calibrate replaydir=/home/oracle/db_replay_dir

wrc system/StOnl0#1123  mode=replay replaydir=/home/oracle/db_replay_dir

3.6 开始重放

exec dbms_workload_replay.start_replay();

3.7 等待replay client结束

--返回replay client窗口,等dba_workload_replays中的状态变成compelte就完成replay。此时replayclient会显示操作开始和结束的时间

4、 完成重演后,进行性能比较

可以对比2个时间段的awr报告

对比os系统的各项指标进行比较

5、比对性能

主要通过AWR报告。进行性能比较

6、恢复数据卫士为物理备库

shutdown immeidate

SQL> startup mount

SQL> alter database convert to physical standby;

kkjcre1p: unable to spawn jobq slave process, slot 0, error 1089

Oracle11G数据库重演测试相关推荐

  1. 安装oracle11g数据库

    安装oracle11g数据库 一.oracle11g下载 二.oracle安装 第一步:配置安全更新 第二步:安装选项 第三步:系统类,选择默认的"桌面类" 第四步:典例安装,重要 ...

  2. oracle11g数据库导入导出

    oracle11g数据库导入导出: ①:传统方式--exp(导出)和(imp)导入: ②:数据泵方式--expdp导出和(impdp)导入; ③:第三方工具--PL/sql Develpoer; 一. ...

  3. oracle11g数据库升级

    Oracle支持周期 Oracle对自己产品也一样,对于自己的产品在不同的时期,支持的强度是不一样的. 大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Exten ...

  4. benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明

    关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...

  5. sysbench-系统、数据库压力测试工具

    sysbench是一款简单易用的压力测试工具,可以测试cpu,memory,fileio,mysql数据库; sysbench安装方法: 默认的epel源中的sysbench是0.4版本的,现在已经到 ...

  6. oracle 语句 在线测试,2017年Oracle数据库基础测试答案.doc

    . . word完美格式 2017年Oracle数据库基础测试答案 姓名 成绩 一.单项选择题(每题1分,共60分) 列出EMP表中,从事每个工种(JOB)的员工人数 A.select job fro ...

  7. 亚信科技数据库AntDB通过金融分布式事务数据库标准测试

    近日,南京, 中国信息通信研究院云计算与大数据研究所(以下简称"中国信通院云大所")组织专家对亚信科技(股票代码:01675.HK)的数据库产品AISWare AntDB(以下简称 ...

  8. jmeter数据库负载测试_JMeter:负载测试关系数据库

    jmeter数据库负载测试 Apache JMeter是完全使用Java编写的性能测试工具. 可以在请求/响应模型上运行的任何应用程序都可以使用JMeter进行负载测试. 关系数据库也不例外:接收sq ...

  9. 测试jdbc连mysql数据库_java连接mysql数据库及测试是否连接成功的方法

    本文实例讲述了java连接mysql数据库及测试是否连接成功的方法.分享给大家供大家参考,具体如下: package com.test.tool; import java.sql.Connection ...

最新文章

  1. 【量化投资】策略五(聚宽)
  2. 前端学习(1888)vue之电商管理系统电商系统之在sessionStrorage中保存按钮的激活状态
  3. 写给偷偷老去的80后
  4. Android网络性能监控方案
  5. php正则表达式2,php正则表达式基本语法(2)
  6. 2. PHP 自动转义函数
  7. ROS2入门教程—录制/回放数据
  8. 【STM32】简介及f4 GPIO八种模式及工作原理详解(含电路原理三极管等一步到位了解GPIO)
  9. 【verbs】ibv_query_port()
  10. IAR的View视图菜单中Watch、 Live Watch、 Quick Watch、 Auto、 Locals、 Statics这几个子菜单的含义和区别
  11. CentOS7环境安装oracleRAC集群遇到的问题总结二(执行root.sh报错ORA-15018和ORA-15020)
  12. 怎么把图片文件压缩到最小?
  13. Basler Blaze-101开发实践(1)——实时采图
  14. 全世界199个国家首都经纬度
  15. oracle10g rac启动,oracle 10G rac启动与关闭正常顺序
  16. 微信iPad协议,个人号API开发
  17. 【聚划算 Android 技术周刊 第五期- 20160912】
  18. 博世BMI088官方代码库解析
  19. Jetpack之DataBinding,android蓝牙开发教程
  20. Jenkins中使用Git和Maven之多个项目

热门文章

  1. 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握
  2. 笔记本计算机内部部件图片,笔记本内部硬件构造图
  3. RCLAMP0544T 国产替代上海雷卯ULC0544T
  4. 我见众生皆无意,唯有见你动了情(表白日记分享篇)
  5. AndroidStudio无法识别字体文件(*.ttf)问题的解决
  6. MacPS安装服务器当前无响应,最新:M1芯片Mac安装Photoshop2021闪退/卡在启动屏页解决办法...
  7. 不一样的视角,不一样的VR
  8. 数据库不能读取也不能打开的解决办法
  9. 半监督异常检测(Anomaly Detection)的研究线
  10. WEB前端开发工程师 学习第二天 文字文本