- 相關推薦
oracle登陸有兩種認證方式
Oracle的技術廣泛應用于各行各業,其中電信、電力、金融、政府及大量制造業都需要Oracle技術人才,Oracle公司針對職業教育市場在全球推廣的項目,其以低廉的成本給這部分人群提供Oracle技術培訓。下面是小編整理的關于oracle登陸有兩種認證方式,歡迎大家參考!
Password File/Operating System Authentication
1、os認證需要把登陸用戶加入到os相應的用戶組
Operating System Group UNIX User Group Windows User Group
OSDBA dba ORA_DBA
OSOPER oper ORA_OPER
本機
CONNECT / AS SYSDBA
CONNECT / AS SYSOPER
遠程
CONNECT /@net_service_name AS SYSDBA
CONNECT /@net_service_name AS SYSOPER
2、密碼文件認證,密碼文件在不同的os平臺下,路徑和默認的名稱不同。
ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users force =y
REMOTE_LOGIN_PASSWORDFILE=none/exclusive/share
none/exclusive(可以修改增加用戶)/share(不可修改)
CONNECT oe/oe AS SYSDBA
select * from V$PWFILE_USERS;
[@more@]
Oracle登錄認證有兩種方式,基于操作系統的登錄認證,基于oracle的驗證。
可以通過改變sqlnet.ora文件,可以修改oracle登錄認證方式:
SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系統驗證;SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle驗證;SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。
經過測試,以上規則只適用于windows服務器,在linux下規則如下:
默認情況下linux下的oracle數據庫sqlnet.ora文件沒有SQLNET.AUTHENTICATION_SERVICES參數,此時是基于操作系統認證和oracle密碼驗證共存的,加上SQLNET.AUTHENTICATION_SERVICES參數后,不管SQLNET.AUTHENTICATION_SERVICES設置為NONE或者NTS,都是基于oracle密碼驗證的。
Windows下設置oracle登錄驗證為操作系統驗證方式的方法:
1:把os用戶加到ora_dba組
2:設置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)
或者你可以重建口令文件來改密碼,只不過原來授予sysdba和sysoper權限的用戶,就不再具有這2個權限了。
有一種oracle的登錄方式是操作系統驗證登錄方式,即常說的OS驗證登錄方式,在SQL server中也有這種方式。
當用Windows的管理員帳戶登陸系統后登陸數據庫,只要加上 as sysdba,不管用什么用戶名和密碼登陸,都正確,因為這時系統已經忽略了/ 兩邊的用戶名和密碼,默認就是sys用戶。
有些朋友經常使用connect / as sysdba登錄,但不知道為什么沒有提供用戶名和密碼就得到了sysdba的權限。還認為這樣是不是不安全呢?
Oracle在常見的多用戶操作系統上都可以進行OS認證方式來登錄。例如solaris,windows等等。
下面以常見的windows操作系統來說明看一下這個操作系統認證方式登錄的原理。如果你的機器可以使用connect / as sysdba獲取sysdba的權限,那么下面的每一個過程你的機器上都會得到驗證,如果不能,按照下面的操作更改后,你也能以這種方式登錄。
在命令行下敲入compmgmt.msc 進入計算機管理
選擇本地用戶和組—>組
看是不是有一個組的名字叫做ORA_DBA
雙擊改組可以看到里面是不是有administrator用戶
想一想你是不是以administrator用戶登錄的呢?
再進入Oracle安裝目錄(即$ORACLE_HOME 一般是D:"oracle)"ora92"network"admin 找到sqlnet.ora文件看看里面的是不是有SQLNET.AUTHENTICATION_SERVICES= (NTS)
如果這些都對的話,你就能已操作系統認證的方式(connect / as sysdba)來登錄Oracle
接下來的問題是,如果你的數據很重要,出于安全考慮,希望禁止這種操作系統認證的方式。那么該怎么做呢?
很簡單,找到在剛才的第6步驟中的sqlnet.ora文件,將SQLNET.AUTHENTICATION_SERVICES= (NTS)改為SQLNET.AUTHENTICATION_SERVICES=none即可。你再試一下看看會不會得到到如下結果:
ERROR:
ORA-01031: insufficient privileges
【oracle登陸有兩種認證方式】相關文章:
關于ORACLE認證的等級有那些06-15
Oracle認證作用07-31
Oracle最新認證07-13
Oracle認證簡介11-30
Oracle認證途徑09-11
Oracle認證:ORACLE綁定變量BINDPEEKING08-25
Oracle認證報考流程01-11