国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析

這篇具有很好參考價(jià)值的文章主要介紹了Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

問(wèn)題:

????????用戶的數(shù)據(jù)庫(kù)在某個(gè)時(shí)間段出現(xiàn)連接數(shù)異常上漲問(wèn)題,時(shí)間持續(xù)5分鐘左右,并且問(wèn)題期間應(yīng)用無(wú)法正常連接請(qǐng)求數(shù)據(jù)庫(kù)

????????從連接數(shù)的監(jiān)控上可以看到數(shù)據(jù)庫(kù)平常峰值不到100個(gè)連接,在問(wèn)題時(shí)間段突然上漲到400以上

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

問(wèn)題分析:

????????首先查詢數(shù)據(jù)庫(kù)當(dāng)前節(jié)點(diǎn)的歷史使用最大連接數(shù)以及process參數(shù)的配置,推算問(wèn)題時(shí)間段數(shù)據(jù)庫(kù)的連接數(shù)是否已經(jīng)達(dá)到上限,從而導(dǎo)致應(yīng)用無(wú)法正常連接請(qǐng)求數(shù)據(jù)庫(kù)

---手動(dòng)創(chuàng)建快照,確保負(fù)載數(shù)據(jù)寫入歷史ash
exec dbms_workload_repository.create_snapshot();
---查詢process參數(shù)歷史最大值
select b.instance_number,b.begin_interval_time,b.end_interval_time,a.RESOURCE_NAME,a.CURRENT_UTILIZATION,a.MAX_UTILIZATION,a.LIMIT_VALUE 
    from DBA_HIST_RESOURCE_LIMIT a,dba_hist_snapshot b 
    where a.snap_id=b.snap_id and a.dbid=b.dbid and a.resource_name in('processes','sessions') and a.instance_number=b.instance_number
    and b.begin_interval_time>to_date('2023/11/27 12:00:00','yyyy/mm/dd hh24:mi:ss') and b.begin_interval_time<to_date('2023/11/27 15:30:00','yyyy/mm/dd hh24:mi:ss')
  order by b.instance_number,b.begin_interval_time
     ;

????????可以看到數(shù)據(jù)庫(kù)的歷史最大連接數(shù)為669,數(shù)據(jù)庫(kù)參數(shù)process配置為1500,alert日志頁(yè)沒(méi)看到ORA-00020:maximum number of processes (xxx) exceeded的報(bào)錯(cuò),也就是說(shuō)問(wèn)題時(shí)間段數(shù)據(jù)庫(kù)的連接數(shù)并沒(méi)有達(dá)到上限,詢問(wèn)用戶應(yīng)用的連接池配置,得到回復(fù)是連接池最大連接為500,低于數(shù)據(jù)庫(kù)的歷史最大連接數(shù)為669,因此,連接數(shù)異常上漲期間應(yīng)用無(wú)法正常請(qǐng)求連接數(shù)據(jù)庫(kù)的原因應(yīng)該為數(shù)據(jù)庫(kù)出現(xiàn)連接堆積,導(dǎo)致應(yīng)用連接池連接耗盡無(wú)法正常請(qǐng)求連接數(shù)據(jù)庫(kù)

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????接下來(lái),分析數(shù)據(jù)庫(kù)連接出現(xiàn)堆積上漲的原因,查看問(wèn)題時(shí)間段ASH里面的等等事件情況,通過(guò)等待事件評(píng)估可能的原因以及下一步的分析方向

---查看某個(gè)時(shí)間段的等待事件數(shù)量
select event,count(*)
from v$active_session_history a
where sample_time between timestamp '2023-11-27 14:20:00' and timestamp '2023-11-27 14:25:00'
group by event;
;
---查看某個(gè)等待事件的每分鐘數(shù)量
select to_char(sample_time,'yyyy-mm-dd hh24:mi'),event,count(*)
from v$active_session_history a
where sample_time between timestamp '2023-11-27 14:20:00' and timestamp '2023-11-27 14:25:00' and event='library cache pin'
group by to_char(sample_time,'yyyy-mm-dd hh24:mi'),event
order by 1;
?

????????可以看到問(wèn)題時(shí)間段,數(shù)據(jù)庫(kù)等待事件library cache pin在5分鐘內(nèi)出現(xiàn)了54885次等待,短時(shí)間內(nèi)出現(xiàn)這么高的等待肯定是有問(wèn)題的,并且從等待事件的類型以及經(jīng)驗(yàn)來(lái)看,極有可能是由于存儲(chǔ)過(guò)程,函數(shù)這類PL/SQL對(duì)象被某個(gè)會(huì)話獨(dú)占持有所導(dǎo)致

