【Privilege】SYSOPER和SYSDBA特權的區別與聯絡
SYSOPER和SYSDBA只是系統中兩個特殊的系統許可權,不要將其人為地想象得那麼神秘。我們一起來探索一下他們之間的聯絡與區別。
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)同樣出於安全考慮,以“最小許可權”為原則,在完成普通操作時不要使用特權使用者操作。
5.小結
到此,相信大家已經基本上可以達到揭開SYSOPER和SYSDBA特權神秘面紗的目的了。在日常運維過程中,這些特權給我們帶來諸多便利同時也提升了誤操作的風險,我們要做的是:沉著冷靜,頭腦清醒。
Good luck.
secooler
10.12.20
-- The End --
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)同樣出於安全考慮,以“最小許可權”為原則,在完成普通操作時不要使用特權使用者操作。
5.小結
到此,相信大家已經基本上可以達到揭開SYSOPER和SYSDBA特權神秘面紗的目的了。在日常運維過程中,這些特權給我們帶來諸多便利同時也提升了誤操作的風險,我們要做的是:沉著冷靜,頭腦清醒。
Good luck.
secooler
10.12.20
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-682224/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SYS,SYSTEM,DBA,SYSDBA,SYSOPER的區別與聯絡
- sysdba與sysoper系統特權介紹
- sysdba,sysoper,normal的區別ORM
- sysdba,dba,sysoper的區別
- normal 、sysdba、 sysoper的區別ORM
- system sys,sysoper sysdba 的區別
- 關於sysdba,sysoper,dba的區別
- DBA,SYSDBA,SYSOPER三者的區別
- 總結sysdba和sysoper許可權
- normal、sysdba、sysoper登陸oracle的區別理解ORMOracle
- Session和Cookie的聯絡與區別SessionCookie
- CGI與Servlet的區別和聯絡Servlet
- Session和Cookie的區別與聯絡SessionCookie
- Linux和Ubuntu的區別與聯絡LinuxUbuntu
- javaSE中的==和equals的聯絡與區別Java
- 程式和執行緒的區別與聯絡執行緒
- HDFS 塊和 Input Splits 的區別與聯絡
- NUMA,MPP和HADOOP的區別與聯絡Hadoop
- 並行和併發的區別與聯絡並行
- volatile和synchronized的區別與聯絡[轉]synchronized
- malloc free與new delete的區別和聯絡delete
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- 同步與阻塞的區別與聯絡
- hive與hbase的聯絡與區別Hive
- onchange與onpropertychange的聯絡與區別!
- BS與CS的聯絡與區別
- define與typedef區別與聯絡
- 微信網頁授權之access_token和refreshtoken區別與聯絡網頁
- JRE與JDK的區別與聯絡JDK
- tcp/ip和http的區別和聯絡TCPHTTP
- orcle pfile和spfile的區別和聯絡
- NET|Ref 和out 的區別和聯絡
- Instruction和Question的區別和聯絡Struct
- 31、ASM的使用者SYSDBA和SYSOPERASM
- http、socket、tcp的區別和聯絡?HTTPTCP
- SCADA和PLC的區別聯絡
- Apache與Tomcat 區別聯絡ApacheTomcat