當前位置:學問君>人在職場>IT認證>

Oracle操作系統認證方式

學問君 人氣:2.41W

在Oracle數據庫系統中,用戶如果要以特權用戶身份(INTERNAL/SYSDBA/SYSOPER)登入Oracle數據庫可以有兩種身份驗證的方法: 即使用與操作系統集成的身份驗證或使用Oracle數據庫的密碼檔案進行身份驗證。因此,管理好密碼檔案,對於控制授權用戶從遠端或本機登入Oracle數據庫系統,執行數據庫管理工作,具有重要的意義。 Oracle數據庫的密碼檔案存放有超級用戶INTERNAL/SYS的口令及其他特權用戶的用戶名/口令,它一般存放在ORACLE_HOMEDATABASE目錄下。

Oracle操作系統認證方式

一、 密碼檔案的創建:

在使用Oracle Instance Manager創建一數據庫實例的時侯,在ORACLE_HOMEDATABASE目錄下還自動創建了一個與之對應的密碼檔案,檔案名爲,其中SID代表相應的Oracle數據庫系統標識符。此密碼檔案是進行初始數據庫管理工作的基礎。在此之後,管理員也可以根 據需要,使用工具手工創建密碼檔案,命令格式如下: 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偏好設定爲EXCLUSIVE、SHARED情況下,Oracle系統搜尋密碼檔案的次序爲: 在系統註冊庫中查找ORA_SID_PWFILE參數值(它爲密碼檔案的全路徑名); 若未找到,則查找ORA_PWFILE參數值;若仍未找到,則使用缺省值ORACLE_HOMEDATABASE;其中的SID代表相應的Oracle數據庫系統標識符。

三、 向密碼檔案中增加、刪除用戶:

當初始化參數REMOTE_LOGIN_PASSWORDFILE設定爲EXCLUSIVE時,系統允許除INTERNAL/SYS以外的其他用戶以管理員身份從遠端或本機登入 到Oracle數據庫系統,執行數據庫管理工作;這些用戶名必須存在於密碼檔案中,系統才能識別他們。由於不管是在創建數據庫實例時自動創建的密碼檔案,還是使用工具手工創建的密碼檔案,都只包含INTERNAL/SYS用戶的資訊;爲此,在實際操作中,可能需要向密碼文 件添加或刪除其他用戶帳號。

由於僅被授予SYSOPER/SYSDBA系統權限的用戶才存在於密碼檔案中,所以當向某一用戶授予或收回SYSOPER/SYSDBA系統權限時,他們的 帳號也將相應地被加入到密碼檔案或從密碼檔案中刪除。由此,向密碼檔案中增加或刪除某一用戶,實際上也就是對某一用戶授予或收回 SYSOPER/SYSDBA系統權限。

要進行此項授權操作,需使用SYSDBA權限(或INTERNAL帳號)連入數據庫,且初始化參數REMOTE_LOGIN_PASSWORDFILE的設定必須爲 EXCLUSIVE。具體操作步驟如下:創建相應的密碼檔案; 設定初始化參數REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE; 使用SYSDBA權限登入: CONNECT SYS/internal_user_passsword AS SYSDBA; 啓動數據庫實例並開啟數據庫; 創建相應用戶帳號,對其授權(包括SYSOPER和SYSDBA): 授予權限:GRANT SYSDBA TO user_name; 收回權限:REVOKE SYSDBA FROM user_name;現在這些用戶可以以管理員身份登入數據庫系統了;

四、 使用密碼檔案登入:

有了密碼檔案後,用戶就可以使用密碼檔案以SYSOPER/SYSDBA權限登入Oracle數據庫實例了,注意初始化參數 REMOTE_LOGIN_PASSWORDFILE應設定爲EXCLUSIVE或SHARED。任何用戶以SYSOPER/SYSDBA的權限登入後,將位於SYS用戶的Schema之下,以下爲 兩個登入的例子:

1. 以管理員身份登入:

假設用戶scott已被授予SYSDBA權限,則他可以使用以下命令登入:

CONNECT scott/tiger AS SYSDBA

2. 以INTERNAL身份登入:

CONNECT INTERNAL/INTERNAL_PASSWORD

五、 密碼檔案的維護:

1. 檢視密碼檔案中的成員:

可以透過查詢視圖V$PWFILE_USERS來獲取擁有SYSOPER/SYSDBA系統權限的用戶的資訊,表中SYSOPER/SYSDBA列的取值TRUE/FALSE表示此用戶是否擁有相應的權限。這些用戶也就是相應地存在於密碼檔案中的成員。

2. 擴展密碼檔案的用戶數量:

當向密碼檔案添加的帳號數目超過創建密碼檔案時所定的限制(即工具的MAX_USERS參數)時,爲擴展密碼檔案的用戶數限制,需重建密碼檔案,具體步驟如下:    a) 查詢視圖V$PWFILE_USERS,記錄下擁有SYSOPER/SYSDBA系統權限的'用戶資訊;    b) 關閉數據庫;    c) 刪除密碼檔案;    d) 用新建一密碼檔案;    e) 將步驟a中獲取的用戶添加到密碼檔案中。

3. 修改密碼檔案的狀態:

密碼檔案的狀態資訊存放於此檔案中,當它被創建時,它的缺省狀態爲SHARED。可以透過改變初始化參數REMOTE_LOGIN_PASSWORDFILE的設定改變密碼檔案的狀態。當啓動數據庫事例時,Oracle系統從初始化參數檔案中讀取REMOTE_LOGIN_PASSWORDFILE參數的設定;當加載數據庫 時,系統將此參數與口令檔案的狀態進行比較,如果不同,則更新密碼檔案的狀態。若計劃允許從多臺客戶機上啓動數據庫實例,由於各客戶機上必須有初始化參數檔案,所以應確保各客戶機上的初始化參數檔案的一致性,以避免意外地改變了密碼檔案的狀態,造成數據庫登陸的失 敗。

4. 修改密碼檔案的存儲位置:

密碼檔案的存放位置可以根據需要進行移動,但作此修改後,應相應修改系統註冊庫有關指向密碼檔案存放位置的參數或環境變量的設定

5. 刪除密碼檔案:

在刪除密碼檔案前,應確保當前執行的各數據庫實例的初始化參數REMOTE_LOGIN_PASSWORDFILE皆設定爲NONE。在刪除密碼檔案後,若想要以管理員身份連入數據庫的話,則必須使用操作系統驗證的方法進行登入。