????????注:library cache pin等待一般是指會(huì)話在shared pool共享池里面申請(qǐng)對(duì)library cache庫(kù)緩存對(duì)象(比如函數(shù),存儲(chǔ)過(guò)程,包)進(jìn)行訪問(wèn)調(diào)用時(shí)(pin),由于該對(duì)象正在被獨(dú)占訪問(wèn)或是有會(huì)話正在申請(qǐng)獨(dú)占訪問(wèn),這時(shí)會(huì)話需要等待獨(dú)占會(huì)話的釋放,期間出現(xiàn)的等待事件就是library cache pin等待

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????查看是否有直接的堵塞會(huì)話指向sid,可以看到大部份的會(huì)話的堵塞會(huì)話blocking_session都是空的,沒(méi)有看到直接的堵塞源,只有出現(xiàn)少量的堵塞會(huì)話sid:2133,1516

?select blocking_session,blocking_session_serial#,count(*)
from v$active_session_history a
where sample_time between timestamp '2023-11-27 14:20:00' and timestamp '2023-11-27 14:25:00' and event='library cache pin'
group by blocking_session,blocking_session_serial#
order by 3

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????查看被堵塞的會(huì)話執(zhí)行的語(yǔ)句,分析TOP 3的語(yǔ)句調(diào)用情況

select sql_id,count(*)
from v$active_session_history a
where sample_time between timestamp '2023-11-27 14:20:00' and timestamp '2023-11-27 14:25:00' and event='library cache pin'
group by sql_id
order by 2;

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????可以看到TOP前3個(gè)語(yǔ)句都同時(shí)調(diào)用了包app_interface_pkg,這說(shuō)明library cache pin的爭(zhēng)用發(fā)生在包app_interface_pkg

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????接下來(lái),繼續(xù)分析包是否發(fā)生了修改、編譯或者重建這種需要獲取獨(dú)占模式的操作以及執(zhí)行的會(huì)話

????????查看包app_interface_pkg最近一次的ddl時(shí)間以及創(chuàng)建時(shí)間,并沒(méi)有發(fā)現(xiàn)在問(wèn)題時(shí)間段以及近期有發(fā)生過(guò)修改、編譯或者重建的操作,OS:難道分析錯(cuò)方向?先不管,繼續(xù)往下

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select object_id,object_name,created,last_ddl_time
from dba_objects
where object_name='APP_INTERFACE_PKG';

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????查看問(wèn)題時(shí)間段所有會(huì)話的操作類型,有一個(gè)重大的發(fā)現(xiàn)里面出現(xiàn)了CREATE PACKAGE創(chuàng)建包的獨(dú)占模式操作

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
col machine for a20
select SQL_OPNAME,count(*)
from v$active_session_history a
where sample_time between timestamp '2023-11-27 13:20:00' and timestamp '2023-11-27 14:22:00'
group by SQL_OPNAME;

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????查看這個(gè)執(zhí)行CREATE PACKAGE的會(huì)話,可以看到這個(gè)會(huì)話一執(zhí)行,就開(kāi)始出現(xiàn)大面積的library cache pin等待,這個(gè)會(huì)話一消失,library cache pin等待也跟著消失,并且執(zhí)行的操作應(yīng)該是沒(méi)有成功的,因?yàn)楫?dāng)時(shí)正在業(yè)務(wù)高峰期,包一直被其他會(huì)話所調(diào)用,這導(dǎo)致從開(kāi)始到結(jié)束會(huì)話一直是在等待library cache pin去獲取獨(dú)占模式,而等待的會(huì)話分別是我們之前查到的sid:2133,1516,這也剛好解釋了為什么之前看到包最近一次的ddl時(shí)間以及創(chuàng)建時(shí)間都沒(méi)有發(fā)生過(guò)修改

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
col machine for a20
select sample_time,a.SESSION_ID, sql_id,blocking_session,blocking_session_serial#,event,SQL_OPNAME
from v$active_session_history a
where sample_time between timestamp '2023-11-27 14:27:04' and timestamp '2023-11-27 14:27:06'
order by sample_time;

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析,數(shù)據(jù)庫(kù),oracle,dba,運(yùn)維,問(wèn)題分析

