oracle client home 多个版本_Oracle在HPUX IA64平台登陆缓慢问题分析

出处:墨天轮(https://www.modb.pro/db/6951 复制链接至浏览器,即可查看)

本文为原创文章,如有转载,请标明出处

今年以来,在某客户现场遇到了2次HPUX IA64平台11g及12c某些版本登陆速度缓慢的问题(包含本地及远程sqlplus/jdbc登陆都慢),经过大量测试分析,最终确定Oracle的某些PSU存在缺陷,导致在HPUX IA64平台上登陆时间大幅增加。

具体的版本如下:

1、11.2.0.4PSU20181016,本地sqlplus登陆300-400ms,同比11.2.0.4.8以下版本不到100ms,11.2.0.1则不到10ms;

2、12.2.0.1PSU20180417,本地sqlplus登陆500ms-1s,同比12.2.0.1PSU20180129以下版本大约100ms。

问题描述


对某厂商生产系统核心库深度巡检中,发现在类似的登陆频度下,11g和12c的登陆消耗差距巨大:

11.2.0.4.8版本库:

4d6a034a7008646ebe9cb692a63798c8.png
c2b6bf8be067d38ab317fd78825110dc.png

12.2.0.1PSU20180417:

bf33a656b87884b6c2be95ba242df0cc.png
63a45f252f43d7869ef096664c06e3c8.png
d1c907fca70bdcf4ee1a4feb6d6fbe9a.png

可以看到12c登陆消耗的DB TIME高达48%,为11g的400倍,消耗时间为3423s,为11g的122倍!

问题分析


按前面的脚本分别测试sqlplus本地连接,11g小于30ms,12c为400ms,差距10倍以上。

11.2.0.4.8:

21c61b2e37e5fbe2cbb0d40dbcefafc8.png

12.2.0.1PSU2018106:

648e46911226a782e3519b230c510d8e.png

登陆连接分析

通过在Oracle MOS上开SR,给出如下跟踪建议:

1. 创建针对dbatest用户的logon trigger,自动产生10046(测试完毕以后,请删除这个trigger< drop trigger sqlldr_logon >)。CREATE OR REPLACE TRIGGER sqlldr_logonAFTER LOGON ON DBATEST.SCHEMABEGINexecute immediate 'alter session set tracefile_identifier="sqlldr"';execute immediate 'alter session set events ''10046 trace name context forever, level 12''';END;/

2. 开启net trace

Action Plan==========1). Please add the following into client machine,sqlnet.oraTRACE_LEVEL_CLIENT=16TRACE_DIRECTORY_CLIENT=/tempTRACE_TIMESTAMP_CLIENT=TRUEDIAG_ADR_ENABLED=off2).In server sqlnet.ora,add the following items.==========--Add to a srever SQLNET.ORA file==========NAMES.DIRECTORY_PATH= (TNSNAMES)TRACE_TIMESTAMP_SERVER=TRUEDIAG_ADR_ENABLED=offTRACE_LEVEL_SERVER = 16TRACE_TIMESTAMP_CLIENT = ONTRACE_DIRECTORY_SERVER = /temp/nettrace==========3). --Add the following in listener.oraDIAG_ADR_ENABLED_LISTENER = OFF3. 服务器端测试$rm /tmp/12.log$ /usr/local/bin/tusc -aepo /temp/12.log -T %H:%M:%S sqlplus dbatest/dbatest@ORADB

Client net trc可以看出08:04:11.899客户端发起连接:

77e15faafc0724dbc62bcb37b3f6cd85.png

但是Server端08:04:12.127才开始接收请求,延迟0.22ms,说明不少时间消耗在OS层面的处理上面:

f7cc63c1dc51c11992a91feb824facd8.png

分析tusc的文件,发现2个系统调用消耗绝大多数时间:

a.sigtimedwait调用超时36次,消耗391ms

c391648a008937253ccdf79987af03d4.png

b.登陆成功前read系统调用消耗437ms

443e14559225b68d765462b8099eced1.png

而检查登陆正常的11g及12c版本库,发现没有sigtimedwait系统调用,read系统调用在10ms左右!

4.版本测试

尝试打上最新的PSU20190716,故障现象依旧。

随后SR也重现了此现象,认为可能是一个oracle缺陷,并准备开一个defect处理:

ef0b0a58cad0454f5e588c41bcabe2ef.png

问题解决


从上述测试分析推断,Oracle某些PSU存在缺陷,导致在HPUX IA64平台上登陆时间大幅增加。

目前看12.2.0.1是从PSU20180417(27674384)开始的,11.2.0.4推测也可能是PSU20180417(27338049)

建议方案


1、对于数据库短连接较多的情况,由于此BUG存在,客观造成了连接资源的增加。建议协调应用尽可能改造成长连接,减少相关资源消耗;

2、持续跟进SR,督促Oracle公司给出补丁(11g已经不出补丁了,12c周期也可能比较长);

3、如果无法解决并且此问题影响生产,可以尝试卸载对应的PSU到20180417版本以下。

想了解更多关于数据库、云技术的内容吗?

快来关注“数据和云"、"云和恩墨"公众号及"云和恩墨"官方网站,我们期待大家一同学习与进步!

273a3c4109826f0f1eae9cbad6ee761f.png

墨天轮小程序”DBASK“在线问答,随时解惑,欢迎了解和关注!

7e32ce456ec146ad2293d98b479d7b42.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值