Oracle數據庫非Dba角色用戶使用as sysdba仍然可以連接相關問題

1. Oracle 默認的三個重要角色

CONNECT                         創建session角色
RESOURCE                        創建資源角色,Create table 等等
DBA                                 數據庫管理員角色
   

參考網址:http://www.blogjava.net/caihaibo2008/archive/2008/12/11/245723.html

2. Oracle有兩個具有dba角色的用戶,分別是sys與system,他們都可以以sysdba身份登錄數據庫。既然system具有dba角色,爲什麼還分配他sysoper身份?

   【sys】所有oracle的數據字典的基表和視圖都存放在sys用戶中,這些基表和視圖對於oracle的運行是至關重要的,由數據庫自己維護,任何用戶都不能手動更改。sys用戶擁有dba,sysdba,sysoper等角色或權限,是oracle權限最高的用戶。
   【system】用戶用於存放次一級的內部數據,如oracle的一些特性或工具的管理信息。system用戶擁有普通dba角色權限。

其次的區別,權限的不同。
   【system】用戶只能用normal身份登陸em,除非你對它授予了sysdba的系統權限或者syspoer系統權限。
   【sys】用戶具有“SYSDBA”或者“SYSOPER”系統權限,登陸em也只能用這兩個身份,不能用normal。

3. 在今天的數據庫實驗課上遇到了如下所示的問題:

    如上圖所示,SYS用戶可以正常登錄數據庫,但是其他用戶、甚至隨便亂寫,以as sysdba的方式也可以成功連接數據庫,並且show user顯示的仍然是SYS,這是什麼原因呢???


Oracle登錄的時候有三種登錄驗證機制

   1. 操作系統驗證

   2. 密碼文件驗證

   3. 數據庫驗證

     一般權限用戶的登錄驗證都是第三種方式,即數據庫驗證,因爲用戶名和密碼都是存儲在數據庫當中的。然而,SYS用戶(具有SYSDBA和SYSOPER權限的用戶)卻不是數據庫驗證。在oracle數據沒有啓動的時候,SYS用戶就可以連接到數據庫,並對其進行啓動等操作,所以不可能是數據庫驗證。SYS用戶採用的是第一種和第二種驗證方式。

     Linux下Oracle的啓動過程

     lsnrctl start 啓動監聽(接收用戶請求)。此時數據庫沒啓動,所以不能驗證普通權限用戶

     sqlplus /nolog 啓動sqlplus

     conn sys/oracle as sysdba,監聽看到是sysdba用戶,就進行操作系統驗證或者文件驗證,如果正確

     startup 啓動數據庫實例。

     當此時再以普通權限用戶連接時,就直接將請求發送給數據庫進行數據庫驗證。

     

     Windows下Oracle的啓動過程

     lsnrctl start 啓動監聽

     oradim -startup -sid orcl  將複雜的過程封裝了

     

     conn /  as sysdba;  這樣寫居然可以連接!或者隨便寫個名字都可以連接,只要/保留就可以。如下圖:


     因爲,默認採用的驗證方式是操作系統驗證!如下圖所示,在計算機管理裏面的ORA_DBA組有當前計算機操作系統用戶uestcong



     當我把uestcong這個用戶刪除之後,再重新使用conn a/b as sysdba登錄,就出現如下所示的情況了:


     顯示權限不足,沒有驗證通過。

     以uestcong登錄操作系統時,默認就是DBA管理員,在監聽看到as sysdba時,就首先進行操作系統驗證,操作系統的用戶uestcong當然就能通過驗證。當我把uestcong刪除之後,就會用密碼文件的方式驗證,此時把sys和正確的密碼重新連接時,就可以直接連接了。


     所以在使用oracle進行開發時,應該把操作系統驗證取消,使用密碼文件驗證的方式。如果密碼忘記,可以把密碼文件刪除,用新的密碼文件代替就可以。

     密碼文件的路徑:D:\oraclexe\app\oracle\product\10.2.0\server\database\PWDXE.ora(PWDXE.ora我使用的是XE版本),當把密碼文件刪除時,再用正確的用戶名密碼連接,就無法進行連接了。


     感謝傳智博客王治國的精彩講解!

參考網址:http://topic.csdn.net/u/20110823/18/e9846996-22f4-4429-a7f5-47877a729ef0.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章