????????到這里,問(wèn)題已經(jīng)變得清晰,在問(wèn)題時(shí)間段有會(huì)話執(zhí)行了對(duì)包app_interface_pkg的CREATE PACKAGE操作,對(duì)該包的library cache申請(qǐng)了獨(dú)占模式,導(dǎo)致后續(xù)調(diào)用該包的會(huì)話都出現(xiàn)了library cache pin等待,最終引發(fā)了數(shù)據(jù)庫(kù)會(huì)話連接堆積,應(yīng)用連接池連接耗盡無(wú)法正常請(qǐng)求連接數(shù)據(jù)庫(kù)

問(wèn)題解決:

????????雖然通過(guò)sql_id沒(méi)有查到具體的執(zhí)行語(yǔ)句文本,但從會(huì)話的執(zhí)行程序pl/sql developer可以基本確認(rèn)是人為執(zhí)行的語(yǔ)句,將會(huì)話查到的機(jī)器名交給用戶進(jìn)行進(jìn)一步的查找,后續(xù)得到確認(rèn)在問(wèn)題時(shí)間段應(yīng)用運(yùn)維人員確實(shí)是對(duì)包app_interface_pkg執(zhí)行了編譯的操作所導(dǎo)致

????????所以,切記!生產(chǎn)無(wú)小事,三思而后行。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-754860.html

到了這里,關(guān)于Oracle-數(shù)據(jù)庫(kù)連接數(shù)異常上漲問(wèn)題分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫(kù)運(yùn)維-常見(jiàn)故障定位案例-分析查詢效率異常降低的問(wèn)題

    openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫(kù)運(yùn)維-常見(jiàn)故障定位案例-分析查詢效率異常降低的問(wèn)題

    198.1 分析查詢效率異常降低的問(wèn)題 198.1.1 問(wèn)題現(xiàn)象 通常在幾十毫秒內(nèi)完成的查詢,有時(shí)會(huì)突然需要幾秒的時(shí)間完成;而通常需要幾秒完成的查詢,有時(shí)需要半小時(shí)才能完成。 198.1.2 處理辦法 通過(guò)下列的操作步驟,分析查詢效率異常降低的原因。 使用analyze命令分析數(shù)據(jù)庫(kù)。

    2024年01月16日
    瀏覽(26)
  • 【數(shù)據(jù)庫(kù)連接問(wèn)題】Java項(xiàng)目啟動(dòng)時(shí)無(wú)限異常com.alibaba.druid.pool.DruidDataSource : create connection SQLException

    【數(shù)據(jù)庫(kù)連接問(wèn)題】Java項(xiàng)目啟動(dòng)時(shí)無(wú)限異常com.alibaba.druid.pool.DruidDataSource : create connection SQLException

    Java項(xiàng)目啟動(dòng)失敗, ERROR:com.alibaba.druid.pool.DruidDataSource : create connection SQLException 在此之前這個(gè)SpringBoot項(xiàng)目中使用的是單一數(shù)據(jù)庫(kù)讀寫策略。今天嘗試使用讀寫分離策略,在 application.yml 配置文件中加入了以下讀寫分離相關(guān)內(nèi)容后啟動(dòng)項(xiàng)目失敗。 根據(jù)網(wǎng)上的解決方法,初步懷

    2024年02月16日
    瀏覽(24)
  • Navicat連接Oracle數(shù)據(jù)庫(kù)

    Navicat連接Oracle數(shù)據(jù)庫(kù)

    打開(kāi)服務(wù)里面找到Oracle服務(wù) OracleServerXE或者OracleServerTTL? 創(chuàng)建數(shù)據(jù)庫(kù)連接 連接名默認(rèn)自己起 主機(jī)選擇本地 端口默認(rèn) 服務(wù)名在服務(wù)中可以找到輸入后綴 用戶名默認(rèn)都是system 密碼是創(chuàng)建oracle時(shí)候填寫的口令 點(diǎn)擊測(cè)試連接即可

    2024年02月04日
    瀏覽(28)
  • Java連接Oracle數(shù)據(jù)庫(kù)

    Java連接Oracle數(shù)據(jù)庫(kù)

    目錄 第一步:導(dǎo)入jar包 ?第二步:配置數(shù)據(jù)庫(kù)參數(shù) Oracle配置參數(shù):xml中配置 Mysql配置參數(shù):xml方式配置 第三步:寫一個(gè)工具類JDBCUtils 第四步:連接數(shù)據(jù)庫(kù) commons-dbutils-1.6.jar,jar包大家就到網(wǎng)上搜吧 Oracle配置參數(shù):xml中配置 重點(diǎn)一: Oracle數(shù)據(jù)庫(kù)的JDBC連接分為三種,服務(wù)名

    2024年02月13日
    瀏覽(27)
  • 【Oracle】使用 SQL Developer 連接 Oracle 數(shù)據(jù)庫(kù)

    SQL Developer 是 Oracle 官方推出的一款免費(fèi)的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,它提供了豐富的數(shù)據(jù)庫(kù)開(kāi)發(fā)功能,其中包括連接 Oracle 數(shù)據(jù)庫(kù)的功能。 在本文中,我們將從多個(gè)方面詳細(xì)闡述如何使用 SQL Developer 連接 Oracle 數(shù)據(jù)庫(kù)。 在連接 Oracle 數(shù)據(jù)庫(kù)前,需要需要做一些準(zhǔn)備工作,包括安裝 SQ

    2024年02月06日
    瀏覽(24)
  • C# 連接Oracle數(shù)據(jù)庫(kù)方法

    C# 連接Oracle數(shù)據(jù)庫(kù)方法

    C# 連接oracle數(shù)據(jù)庫(kù)常用的三種方法有三種: ? ? 一、Oracle.ManagedDataAccess.dll:Oracle官方提供的oracle數(shù)據(jù)庫(kù)訪問(wèn)組件,不存在其他依賴dll庫(kù),推薦該方法最為重要的是: 它 不需要安裝oracle客戶端,也不區(qū)分x86位和x64位 , 直接就能用,連上其他電腦或者服務(wù)端oracle數(shù)據(jù)庫(kù)。 ?

    2023年04月22日
    瀏覽(26)
  • DBeaver連接mysql、oracle數(shù)據(jù)庫(kù)

    DBeaver連接mysql、oracle數(shù)據(jù)庫(kù)

    1) 下載DBeaver?https://dbeaver.io/download/,并安裝 2) 新建數(shù)據(jù)庫(kù)連接 ?? 3)選擇mysql驅(qū)動(dòng)程序 ?4)填寫連接設(shè)置內(nèi)容 5)點(diǎn)擊 “編輯驅(qū)動(dòng)設(shè)置”,并填寫相關(guān)信息 ?6)選擇本地自己下載的驅(qū)動(dòng)庫(kù)jar包 (也可以點(diǎn)擊下載驅(qū)動(dòng)) ?7)完成后,點(diǎn)擊測(cè)試連接,可以查看是否連接成功

    2024年02月05日
    瀏覽(38)
  • PLSQL連接Oracle 數(shù)據(jù)庫(kù)配置詳解

    PLSQL連接Oracle 數(shù)據(jù)庫(kù)配置詳解

    1. 下載instantclient-basic-win32-11.2.0.1.0 Oracle Instant Client - Free tools and libraries for connecting to Oracle Database (oracle官網(wǎng)下載地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html ,?下載地址2:http://download.csdn.net/detail/czw2010/5732241) ???2. 解壓instantclient-basic-win32-11.2.0.1.0并放置在oracle安

    2024年02月07日
    瀏覽(18)
  • Oracle 數(shù)據(jù)庫(kù)限制IP地址連接

    ??操作系統(tǒng):Windows 或 Linux ??數(shù)據(jù)庫(kù)版本:Oracle Database 11.2.0.1.0 及以上版本 ??出于數(shù)據(jù)安全考慮,有時(shí)候需要對(duì)連接 Oracle 數(shù)據(jù)庫(kù)的客戶端 IP 做一些限制,只有白名單中的IP才能訪問(wèn)。不在白名單中的IP地址連接的時(shí)候提示:ORA-12537 TNS 連接已關(guān)閉。 ??1、從需要允許

    2024年02月05日
    瀏覽(21)
  • Sql server 連接 Oracle數(shù)據(jù)庫(kù)

    Sql server 連接 Oracle數(shù)據(jù)庫(kù)

    前提預(yù)警:本機(jī)必須裝有Oracle客戶端 檢查是否安裝Oracle客戶端,并檢查TNS信息是否配置完成 1.1、 在cmd中執(zhí)行 sqlplus ,沒(méi)有報(bào)錯(cuò)并出現(xiàn)Oracle版本號(hào),則表示Oracle已安裝 1.2、配置TNS信息(最上面的10.0.0.130可隨意定義,eg:test、orcl、qerghasd…) 配置ODBC數(shù)據(jù)信息 2.1、打開(kāi)ODBC數(shù)據(jù)

    2024年02月03日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包