停止資料庫沒有響應的問題分析 r9筆記第50天

2021-09-28 13:18:46 字數 1375 閱讀 7066

今天在看乙個網友問題的時候,發現我的測試環境有些日子沒有碰,竟然有一些問題,雖然說不上來,但是感覺資料庫環境很卡,sqlplus登入需要花一些時間,每乙個命令都會有卡頓。

這個時候,執行命令還是沒有任何問題的。

sql> show parameter control

因為是測試環境,檢視沒有其它的會話影響,就準備重啟一下試試。

但是命令就卡在那裡了,沒有任何的輸出和反應。

sql> shutdown immediate

當然這是測試環境,也立馬引起了我的重視。

通過sqlplus再次登入發現卡頓現象依舊存在。登入竟然要花費近5秒鐘的時間。

$ time sqlplus / as sysdba

登入進去之後執行命令就會丟擲異常了。

$ sqlplus / as sysdba

我們來看看alert日誌的內容,發現了下面這麼一段資訊:

從日誌可以看出是歸檔失敗了,失敗的原因也比較多了。我分析了以下幾種可能。

首先檢視記憶體結構依舊是存在的。

$ ipcs -m

------ shared memory segments --------

key        shmid      owner      perms      bytes      nattch     status      

0x00000000 4947969    oracle     640        33554432   24                locked

0x00000000 4980738    oracle     640        4982833152 24                locked

0xa9461d10 5013507    oracle     640        2097152    24                locked

通過這個和系統級的程序,發現資料庫的程序還沒有釋放。

是否可能是$oracle_home的問題導致,因為我這個測試環境非常複雜了,$oracle_home環境有好幾個,排查方法如下:

$ echo $oracle_home

$ df -h105m99% /

$ kill -9 26667

原來視窗中就發生了變化:

主庫:檢視資料庫日誌如下:

明白了我們的操作,再來看日誌就發現問題很明顯了,pmon因為error 474終止了例項。那麼ora-00474是什麼錯誤呢,就是smon程序終止。

$ oerr ora 00474

sql> show parameter sgalock_sga                             boolean     true

Oracle 資料庫服務啟動程序停止響應

在 oracle 資料庫 8i,執行計算機上安裝 ms 04 011 安全更新用於 microsoftwindows 計算機可能停止響應在啟動過程。詳見以下 microsoft 安全公告 ms 04 0ll 安全更新 要變通解決此問題,使用下列方法之一。更改 oracle 資料庫服務的啟動行為對 o...

停止資料庫的使用者連線

create proc killspid dbname varchar 50 as declare sql nvarchar 1000 spid int declare getspid cursor for select spid from sysprocesses where dbid db id...

R的資料庫訪問 MySQL

r作為一款資料分析的工具,而mysql是一款常用的開源關係型資料庫軟體,非常適用於中小型的資料儲存,當二者相互結合時才能爆發出巨大的能量。rmysql程式包就為r提供了訪問mysql資料庫的介面程式,其不僅支援基本的資料庫訪問與查詢,還封裝了高效的資料操作方法,掌握好這些功能將使得資料的分析和處理更...