Oracle關系數(shù)據(jù)庫系統(tǒng)以其卓越的性能獲得了廣泛的應用,而保證數(shù)據(jù)庫安全性是數(shù)據(jù)庫管理工作的重要內(nèi)容。本文在總結Oracle數(shù)據(jù)庫安全管理工作的基礎上,對Oracle數(shù)據(jù)庫系統(tǒng)密碼文件的創(chuàng)建、使用和維護作了詳細的介紹,供大家參考。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設計、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務華安,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108在Oracle數(shù)據(jù)庫系統(tǒng)中,用戶如果要以特權用戶身份(INTERNAL/SYSDBA/SYSOPER)登錄Oracle數(shù)據(jù)庫可以有兩種 身份驗證的方法:即使用與操作系統(tǒng)集成的身份驗證或使用Oracle數(shù)據(jù)庫的密碼文件進行身份驗證。因此,管理好密碼文件,對于控制授權用戶從遠端或本機 登錄Oracle數(shù)據(jù)庫系統(tǒng),執(zhí)行數(shù)據(jù)庫管理工作,具有重要的意義。
Oracle數(shù)據(jù)庫的密碼文件存放有超級用戶INTERNAL/SYS的口令及其他特權用戶的用戶名/口令,它一般存放在ORACLE_HOME\DATABASE目錄下。
一、密碼文件的創(chuàng)建
在使用Oracle Instance Manager創(chuàng)建一數(shù)據(jù)庫實例的時侯,在ORACLE_HOME\DATABASE目錄下還自動創(chuàng)建了一個與之對應的密碼文件,文件名為 PWDSID.ORA,其中SID代表相應的Oracle數(shù)據(jù)庫系統(tǒng)標識符。此密碼文件是進行初始數(shù)據(jù)庫管理工作的基矗在此之后,管理員也可以根據(jù)需要, 使用工具ORAPWD.EXE手工創(chuàng)建密碼文件,命令格式如下:
[oracle@hyyk200 dbs]$ orapwd Usage: orapwd file=各命令參數(shù)的含義為:
FILENAME:密碼文件名;
PASSWORD:設置INTERNAL/SYS帳號的口令;
MAX_USERS:密碼文件中可以存放的大用戶數(shù),對應于允許以SYSDBA/SYSOPER權限登錄數(shù)據(jù)庫的大用戶數(shù)。由于在以后的維護中,若用戶數(shù)超出了此限制,則需要重建密碼文件,所以此參數(shù)可以根據(jù)需要設置得大一些。
有了密碼文件之后,需要設置初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE來控制密碼文件的使用狀態(tài)。
二、設置初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE
在Oracle數(shù)據(jù)庫實例的初始化參數(shù)文件中,此參數(shù)控制著密碼文件的使用及其狀態(tài)。它可以有以下幾個選項:
NONE:指示Oracle系統(tǒng)不使用密碼文件,特權用戶的登錄通過操作系統(tǒng)進行身份驗證;
EXCLUSIVE:指示只有一個數(shù)據(jù)庫實例可以使用此密碼文件。只有在此設置下的密碼文件可以包含有除INTERNAL/SYS以外的用戶信息,即允許將系統(tǒng)權限SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用戶。
SHARED:指示可有多個數(shù)據(jù)庫實例可以使用此密碼文件。在此設置下只有INTERNAL/SYS帳號能被密碼文件識別,即使文件中存有其他用戶的信息,也不允許他們以SYSOPER/SYSDBA的權限登錄。此設置為缺省值。
在REMOTE_LOGIN_PASSWORDFILE參數(shù)設置為EXCLUSIVE、SHARED情況下,Oracle系統(tǒng)搜索密碼文件的次 序為:在系統(tǒng)注冊庫中查找ORA_SID_PWFILE參數(shù)值(它為密碼文件的全路徑名);若未找到,則查找ORA_PWFILE參數(shù)值;若仍未找到,則 使用缺省值ORACLE_HOME\DATABASE\PWDSID.ORA;其中的SID代表相應的Oracle數(shù)據(jù)庫系統(tǒng)標識符。
三、向密碼文件中增加、刪除用戶
當初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE設置為EXCLUSIVE時,系統(tǒng)允許除INTERNAL/SYS以外的其他 用戶以管理員身份從遠端或本機登錄到Oracle數(shù)據(jù)庫系統(tǒng),執(zhí)行數(shù)據(jù)庫管理工作;這些用戶名必須存在于密碼文件中,系統(tǒng)才能識別他們。由于不管是在創(chuàng)建 數(shù)據(jù)庫實例時自動創(chuàng)建的密碼文件,還是使用工具ORAPWD.EXE手工創(chuàng)建的密碼文件,都只包含INTERNAL/SYS用戶的信息;為此,在實際操作 中,可能需要向密碼文件添加或刪除其他用戶帳號。
由于僅被授予SYSOPER/SYSDBA系統(tǒng)權限的用戶才存在于密碼文件中,所以當向某一用戶授予或收回SYSOPER/SYSDBA系統(tǒng)權 限時,他們的帳號也將相應地被加入到密碼文件或從密碼文件中刪除。由此,向密碼文件中增加或刪除某一用戶,實際上也就是對某一用戶授予或收回 SYSOPER/SYSDBA系統(tǒng)權限。
要進行此項授權操作,需使用SYSDBA權限(或INTERNAL帳號)連入數(shù)據(jù)庫,且初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE的設置必須為EXCLUSIVE.具體操作步驟如下:
創(chuàng)建相應的密碼文件;
設置初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
使用SYSDBA權限登錄: CONNECTSYS/internal_user_passswordASSYSDBA;
啟動數(shù)據(jù)庫實例并打開數(shù)據(jù)庫;
創(chuàng)建相應用戶帳號,對其授權(包括SYSOPER和SYSDBA): 授予權限:GRANTSYSDBATOuser_name;
收回權限:REVOKESYSDBAFROMuser_name;
現(xiàn)在這些用戶可以以管理員身份登錄數(shù)據(jù)庫系統(tǒng)了;
四、使用密碼文件登錄
有了密碼文件后,用戶就可以使用密碼文件以SYSOPER/SYSDBA權限登錄Oracle數(shù)據(jù)庫實例了,注意初始化參數(shù) REMOTE_LOGIN_PASSWORDFILE應設置為EXCLUSIVE或SHARED.任何用戶以SYSOPER/SYSDBA的權限登錄后, 將位于SYS用戶的Schema之下,以下為兩個登錄的例子:
1. 以管理員身份登錄:
假設用戶scott已被授予SYSDBA權限,則他可以使用以下命令登錄:
CONNECTscott/tigerASSYSDBA
2. 以INTERNAL身份登錄:
CONNECTINTERNAL/INTERNAL_PASSWORD
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。