首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 9i Windows NT/2000 作業系統認證設定:sqlnet.ora 與 remote_login_passwordfile

     編輯:MySQL 資料庫相關知識

本文記錄 Oracle 9i 在 Windows 平台啟用作業系統認證(NTS)的關鍵參數設定,含 sqlnet.ora、remote_login_passwordfile 與密碼檔管理。

1. sqlnet.ora 設定啟用 NTS

# D:\Oracle\ora90\NETWORK\ADMIN\sqlnet.ora
NAMES.DEFAULT_DOMAIN = nova.net
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME, ONAMES)
  • SQLNET.AUTHENTICATION_SERVICES=(NTS):啟用 Windows 原生認證(Kerberos/NTLM),允許 OS 使用者直接以 CONNECT / AS SYSDBA 登入
  • NAMES.DIRECTORY_PATH:解析順序優先 TNSNAMES

2. remote_login_passwordfile 參數

啟用 NTS 時通常設為 NONE,依賴 OS 驗證;若需遠端 SYSDBA 連線(如 Data Guard、RMAN),設為 EXCLUSIVE 並建立密碼檔:

orapwd file=D:\Oracle\ora90\database\PWDORCL.ora password=sys_password entries=5

3. Windows 使用者群組對應

  • ORA_DBA 群組成員 → 自動擁有 SYSDBA 權限
  • ORA_OPER 群組成員 → 自動擁有 SYSOPER 權限
  • 在「電腦管理」→「本機使用者和群組」加入網域/本機使用者

4. 常見問題排查

  • ORA-01031 insufficient privileges:確認使用者在 ORA_DBA 群組、重新登入 Windows 刷新 Token
  • 遠端 SYSDBA 失敗:remote_login_passwordfile=EXCLUSIVE + 密碼檔存在 + 密碼正確
  • NTS 衝突:若同時設定 SQLNET.AUTHENTICATION_SERVICES=(NTS, NONE) 會導致不確定行為,請單一指定

結語

Windows 上 Oracle 採用 NTS 是最安全、最便利的認證方式:無密碼管理、符合企業單一登入、支援稽核追蹤。生產環境建議:NTS + EXCLUSIVE 密碼檔(備用) 組合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
值說明
NONE忽略密碼檔,僅允許 OS 認證(預設)
EXCLUSIVE使用專屬密碼檔,支援 SYS/INTERNAL 等特權使用者遠端登入
SHARED多資料庫共享密碼檔,僅限 SYS/INTERNAL