sqlplus /nolog,conn /as sysdba 之所以能夠登錄,在於oracle登錄時的身份認證方式。可以試一下這個:sqlplus /nolog,conn abcd/sss as sysdba,你發現也能夠登錄成功。
2 oracle在登錄時,有三種身份認證方式:操作系統身份認證、密碼文件認證、數據庫認證。而conn /as sysdba是屬於操作系統認證。
為什么這樣說呢?你當前電腦開機時登錄的用戶,也就是進入操作系統的用戶,例如是gooooal,它在你電腦的ora_dba組中。
可以在“我的電腦”單擊右鍵,找到“管理”,選擇“本地用戶和組”,發現有一個組叫“ora_dba”,雙擊它,看到成員列表中有“gooooal”。
也就是在conn /as sysdba,oracle會進行操作系統驗證,發現你當前登錄的用戶就屬於ora_dba組,因此才可以登錄成功。
你可以把ora_dba組中的“gooooal”用戶刪除,再conn /as sysdba,就發現進不去了。
3 密碼文件驗證可以查閱相關資料,百度oracle的身份驗證方式,就可以查到相關資料。
4 其實在linux或unix環境下,安裝oracle是要設置很多東西的,比如用戶和用戶組的設置等,不像在windows下,安裝傻瓜化了。
5 關於安全性,如果將oracle安裝在本地,其實你本地就是oracle服務器,所以權限高一些。你用哪個用戶來啟動oracle實例?哪個用戶來mount數據庫?哪個用戶來打開數據庫?從而才能進行之后的select等sql操作?
在oracle實例等還沒有啟動的時候,oracle數據庫里面建的用戶肯定是不能使用的。所以才會有操作系統身份驗證。用這個用戶,來啟動oracle實例、裝載數據庫等。之后才能做oracle表的增刪改查。
sqlplus zhangsan/123,是以用戶名為zhangsan,密碼為123的用戶登錄。而sqlplus /nolog則是不以任何用戶登錄。相當於只是打開一個登錄窗口而已,用戶名跟密碼是接下來才輸入。一般這樣做的目的是防止別人看到你的用戶密碼
sqlplus /nolog一般都是登上去啟動/停止數據庫用的來着。
/nolog是不登陸到數據庫服務器的意思
如果沒有/nolog參數,sqlplus會提示你輸入用戶名和密碼
sqlplus /nolog一般是啟動sqlplus但不進行連接操作
/nolog 選項會啟動sqlplus, 但不連接數據庫
sqlplus / as sysdba是一種簡化寫法,其實是省略了用戶名和密碼,完整的寫法是sqlplus sys/password as sysdba而sqlplus /nolog是另外的用法了,nolog表示不進行登錄,僅僅是進入sqlplus軟件而已