Windows ORACLE 外部認證

2022-09-11 19:18:13 字數 3223 閱讀 9445

sys使用者的外部認證

oracle外部認證,也叫作業系統認證,是指我們在以某個使用者名稱登入oracle資料庫時,只要進入了作業系統,就可以免密碼直接登入oracle資料庫,如下:

我們在windows(這裡是win7)上安裝oracle時,系統會自動為我們建立ora_dba組,並自動把當前安裝oracle軟體的使用者加入到ora_dba組中,從而我們在進入系統後,登入資料庫時可以sqlplus / as sysdba這樣登入,而不需要密碼。如下:

首先檢視安裝oracle軟體的win7系統使用者名稱:

可以看到,使用者名為bill

在win7桌面上右擊 計算機,點選管理,然後出現如下介面:

可以看到有乙個ora_dba組,這是我們在安裝oracle軟體時系統自動建立的

右擊ora_dba組,點選屬性,出現如下介面:

可以看到bill使用者已被加入了ora_dba組。

所以,作業系統的其它使用者也可以sqlplus / as sysdba這樣以sys使用者登入到資料庫,只是要把這個系統使用者加入ora_dba組,下面來做一下:

1.首先在win7上建立了乙個tjp使用者,建立方法非常簡單,此處略。

2.加入ora_dba組

在桌面上右擊 "計算機"->管理,如下圖所示:

把使用者tjp加入到ora_dba組以後把win7系統切換到tjp使用者,然後在cmd視窗登入:

這樣,我們就實現了win7作業系統的其他使用者的免密碼登入了。

其他使用者只要擁有sysdba許可權,並以此許可權登入,則登入使用者顯示全為sys,下面是在遠端操作:

c:\users\user02>sqlplus sys/oracle@prod as sysdba

sql*plus: release 11.2.0.1.0 production on 星期五 2月 22 18:06:37 2013

連線到:

oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production

sql> show user;

user 為 "sys"

sql> create user admin identified by admin;

使用者已建立。

sql> grant sysdba to admin;

授權成功。

sql> exit

從 oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production

c:\users\user02>sqlplus admin/admin@prod as sysdba;

sql*plus: release 11.2.0.1.0 production on 星期五 2月 22 18:07:44 2013

連線到:

oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production

sql> show user;

user 為 "sys"

sql>

sysdba這個許可權很特殊,只有sys使用者才有這個許可權(其他使用者當然也可以有這個許可權,但登入後顯示的還是sys使用者),sys 使用者在登入的時候後面必須指名以 sysdba這個許可權登入,所以在登入時必須加上as sysdba。所以sqlplus / as sysdba這樣登入的使用者就是指sys。其他有sysdba許可權的使用者登入時,必須sqlplus 使用者名稱/密碼@服務名 as sysdba這樣登入,但顯示的還是sys使用者。所以只要有sysdba許可權的使用者以sysdba許可權登入了,可以說都轉變為了sys使用者。

那麼普通使用者可不可以sqlplus / 這樣登入呢,因為普通使用者沒有sysdba許可權,所以後面也當然不能加as sysdba這樣登入了。

下面來實現普通使用者的作業系統認證

資料庫裡有很多的普通使用者,普通使用者要實現sqlplus / 這樣登入,那登入到底是登入哪個普通使用者呢?所以我們必須在資料庫裡設定sqlplus / 這樣登入的是哪個普通使用者:

1.首先要在資料庫裡建立乙個普通使用者

這個普通使用者的建立還得符合一定的要求,必須以下面這個引數的值(ops$)開頭

sql> show parameter os_authent_prefix

name type value

os_authent_prefix string ops$

sql>

除此之外,後面還得加上計算名(我的計算機名為bill-pc),最後再加上\,再加上使用者名稱(此處也叫tjp),所以最後的使用者名為ops$bill-pc\tjp

2.在登錄檔裡面新增一環境變數

cmd->regedit

在右邊新增一引數auth_prefix_domain 值設定為false

然後登入:

這樣就實現了乙個普通使用者的作業系統認證。

windows oracle 啟動關閉指令碼

需要用windows管理員許可權執行,win10下測試通過 oracle安裝時會預設安裝7個service,介紹如下 1.oracle orcl vss writer service 非必須啟動 oracle卷對映拷貝寫入服務,vss volume shadow copy service 能夠讓儲存...

Windows Oracle解決死鎖

背景 執行某個查詢功能,無返回無報錯,再次請求時出現死鎖異常。導致後台和其他相關的後台服務無法對該錶進行任何操作。1 查詢導致死鎖的session和object name 被鎖死的表 select l.session id,o.owner,o.object name from v locked ob...

Windows Oracle匯入資料庫

匯入資料庫有四種方法。1.在cmd視窗中用imp命令匯入。username為使用者名稱,password為密碼,orcl為例項名。imp username password orcl file e backup20201010.dmp full y 2.在cmd視窗中用impdp命令匯入。usern...