PSP抓堆栈信息与审查DMDSC核心参数

PSP抓堆栈信息与审查DMDSC核心参数


DM技术交流QQ群:940124259

1. 简单描述

在项目中常遇到系统瓶颈,绝望时可通过以下脚本快速定位追踪堆栈信息,严格审查DMDSC集群GBS/LBS核心参数(涉及内存交换的瓶颈)。至于分析数据库系统瓶颈的具体原因,靠自身工作经验积累和总结,但可通过以下提供的工具提取到数据库有关线程调用模块信息,向我方厂家技术人员反馈现场问题,提交相应的堆栈信息供我方参考分析,并迅速提供技术支持和解答。


2. PSP抓堆栈脚本

###### PSP抓堆栈的,在dmserver所在bin目录运行,当前目录下只有dmserver,不然 pid要改成=$1 做成位置参数


#!/bin/bash
nsamples=1
sleeptime=0
pid=$(pidof $pwd/dmserver)
#pid=24032
ss=$(date +%F%H%M%S.dmserver.t)
for x in $(seq 1 $nsamples)
  do
    gdb -ex "set pagination 0" -ex "thread apply all bt" -batch -p $pid
    sleep $sleeptime
  done >$ss
cat $ss|awk '
  BEGIN { s = ""; }
  /^Thread/ { print s; s = ""; }
  /^\#/ { if (s != "" ) { s = s "," $4} else { s = $4 } }
  END { print s }' | \
sort | uniq -c | sort -r -n -k 1,1


3. 审查DMDSC核心参数

--数据库参数核查DMDSC
with a as(
select 2 f1,'DSC_HALT_SYNC' n,'0'  v ,'' f union all
select 2 f1,'DSC_TRX_CMT_OPT' n,'1'  v ,'' f union all
select 2 f1,'DSC_USE_SBT' n,'1'  v ,'' f union all
select 2 f1,'DSC_REMOTE_READ_MODE' n,'1'  v ,'' f union all
select 2 f1,'DSC_TRX_VIEW_SYNC' n,'0'  v ,'' f union all
select 2 f1,'LOCK_DICT_OPT' n,'2'  v ,'' f union all
select 2 f1,'DSC_N_CTLS' n,'50000'  v ,'' f union all
select 2 f1,'DSC_N_POOLS' n,'101'  v ,'#Number Of LBS/GBS pools' f union all
select 2 f1,'DSC_ENABLE_MONITOR' n,'0'  v ,'' f union all
select 2 f1,'DSC_FILE_INIT_ASYNC' n,'0'  v ,'' f union all
select 2 f1,'TRX_DICT_LOCK_NUM' n,'1024'  v ,'' f union all
select 2 f1,'DSC_TRX_CMT_LSN_SYNC' n,'0'  v ,'' f
)
select a.*,b.PARA_VALUE,b.FILE_VALUE,case when (v!=file_value or file_value is null) then 'sp_set_para_value(2,'''||n||''','''||v||''');' else '' end from a,v$dm_ini b where a.n=b.para_name(+);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值