暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
一次大页参数的调整.txt
939
5页
7次
2020-08-06
10墨值下载
客户某双节点环境:
##主机型号、数据库版本
cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
sqlphbqzdb01:/picclife/app/oracle$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
##主机内存信息
[root@hbqzdb01 ~]# free -m
total used free shared buff/cache available
Mem: 64247 58459 1917 1217 3870 3982
Swap: 16383 8501 7882
##当前 Oracle 数据库 sgapga 大小
sga_target big integer 37248M
sga_max_size big integer 37248M
pga_aggregate_limit big integer 24772M
pga_aggregate_target big integer 12386M
##当前主机大页相关参数
[root@hbqzdb01 ~]# grep Huge /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 25600
HugePages_Free: 6462
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
**当前大页总大小是:25600*2/1024=50G,远远大于 SGA 设置大小,客户要求把大页大小与 SGA 大小设
置相近
##当前 SGA 相关参数
cat /etc/sysctl.conf
vm.nr_hugepages = 25600
cat /etc/security/limits.conf
oracle soft memlock unlimited
oracle hard memlock unlimited
修改过程:
1.估算 hugepages 的大小 <== hugepages_settings.sh
cat hugepages_settings.sh
#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
# on Oracle Linux
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
#
# This script is provided by Doc ID 401749.1 from My Oracle Support
# http://support.oracle.com
# Welcome text
echo "
This script is provided by Doc ID 401749.1 from My Oracle Support
(http://support.oracle.com) where it is intended to compute values for
the recommended HugePages/HugeTLB configuration for the current shared
memory segments on Oracle Linux. Before proceeding with the execution please
note following:
* For ASM instance, it needs to configure ASMM instead of AMM.
* The 'pga_aggregate_target' is outside the SGA and
you should accommodate this while calculating SGA size.
* In case you changes the DB SGA size,
as the new SGA will not fit in the previous HugePages configuration,
it had better disable the whole HugePages,
start the DB with new SGA size and run the script again.
And make sure that:
* Oracle Database instance(s) are up and running
* Oracle Database 11g Automatic Memory Management (AMM) is not setup
(See Doc ID 749851.1)
* The shared memory segments can be listed by command:
# ipcs -m
Press Enter to proceed..."
read
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk '{print $2}'`
if [ -z "$HPG_SZ" ];then
echo "The hugepages may not be supported in the system where the script is
being executed."
exit 1
fi
# Initialize the counter
NUM_PG=0
# Cumulative number of pages required to handle the running shared memory
segments
for SEG_BYTES in `ipcs -m | cut -c44-300 | awk '{print $1}' | grep "[0-9][0-
9]*"`
do
MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
if [ $MIN_PG -gt 0 ]; then
NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
fi
done
RES_BYTES=`echo "$NUM_PG * $HPG_SZ * 1024" | bc -q`
# An SGA less than 100MB does not make sense
# Bail out if that is the case
if [ $RES_BYTES -lt 100000000 ]; then
echo "***********"
echo "** ERROR **"
echo "***********"
of 5
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