一次oracle 中使用者被鎖的排查過程
早上過來,一客戶工作人員反映有個庫中的使用者被鎖掉,讓我排查下原因。
當時直接反應就是使用者密碼錯誤,嘗試次數過多導致使用者被鎖。
客戶給我生成了listener.log,
我在庫上檢視使用者被鎖時間:
select username,lock_date from dba_users where username='xxx';
發現被鎖使用者的時間資訊已經不存在,原因是使用者已經被客戶解鎖,所以檢視dba_users中已經看不到使用者被鎖時間的資訊。
這個時候通過查看錶user$來解決這個問題:
select name,ltime from user$ where name ='XXXX';
檢視ltime的具體時間點後,在listener.log這個監聽日誌中定位當時是哪個程式連線,和業務人員確認是一個晚上跑批的定時任務。。。
本以為一切順利,結果客戶一再肯定說密碼沒有設定錯誤,也打開了一些配置檔案,確認了密碼沒有錯誤的問題。
我就惆悵了,難道被SQL注入攻擊了,又讓安全組那邊查了下審計資訊,也沒有發現異常。
我就一個人一點點的看listener.log,發現每天時間點都有那個跑批程式出現,user$中顯示4月3號2點10分01秒鎖的賬戶,但昨天才解鎖,那麼這未解鎖的幾天,按道理講跑批程式都是應該沒有成功的。客戶又找來了相關開發人員,一個個排查,原來存在多個跑批程式,上次程式釋出的過程中,有個跑批程式密碼沒有更改。。。。。。
我也是醉了。由於客戶一開始很是肯定,認為密碼配置沒有問題,我也就信了,都要開始考慮是不是踩了某個log方面的bug,比如當時中介軟體連線oracle存在異常,或者密碼延遲之類的,導致賬戶被鎖了。。。。。。。
給自己提了個醒,很多時候我們所肯定的只是我們確實知道的東西,萬一有某一方面我們沒有涉及到,那麼就可能問題出現在該方面。排查問題的過程要全面,從點到面,毫無死角。
相關推薦
一次oracle 中使用者被鎖的排查過程
早上過來,一客戶工作人員反映有個庫中的使用者被鎖掉,讓我排查下原因。 當時直接反應就是使用者密碼錯誤,嘗試次數過多導致使用者被鎖。 客戶給我生成了listener.log, 我在庫上檢視使用者被鎖時間: select username,lock_date from dba_
第一次遇到死鎖——記一次程式卡住問題的錯誤排查過程
10月24日,週四 我負責的遊戲啟動程式(Launcher)更新上線後,臨下班前接到運營訊息,反映部分網咖啟動Launcher後無反應。跑到客服現場,通過QQ遠端桌面觀察到如下現象:雙擊程式圖示後,程式出現在工作管理員程序列表裡,但無任何其它反應,沒有任何介面彈出;然
一次怪異的業務卡頓排查過程
seq 用法 ipv 亂序 等於 瀏覽器 追蹤 cli tcp 上班的時候,突然被測試和產品加入了一個討論組,說有個問題需要我排查下,一頭霧水,於是開始進行了解和排查。 故障現象????客服人員使用該系統的其中幾個功能模塊的時候,彈出的溝通窗口會卡頓,並且關閉當前彈窗,返
Linux(2)---記錄一次線上服務 CPU 100%的排查過程
Linux(2)---記錄一次線上服務 CPU 100%的排查過程 當時產生CPU飆升接近100%的原因是因為專案中的websocket時時斷開又重連導致CPU飆升接近100% 。如何排查的呢 是通過日誌輸出錯誤資訊: 得知websocket時時重新 連線的資訊,然後找到原因 解決了。 當然這
一次堆外OOM問題的排查過程
轉載自 一次堆外OOM問題的排查過程 背景 線上服務有一臺機器訪問不通(一個管理平臺),在公司的服務治理平臺上檢視服務的狀況是正常的,說明程序還在。程序並沒有完全crash掉。去線上檢視機器日誌,發現了大量的OOM異常: 017-03-15 00:00:00.04
一次ygc越來越慢的問題排查過程
開發十年,就只剩下這套架構體系了! >>>
原創 記錄一次線上Mysql慢查詢問題排查過程
背景 前段時間收到運維反饋,線上Mysql資料庫凌晨時候出現慢查詢的報警,並把原始sql發了過來: --去除了業務含義的sql update test_user set a=1 where id=1; 表資料量200W左右,不是很大,而且是根據主鍵更新。 問題排查 排查Mysql資料庫 我看到sql後第一
記一次mysql中文字符亂碼的問題排查
mysql mysql中文亂碼 mysql字符集 今天開發反應兩樣的程序往一個庫裏面插入數據正常,往另外一個庫裏面插入數據有亂碼。第一反應就是兩個數據庫關於字符集的配置不一樣。在兩個庫分別查看參數:show variables like "%char%";+--------------------
記一次工作中was服務器項目目錄權限被收回
asa 使用 sad quest roo 狀況 nod oot let 狀況描述:啟動was服務器的時候報錯,提示讓去查看服務器的啟動的日誌 1.cd 進到nodgent 目錄下哎 less 查看日誌2.觀察到 某個文件不能被delete。3.查看到項目目錄的權限為roo
一次mybatis中ognl引發的bug排查
現象 專案組一妹子程式設計師求助,說mybatis有bug,有一個值明明設定的是A.prop1=XXX,但是存到資料庫裡面卻會自動變成A.prop1=true,嘗試了各種調整也找不原因,都快急瘋了!我以前確實沒有研究過mybatis原始碼,本著專(ba)研(me
一次JVM中FullGC問題排查過程
這個問題比較常見,我把過程中的日誌記錄下來了,希望後續大家遇到類似的能快速定位。 1、平均三秒一次FullFC sudo -u admin java/bin/jstat -gcutil `pgrep java -u admin` 1000 2000 S0 S1 E O
oracle中記錄被另一個使用者鎖住的原因與解決
原因: 資料庫是一個多使用者使用的共享資源。當多個使用者併發地存取資料時,在資料庫中就會產生多個事務同時存取同一資料的情況。若對併發操作不加控制就可能會讀取和儲存不正確的資料,破壞資料庫的一致性。 原理: 1.UPDATE/DELETE操作會將RS鎖定,直至操作被COMM
Oracle中查詢正鎖表的使用者及釋放被鎖的表的方法
可在PL/SQL中用如下SQL語句來查詢當前資料庫中哪些表被鎖住了,並且是哪些使用者來鎖的這些表: SELECT A.OWNER, --OBJECT所屬使用者 A.OBJECT_NAME,
一次Mysql死鎖排查過程的全紀錄
前言之前接觸到的資料庫死鎖,都是批量更新時加鎖順序不一致而導致的死鎖,但是上週卻遇到了一個很難理解的死鎖。藉著這個機會又重新學習了一下mysql的死鎖知識以及常見的死鎖場景。在多方調研以及和同事們的討論下終於發現了這個死鎖問題的成因,收穫頗多。雖然是後端程式設計師,我們不需要
Oracle使用者頻繁被鎖原因排查與解決
問題描述: 專案小組同事說最近一段時間內,Oracle使用者總是頻繁被鎖,導致應用及客戶端均無法登入操作資料庫。 現象跟蹤: 通過檢視監聽日誌listener.log,發現很多從10.1.3.107應用伺服器過來的訪問記錄,並伴有警告資訊出現,部分內容如下: ... ...
記錄一次Mysql死鎖排查過程
知識 body ext 兩個 next ron 討論 不一致 test 背景 以前接觸到的數據庫死鎖,都是批量更新時加鎖順序不一致而導致的死鎖,但是上周卻遇到了一個很難理解的死鎖。借著這個機會又重新學習了一下mysql的死鎖知識以及常見的死鎖場景。在多方調研以及和同事們的
記一次uboot中gunzip解壓速度慢的問題排查
背景 在專案中需要用到解壓功能,之前還記錄了下,將uboot解壓程式碼移植到另外的bootloader中時,碰到的效率問題。最終查明是cache的配置導致的。 https://www.cnblogs.com/zqb-all/p/11443127.html 優化前速度是uboot的十分之一,優化後速度達到ubo
git 撤回上一次commit中某一個不想添加的文件
發現 如果 reset use 查看 不想 一次 文件刪除 git 1. 假設我們修改了文件a,同時修改了IDE的配置文件b 2.此時我們只想添加文件a到commit中,卻不小心將b也添加進去了 3.那麽怎麽撤回呢? 4.第一種方法: 4.1 git reset --
記錄一次Oracle VirtualBox 下 Centos 6.5 VM 磁盤擴容
vm磁盤擴容Oracle VirtualBox 創建的 Centos 6.5 VM 默認硬盤大小是8個G(未手工調整),現使用100%,需要擴容。[root@kaola ~]# df -hFilesystem Size Used Avail Use% Mounted o
login--用戶登陸,密碼失敗3次,賬戶將被鎖住
lojin pickle ---------------------------------------------userreset.py#!/usr/bin/env python# coding:utf-8 _ #encoding=utf-8#初始化用戶信息#created by xuke#da