【ASM】SYSASM 角色

楊奇龍發表於2011-07-10

自動儲存管理 (ASM) 是在 Oracle 資料庫 10g 中引入的,它在某種程度上打破了 DBA 和系統管理員之間在儲存分配功能上的界限。ASM 例項由 DBA 管理,正如常規的 DBA 工作需要以 SYSDBA 角色進行連線一樣。但是隨著時間的推移,角色變得更加清楚,我們看到發生了基本的分工。因此,一些 ASM 操作返還給系統管理員。在某些情況下,會出現單獨的一類“ASM 管理員”,他們只進行ASM 管理,並不涉及資料庫管理。 然而,這個新角色的出現引發了一個衝突:需要用 SYSDBA 角色來管理 ASM 例項,但執行在同一臺伺服器上的生產資料庫的許多 DBA 感覺很難共享該角色。
Oracle 資料庫 11g 消除了這個衝突。有一個新角色 SYSASM,只用於管理 ASM 例項。這類似於針對 ASM 例項的 SYSDBA 角色。下面將演示如何連線到 ASM 例項:
[root@rac1 ~]# su - grid
/ as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Sun Jul 10 01:04:42 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> show user
USER is "SYS"
注意在os層面上,登入使用者必須是grid使用者,否則使用oracle會出現如下情況:
/home/oracle>sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Sun Jul 10 00:43:59 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
ERROR:
ORA-01031: insufficient privileges

注意連線子句“as sysasm”。在 Oracle 資料庫 11g 第 1 版中,該 SYSASM 角色被授予具有 SYSDBA 許可權的作業系統組(大多數情況下為“dba”)。換言之,Unix 中屬於 dba 組的使用者也可以作為 SYSASM 進行連線。(今後的版本會更改這種安排;sysdba 和 sysasm 角色將分成不同的 OS 組。)
以 sys 使用者身份連線到 ASM 例項後,您可以更新在口令檔案中更新的 SYS 口令:
SQL> alter user sys identified by YANG;
User altered.
儘管這個 ASM 例項不帶資料庫,您仍然可以建立使用者:
SQL> create user asmyang identified by asmyang;
User created.
現在,您可以將 SYSASM 角色授予該使用者:
SQL> grant sysasm to asmyangr;
Grant succeeded.
進行授權之後,asmyang 使用者(而非 SYS 使用者)可以執行所有 ASM 管理功能。該使用者可以透過子句 as sysasm 進行連線,該子句類似於常規資料庫中的“as sysdba”子句。
$ sqlplus asmyang/dumbyang as sysasm
這個特性實現了迫切需要的 ASM 和 DBA 職權分離。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-701785/,如需轉載,請註明出處,否則將追究法律責任。

相關文章