首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 密碼檔完整指南:建立規範、OS/密碼檔雙認證、密碼修改與遺失重建

     編輯:Oracle 資料庫基礎

一、建立密碼檔指令與命名規範

ORAPWD FILE=檔名 PASSWORD=密碼 ENTRIES=最大用戶數

Unix/Linux 環境

  • 檔名強制為 orapw<SID>(無副檔名)。
  • 預設路徑:$ORACLE_HOME/dbs/。
  • 需提供完整路徑,內容加密。

Windows 環境

  • 檔名慣例:PWD<SID>.ora。
  • 實際位置由登錄鍵值決定:
    ORA_SID_PWFILE → ORA_PWFILE → 預設 %ORACLE_HOME%\database\PWD<SID>.ora。
  • 登錄未設定時使用預設值。

二、Windows 下 CONNECT / AS SYSDBA 免密登入原理與關閉

原因:OS 認證

sqlnet.ora 設定 SQLNET.AUTHENTICATION_SERVICES=(NTS),啟用 Windows 原生驗證。當前 OS 用戶若屬 ORA_DBA 群組,即可免密以 SYSDBA 登入。

關閉方式(改為密碼檔認證)

  1. sqlnet.ora 改為 SQLNET.AUTHENTICATION_SERVICES=(NONE)。
  2. 或於「電腦管理 → 使用者」移除當前用戶的 ORA_DBA 群組成員資格。

驗證:

SQL> CONNECT / AS SYSDBA
ERROR: ORA-01031: insufficient privileges
SQL> CONNECT SYS/oracle AS SYSDBA
Connected.

三、修改密碼同步更新密碼檔

ALTER USER SYS IDENTIFIED BY new_pwd;

執行後,資料庫內密碼與密碼檔內 SYS/INTERNAL 密碼同步更新為新密碼。

四、密碼檔遺失/損壞重建

直接重新執行 ORAPWD 指令重建即可,再依新密碼登入授權其他超級用戶。

五、關鍵參數對照表

參數/檔案Unix/LinuxWindows
密碼檔名orapw<SID>PWD<SID>.ora
預設路徑$ORACLE_HOME/dbs/%ORACLE_HOME%\database\
OS認證參數sqlnet.ora: (NONE)sqlnet.ora: (NTS)
遠端登入密碼檔REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE/SHARED/NONE同

結語

密碼檔是遠端 SYSDBA 管理的憑證中樞。掌握跨平台命名差異、OS/密碼檔認證切換、密碼同步機制與重建流程,是 DBA 實體安全與遠端運維的雙重保障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved