7、Oracle通過客戶端(sqlplus)登錄認證用戶的方式


   select version from v$instance;

#查看當前數據庫的版本

192.168.31.5:1521/orcl

7.1、操作系統認證:

1、Oracle認為操作系統用戶是可靠的,那么既然你能登錄到操作系統,必然也能登錄到數據庫;

我們在安裝數據庫時,采用了默認的安裝方式,使用操作系統認證登錄到數據庫,所以在使用sysdba方式

認證登錄時,無論密碼對錯,均可以登錄到數據庫;

[oracle@slave-node2 ~]$ sqlplus /nolog

#表示不進行登錄,只進入sqlplus;

SQL> conn /as sysdba;

#連接到超級管理員;

7.2、口令文件認證:

1、Oracle認為操作系統用戶是不可靠的,如果要訪問數據庫,必須再次使用密碼認證;

2、linux下的認證規則:

[oracle@slave-node2 ~]$ ls /application/Oracle11gR2/product/11.2.0/db_1/network/admin/

listener19080211PM1933.bak samples sqlnet19080211PM1933.bak tnsnames19080211PM1934.bak

listener.ora shrept.lst sqlnet.ora tnsnames.ora

[oracle@slave-node2 admin]$ cat sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

ADR_BASE = /application/oracle

默認情況下,linux下的oracle數據庫sqlnet.ora文件沒有"SQLNET.AUTHENTICATION_SERVICES"參數,此時是

基於操作系統認證和oracle密碼驗證共存的,加上"SQLNET.AUTHENTICATION_SERVICES"參數后,不管

"SQLNET.AUTHENTICATION_SERVICES"設置為NONE或者NTS,都是基於oracle密碼驗證的;

3、windows的認證規則:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

#基於操作系統驗證,默認;

SQLNET.AUTHENTICATION_SERVICES= (NONE)

#基於Oracle驗證;

SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)

#二者共存;

7.3、sys用戶和system用戶的區別:

1、system用戶:

是數據庫內置的一個普通管理員,沒有創建數據庫實例的權限,手工創

建的任何用戶在被授予dba角色后都跟這個用戶差不多;

2、sys用戶:

是數據庫的超級用戶,有創建數據庫實例的權限,數據庫內很多重要的東

西(數據字典表、內置包、靜態數據字典視圖等)都屬於這個用戶,sys用戶必須

以sysdba身份登錄,system用戶以sysdba身份登錄時就是sys,這一點,登陸

后執行"show user"命令可以驗證;

7.4、sqlplus的登錄方式:

sqlplus是數據庫客戶端網絡服務上的,可以通過sqlplus遠程到數據庫;

[oracle@slave-node2 ~]$ echo $ORACLE_SID

orcl

#查看當前的數據庫實例;

1、不在cmd或者terminal當中暴露密碼的登錄方式:

[oracle@slave-node2 ~]$ sqlplus /nolog

#表示不進行登錄,只進入sqlplus;

SQL> conn /as sysdba;

#連接到超級管理員;

#連接到數據庫超級管理員sys,默認連接的是第一個數據庫實例;

#由於使用的是操作系統認證,所以任何用戶都能夠連接到sys;

2、使用tns別名方式登錄:

(1)以sys賬號登錄:

[oracle@slave-node2 ~]$ sqlplus sys/123456@oa as sysdba

(2)以system賬號登錄:

[oracle@slave-node2 ~]$ sqlplus system/123456@oa








免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM