溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

用脖子以上的部位解決問題(1):sqlplus登陸報沒有權(quán)限錯誤

發(fā)布時間:2020-08-06 06:22:05 來源:網(wǎng)絡(luò) 閱讀:568 作者:vans0927 欄目:關(guān)系型數(shù)據(jù)庫

由于種種原因,好久沒有來這里發(fā)表自己的文章了。前段時間遇到一個有趣的問題,為難了我整整一個下午,這里寫出來與各位分享。

 

使用sqlplus工具以sysdba身份本機登陸oracle數(shù)據(jù)庫時,突然遇到了沒有權(quán)限的問題。當時感覺很蹊蹺,本機登陸命令:sqlplus / as sysdba 據(jù)我了解是最保險的一種登陸方法咯。怎么會報告沒有權(quán)限呢。頭上有點冒汗。經(jīng)過了半個下午的擺弄依然無果,現(xiàn)在想起來當時簡直是胡來!根本沒有從原理入手去推斷問題,只是一通胡亂測試,沒有結(jié)果也是情理之中。冷靜下來思考后,終于理清了思路,這種登陸方式是走的操作系統(tǒng)認證,即可排除監(jiān)聽故障影響。驗證一下,通過sqlplus sys/xxx as sysdba 命令登陸正常,排除了密碼文件異常的可能。那么操作系統(tǒng)認證的必要條件是uid和gid以及用戶名組名的正確性,我來用id命令查一下看看,果然oracle用戶id和用戶名對應(yīng)正常,可gid和組名卻沒有對應(yīng)起來,只顯示了gid并未顯示組名。這是為什么呢?好奇怪!想想unix系統(tǒng)的gid與組名對應(yīng)關(guān)系從何而來,答案擺在面前/etc/group文件,對!就是他!查看他的權(quán)限發(fā)現(xiàn),除了root用戶和root組有讀權(quán)限,other用戶上面卻沒有,這怎么可以呢?證明oracle用戶根本讀不到該文件的內(nèi)容!難怪oracle用戶下執(zhí)行id命令不能看到gid對應(yīng)的組名。將該文件權(quán)限修改正確,chmod a+r /etc/group 。再進入oracle用戶查看,id命令顯示正常。通過sqlplus / as sysdba即可正常登陸,而不再提示沒有權(quán)限。

 

至此大功告成!任何事情不從原理推斷妄下結(jié)論勢必不能解決,反而可能把事情搞得更糟糕!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI