1、案例現(xiàn)象
在南陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站,外貿(mào)營銷網(wǎng)站建設(shè),南陽網(wǎng)站建設(shè)費用合理。
在root用戶下,su切換到一個普通用戶oracle下,卻發(fā)生了如下錯誤:
oracle數(shù)據(jù)庫意外宕機的分析處理案例
于是,嘗試直接通過oracle用戶登錄系統(tǒng),發(fā)現(xiàn)此時的oracle用戶也無法登錄了,出現(xiàn)與上面同樣的錯誤。
2、解決思路
從上面錯誤提示可知是權(quán)限出現(xiàn)了問題,那么可以從權(quán)限入手進(jìn)行排查,基本思路如下:
用戶目錄/home/oracle權(quán)限問題;
su程序執(zhí)行權(quán)限問題;
程序依賴的共享權(quán)限問題;
selinux問題導(dǎo)致;
系統(tǒng)根空間問題。
3、排查問題
根據(jù)上面的思路,我們進(jìn)行逐一檢查,考慮到su在切換到oracle用戶時會讀取oracle目錄下的環(huán)境變量配置文件,因此,首先檢查/home/oralce目錄的權(quán)限是否存在問題,
[root@loaclhost home]# ls -al/home|grep oracle
drwx---- 4 oralce oinstall 4096 01-31 10:45 oracle
從輸出可知,/home/oracle目錄的屬主是oracle用戶,oracle用戶對這個目錄有“rwx”權(quán)限,因此,oracle用戶目錄的權(quán)限設(shè)置是正確的,可以排除掉這個問題了。
接著檢查su執(zhí)行權(quán)限問題:
[root@loaclhost home]# 11 /bin/su
-rwsr-xr-x 1 root root 24120 2007-11-30 /bin/su
可見su命令執(zhí)行權(quán)限也沒有問題,這個也排除了。
繼續(xù)檢查su依賴的共享庫權(quán)限,使用ldd命令檢查su命令依賴的共享庫文件,如下圖
oracle數(shù)據(jù)庫意外宕機的分析處理案例
根據(jù)上面的操作,依次檢查su命令依賴的每個庫文件的權(quán)限,發(fā)現(xiàn)也都是正常的,因此,共享庫的問題也排除了。
根據(jù)上面的思路,績效檢查SELinux的設(shè)置。
oracle數(shù)據(jù)庫意外宕機的分析處理案例
由輸出可知,SELinux處于關(guān)閉狀態(tài),這個原因也排除了。
到這來為止,問題變得樸素迷離,到底是哪里出現(xiàn)問題了呢?作為Linux運維,例行檢查系統(tǒng)根分區(qū)狀態(tài)是非常必要的,那么首先檢查一個根分區(qū)的磁盤空間大小,發(fā)現(xiàn)剩余空間還有很多,空間問題也排除了。既然報的錯誤是權(quán)限有問題,那么只要以權(quán)限為線索,不偏離這個核心就沒錯,于是繼續(xù)嘗試檢查/home目錄下各個用戶的權(quán)限,如下圖。
oracle數(shù)據(jù)庫意外宕機的分析處理案例
從輸出看每個用戶的目錄權(quán)限,都是“rwx----”,即“700”,完全沒有問題,可是我發(fā)現(xiàn)我錯了,我的目光一直在用戶對應(yīng)的目錄上,而忽略了其他輸出信息,而問題就藏在我沒有關(guān)注的信息中。在這個命令輸出的前兩行中,第一行權(quán)限對應(yīng)的目錄是“.”,代表當(dāng)前目錄,也就是/home目錄,權(quán)限為“rwxr-xr-x”,第二行權(quán)限對應(yīng)的目錄是“..”,也就是根目錄,權(quán)限卻為“rw-rw-rw-”,即“666”,此時,問題終于查找到了,原來是根目錄權(quán)限問題。
4、解決問題
知道了問題產(chǎn)生的原因,解決問題就非常簡單,執(zhí)行如下命令:
[root@localhost~]#chmod 755 /
然后就可順利執(zhí)行su切換命令。
經(jīng)驗分享
這個問題主要是由于根目錄沒有執(zhí)行權(quán)限,而Linux下所有的操作都是在根目錄下進(jìn)行的,進(jìn)而導(dǎo)致/home/oralce目錄沒有執(zhí)行權(quán)限。其實根目錄權(quán)限的丟失對于系統(tǒng)中運行的每個用戶存在同樣的影響。因此,在權(quán)限出現(xiàn)問題時,一定要注意根目錄的權(quán)限。
ORACLE
EBS操作某一個FORM界面,或者后臺數(shù)據(jù)庫操作某一個表時發(fā)現(xiàn)一直出于"假死"狀態(tài),可能是該表被某一用戶鎖定,導(dǎo)致其他用戶無法繼續(xù)操作
復(fù)制代碼
代碼如下:--鎖表查詢SQLSELECT
object_name,
machine,
s.sid,
s.serial#
FROM
gv$locked_object
l,
dba_objects
o,
gv$session
s
WHERE
l.object_id
=
o.object_id
AND
l.session_id
=
s.sid;
找到被鎖定的表,解鎖
復(fù)制代碼
代碼如下:--釋放SESSION
SQL:
--alter
system
kill
session
'sid,
serial#';
您可能感興趣的文章:mysql
事務(wù)處理及表鎖定深入簡析
1. tnsping 本地連接串 看看返回毫秒數(shù)是否正常2.關(guān)閉本機和服務(wù)器防火墻嘗試,一般PLSQL會發(fā)起一個反向連接,服務(wù)器如果有防火墻的話會阻止連接導(dǎo)致PLSQL等待連接響應(yīng),就會出現(xiàn)假死現(xiàn)象了。你可以先試試看,不行就貼錯誤代碼和配置,探討探討。
監(jiān)控判斷oracle數(shù)據(jù)庫掛了就是數(shù)據(jù)庫宕機了,不能再提供服務(wù)。
最簡單的處理辦法就是重啟計算機。
或者就要在數(shù)據(jù)庫里排查出發(fā)生問題的原因,然后對癥解決。
一種可能是數(shù)據(jù)量比較大 造成數(shù)據(jù)假死 上服務(wù)器看吧
也可能是數(shù)據(jù)表被鎖 通過dba權(quán)限可以查看
sqlplus或者PL/SQL SQL窗口輸入(單獨調(diào)用存儲過程):無參數(shù)EXEC 過程名;或者BEGIN過程名END; IN 參數(shù)EXEC 過程名(入?yún)?shù)..);或者BEGIN過程名(入?yún)?shù)...)END; OUT參數(shù),IN OUT參數(shù)variable 綁定變量名 數(shù)據(jù)類型; //定義一個變量接收出參數(shù)的值;EXEC 過程名(:綁定變量名);
名稱欄目:包含怎么排查oracle假死的詞條
文章路徑:http://jinyejixie.com/article22/hsihjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、面包屑導(dǎo)航、定制開發(fā)、品牌網(wǎng)站設(shè)計、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容