在Oracle系統中用戶使用特權用戶身份(INTERNAL/SYSDBA/SYSOPER)登錄Oracle有兩種身份驗證方法
使用與操作系統集成的身份驗證
使用Oracle數據庫的密碼文件進行身份驗證
因此管理好密碼文件對於控制授權用戶從遠端或本機登錄Oracle數據庫系統執行數據庫管理工作具有重要的意義
Oracle數據庫的密碼文件存放有超級用戶INTERNAL/SYS的口令及其他特權用戶的用戶名/口令它一般存放在ORACLE_HOME\DATABASE目錄下
一 密碼文件的創建
在使用Oracle Instance Manager創建一數據庫實例的時侯在ORACLE_HOME\DATABASE目錄下還自動創建了一個與之對應的密碼文件文件名為PWDSIDORA其中SID代表相應的Oracle數據庫系統標識符此密碼文件是進行初始數據庫管理工作的基礎在此之後管理員也可以根據需要使用工具ORAPWDEXE手工創建密碼文件命令格式如下
C:\ >ORAPWD FILE=< FILENAME > PASSWORD
=< PASSWORD > ENTRIES=< MAX_USERS >
各命令參數的含義為
FILENAME密碼文件名;
PASSWORD設置INTERNAL/SYS帳號的口令;
MAX_USERS密碼文件中可以存放的最大用戶數對應於允許以SYSDBA/SYSOPER權限登錄數據庫的最大用戶數由於在以後的維護中若用戶數超出了此限制則需要重建密碼文件所以此參數可以根據需要設置得大一些
有了密碼文件之後需要設置初始化參數REMOTE_LOGIN_PASSWORDFILE來控制密碼文件的使用狀態
二 設置初始化參數REMOTE_LOGIN_PASSWORDFILE
在Oracle數據庫實例的初始化參數文件中此參數控制著密碼文件的使用及其狀態它可以有以下幾個選項
NONE指示Oracle系統不使用密碼文件特權用戶的登錄通過操作系統進行身份驗證;
EXCLUSIVE指示只有一個數據庫實例可以使用此密碼文件只有在此設置下的密碼文件可以包含有除INTERNAL/SYS以外的用戶信息即允許將系統權限SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用戶
SHARED指示可有多個數據庫實例可以使用此密碼文件在此設置下只有INTERNAL/SYS帳號能被密碼文件識別即使文件中存有其他用戶的信息也不允許他們以SYSOPER/SYSDBA的權限登錄此設置為缺省值
在REMOTE_LOGIN_PASSWORDFILE參數設置為EXCLUSIVESHARED情況下Oracle系統搜索密碼文件的次序為在系統注冊庫中查找ORA_SID_PWFILE參數值(它為密碼文件的全路徑名);若未找到則查找ORA_PWFILE參數值;若仍未找到則使用缺省值ORACLE_HOME\DATABASE\PWDSIDORA;其中的SID代表相應的Oracle數據庫系統標識符
三 向密碼文件中增加刪除用戶
當初始化參數REMOTE_LOGIN_PASSWORDFILE設置為EXCLUSIVE時系統允許除INTERNAL/SYS以外的其他用戶以管理員身份從遠端或本機登錄到Oracle數據庫系統執行數據庫管理工作;這些用戶名必須存在於密碼文件中系統才能識別他們由於不管是在創建數據庫實例時自動創建的密碼文件還是使用工具ORAPWDEXE手工創建的密碼文件都只包含INTERNAL/SYS用戶的信息;為此在實際操作中可能需要向密碼文件添加或刪除其他用戶帳號
由於僅被授予SYSOPER/SYSDBA系統權限的用戶才存在於密碼文件中所以當向某一用戶授予或收回SYSOPER/SYSDBA系統權限時他們的帳號也將相應地被加入到密碼文件或從密碼文件中刪除由此向密碼文件中增加或刪除某一用戶實際上也就是對某一用戶授予或收回SYSOPER/SYSDBA系統權限
[] []
From:http://tw.wingwit.com/Article/program/SQL/201311/16177.html