1. 程式人生 > >關於Oracle中sysoper這個系統權限的問題

關於Oracle中sysoper這個系統權限的問題

oracle數據庫 lin clas 創建 自己 用戶和組 word per pop

我們都知道Oracle數據庫安裝完之後。默認的會有這樣幾個系統角色或權限。nomal,sysdba,sysoper等等,之前每次登錄Oracle的時候。都是直接以conn / as sysdba 的身份登錄的。可是一直都不知道sysoper是用來幹嘛的,僅僅知道是個系統操作員。

然後,今天在sqlplus中用 conn / as sysoper登錄。提示權限不足。

技術分享

之後就去查了一番資料了解了一下。可是還是沒搞懂,最後還是在一個數據庫QQ群裏面問了這個問題之後,一個大牛教給我的。真的是長見識了,所以就決定記錄下來。

Sysdba和sysoper兩個系統權限差別

【sysdba】和【sysoper】屬於system privilege。也稱為administrative privilege。擁有比如數據庫開啟關閉之類一些系統管理級別的權限。sysdba和sysoper詳細的權限例如以下:

【SYSOPER】權限,即數據庫操作員權限。權限包含:
1、打開數據庫server
2、關閉數據庫server
3、備份數據庫
4、恢復數據庫
5、日誌歸檔
6、會話限制

【SYSDBA】權限,即數據庫管理員權限,權限包含:
1、打開數據庫server
2、關閉數據庫server
3、備份數據庫
4、恢復數據庫
5、日誌歸檔
6、會話限制
7、管理功能
8、創建數據庫

我們知道【normal】 是普通用戶,而另外兩個。考察他們所具有的權限就知道了: 【sysdba】擁有最高的系統權限,登陸後是sys 【sysoper】主要用來啟動、關閉數據庫,sysoper 登陸後用戶是public。

普通情況下。我們通過這樣的conn sys/** as sysdba(sysoper)是通過操作系統驗證 根本不用輸usernamepassword 你的登錄語句和 conn / as sysdba(sysoper)是一個效果 在linux/unix環境中conn / as sysdba(sysoper)都能夠登錄 windows其中僅僅有conn / as sysdba能夠登錄 conn / as sysoper登錄不了

這是因為windows環境下默認的一個配置的問題, 理論上應該有ora_dba組和ora_oper兩個用戶組 都賦給Administrator 可是它僅僅建立了ora_dba組 沒有ora_oper組。。。

所以無法用sysoper登錄。這就須要我們自己去創建這個ora_oper組,然後將Administrator用戶加入到ora_oper這個組中。

默認情況下僅僅有ora_dba這個組

技術分享

過程例如以下:
1、右鍵“計算機”——》“管理”——》“本地用戶和組”——》”組”。

技術分享

2、右鍵“組”——》“新建組…”。

技術分享

3、輸入組名“ora_oper”,然後加入成員。然後再“選擇用戶”的彈出框的以下選擇“高級”。

技術分享

4、之後選擇“馬上查找”。選擇Administrator這個成員。再點擊“確定”。

技術分享

5、

技術分享

6、

技術分享

7、

技術分享

8、ok了,大功告成。再次在sqlplus中使用conn / as sysoper就能夠正常連接了。

技術分享

關於Oracle中sysoper這個系統權限的問題