SYSOPER和SYSDBA特權的區別與聯繫

 
 
 
SYSOPERSYSDBA只是系統中兩個特殊的系統權限,不要將其人爲地想象得那麼神祕。我們一起來探索一下他們之間的聯繫區別

1.登錄數據庫特權
SYSDBA和SYSOPER是比較特殊的兩個權限,即便數據庫的實例並沒有啓動,以這兩種特權依然能夠登錄系統,
1)關閉系統
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

2)分別以SYSDBA和SYSOPER特權登錄系統
ora10g@secdb /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 20 21:39:06 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

NotConnected@>


ora10g@secdb /home/oracle$ sqlplus / as sysoper

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 20 21:39:34 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

NotConnected@>

可見,即使數據庫實例並沒有被啓動使用這兩種特權依然可以登錄,這就是力量無窮的管理權限。我就是God,我可以做一切。

如果是普通用戶登錄,此時系統將不允許其登錄,報錯信息如下:
ora10g@secdb /home/oracle$ sqlplus sec/sec

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 20 21:41:46 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory


Enter user-name:

2.SYSOPER和SYSDBA特權背後的Schema
1)SYSOPER特權背後的Schema是PUBLIC
sys@ora10g> conn / as sysoper
Connected.
public@ora10g> show user;
USER is "PUBLIC"

2)SYSDBA特權背後的Schema是SYS
public@ora10g> conn / as sysdba
Connected.
sys@ora10g> show user;
USER is "SYS"

3.SYSOPER和SYSDBA特權具有的權限比較
1)SYSOPER特權具有的權限
數據庫實例的startup、mount以及數據庫的open;
數據庫實例的shutdown、dismount以及數據庫的close;
數據庫的備份、日誌歸檔和恢復;
創建SPFILE;

2)SYSDBA特權具有的權限
SYSDBA特權擁有SYSOPER所具有的所有權限,同時它包含了所有系統權限。因此,SYSDBA具有真正意義上的God權限。
SYSDBA特權具有創建和刪除數據庫的權力。

4.使用特權登錄的注意事項
1)因爲SYSOPER和SYSDBA都屬於特權用戶,處於安全目的不要將這些特權授予給其他普通用戶;
2)同樣出於安全考慮,以“最小權限”爲原則,在完成普通操作時不要使用特權用戶操作。

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