Windows域認證導致的ORA 01041

2021-04-02 05:44:53 字數 863 閱讀 7205

我本機的orace資料庫有段時間沒用了,今天登入時竟然報錯:

c:/>sqlplus "/ as sysdba"

sql*plus: release 9.2.0.1.0 - production on wed dec 7 15:22:18 2005

error:

ora-01041: internal error. hostdef extension doesn't exist

改用passwordfile認證:

c:/>sqlplus "sys/manager as sysdba"

sql*plus: release 9.2.0.1.0 - production on wed dec 7 16:53:01 2005

error:

ora-03113: end-of-file on communication channel

網上baigoo一下,看到這個帖子( http://.cnoug./viewthread.php?tid=62619)很受啟發,

9樓發現登入本機沒有問題,但登入域則出現上述問題,解決辦法就是當登入域時,

修改sqlnet.ora,去掉os認證方式。

我的情況正是如此,最近由於公司管理的需要,所有機器都改為登入域。

我把sqlnet.ora中的引數sqlnet.authentication_services= (nts)注釋掉或改值為none,再登入,都能成功。

我也測試了另一種情況,即保留引數設定不變,登出os使用者然後登入本機,再連線資料庫,成功。

至此,可以確認此現象與os使用者的認證方式有關。在登入域的情況下,os的使用者認證已移交給域伺服器完成,而資料庫的網路服務不能識別這一點,至於能否通過配置實現域認證,我還沒找到相關論述,正在研究中。

Windows認證 Windows本地認證

windows的登陸密碼是儲存在系統本地的sam檔案中的,在登陸windows的時候,系統會將使用者輸入的密碼與sam檔案中的密碼進行對比,如果相同,則認證成功。sam檔案是位於 systemroot system32 config 目錄下的,用於儲存本地所有使用者的憑證資訊,但是這並不代表著你可以...

Windows認證 Windows本地認證

windows的登陸密碼是儲存在系統本地的sam檔案中的,在登陸windows的時候,系統會將使用者輸入的密碼與sam檔案中的密碼進行對比,如果相同,則認證成功。sam檔案是位於 systemroot system32 config 目錄下的,用於儲存本地所有使用者的憑證資訊,但是這並不代表著你可以...

Windows身份認證 NTLM認證

步驟一 使用者通過輸入windows帳號和密碼登入客戶端主機。在登入之前,客戶端會快取輸入密碼的雜湊值,原始密碼會被丟棄 原始密碼在任何情況下都不能被快取 這是一條基本的安全準則 成功登入客戶端windows的使用者如果試圖訪問伺服器資源,需要向對方傳送乙個請求。該請求中包含乙個以明文表示的使用者名...