1. 程式人生 > >一次oracle 中使用者被鎖的排查過程

一次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

mybatisognl引發的bug排查

現象   專案組一妹子程式設計師求助,說mybatis有bug,有一個值明明設定的是A.prop1=XXX,但是存到資料庫裡面卻會自動變成A.prop1=true,嘗試了各種調整也找不原因,都快急瘋了!我以前確實沒有研究過mybatis原始碼,本著專(ba)研(me

JVMFullGC問題排查過程

這個問題比較常見,我把過程中的日誌記錄下來了,希望後續大家遇到類似的能快速定位。 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的死鎖知識以及常見的死鎖場景。在多方調研以及和同事們的

ubootgunzip解壓速度慢的問題排查

背景 在專案中需要用到解壓功能,之前還記錄了下,將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