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