Oracle11G数据库重演测试
数据库重演测试
数据库版本: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数据库重演测试相关推荐
- 安装oracle11g数据库
安装oracle11g数据库 一.oracle11g下载 二.oracle安装 第一步:配置安全更新 第二步:安装选项 第三步:系统类,选择默认的"桌面类" 第四步:典例安装,重要 ...
- oracle11g数据库导入导出
oracle11g数据库导入导出: ①:传统方式--exp(导出)和(imp)导入: ②:数据泵方式--expdp导出和(impdp)导入; ③:第三方工具--PL/sql Develpoer; 一. ...
- oracle11g数据库升级
Oracle支持周期 Oracle对自己产品也一样,对于自己的产品在不同的时期,支持的强度是不一样的. 大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Exten ...
- benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明
关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...
- sysbench-系统、数据库压力测试工具
sysbench是一款简单易用的压力测试工具,可以测试cpu,memory,fileio,mysql数据库; sysbench安装方法: 默认的epel源中的sysbench是0.4版本的,现在已经到 ...
- oracle 语句 在线测试,2017年Oracle数据库基础测试答案.doc
. . word完美格式 2017年Oracle数据库基础测试答案 姓名 成绩 一.单项选择题(每题1分,共60分) 列出EMP表中,从事每个工种(JOB)的员工人数 A.select job fro ...
- 亚信科技数据库AntDB通过金融分布式事务数据库标准测试
近日,南京, 中国信息通信研究院云计算与大数据研究所(以下简称"中国信通院云大所")组织专家对亚信科技(股票代码:01675.HK)的数据库产品AISWare AntDB(以下简称 ...
- jmeter数据库负载测试_JMeter:负载测试关系数据库
jmeter数据库负载测试 Apache JMeter是完全使用Java编写的性能测试工具. 可以在请求/响应模型上运行的任何应用程序都可以使用JMeter进行负载测试. 关系数据库也不例外:接收sq ...
- 测试jdbc连mysql数据库_java连接mysql数据库及测试是否连接成功的方法
本文实例讲述了java连接mysql数据库及测试是否连接成功的方法.分享给大家供大家参考,具体如下: package com.test.tool; import java.sql.Connection ...
最新文章
- 【量化投资】策略五(聚宽)
- 前端学习(1888)vue之电商管理系统电商系统之在sessionStrorage中保存按钮的激活状态
- 写给偷偷老去的80后
- Android网络性能监控方案
- php正则表达式2,php正则表达式基本语法(2)
- 2. PHP 自动转义函数
- ROS2入门教程—录制/回放数据
- 【STM32】简介及f4 GPIO八种模式及工作原理详解(含电路原理三极管等一步到位了解GPIO)
- 【verbs】ibv_query_port()
- IAR的View视图菜单中Watch、 Live Watch、 Quick Watch、 Auto、 Locals、 Statics这几个子菜单的含义和区别
- CentOS7环境安装oracleRAC集群遇到的问题总结二(执行root.sh报错ORA-15018和ORA-15020)
- 怎么把图片文件压缩到最小?
- Basler Blaze-101开发实践(1)——实时采图
- 全世界199个国家首都经纬度
- oracle10g rac启动,oracle 10G rac启动与关闭正常顺序
- 微信iPad协议,个人号API开发
- 【聚划算 Android 技术周刊 第五期- 20160912】
- 博世BMI088官方代码库解析
- Jetpack之DataBinding,android蓝牙开发教程
- Jenkins中使用Git和Maven之多个项目
热门文章
- 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握
- 笔记本计算机内部部件图片,笔记本内部硬件构造图
- RCLAMP0544T 国产替代上海雷卯ULC0544T
- 我见众生皆无意,唯有见你动了情(表白日记分享篇)
- AndroidStudio无法识别字体文件(*.ttf)问题的解决
- MacPS安装服务器当前无响应,最新:M1芯片Mac安装Photoshop2021闪退/卡在启动屏页解决办法...
- 不一样的视角,不一样的VR
- 数据库不能读取也不能打开的解决办法
- 半监督异常检测(Anomaly Detection)的研究线
- WEB前端开发工程师 学习第二天 文字文本