【Oracle安裝與作業系統使用者組】

不一樣的天空w發表於2016-11-15

Oracle軟體在安裝維護過程中長要和操作使用者組(OS user group)打交道,從早前的只有oracle使用者和dba組發展到今天11gr2中的grid使用者和asm組,Oracle管理的日新月異可見一斑。

我們在單例項(single-instance)環境中常用的三個操作使用者組,分別是:

oinstall使用者組

oinstall 組是Oracle推薦建立的OS使用者組之一,建議在系統第一次安裝oracle軟體產品之前建立該oinstall組,理論上該oinstall組應當擁有oracle軟體產品目錄(例如$CRS_HOME和$ORACLE_HOME)和oracle Inventory資訊目錄倉庫,oracle Inventory資訊目錄記錄了系統上安裝過的oracle產品的記錄。關於oracle Inventory產品資訊倉庫更多內容可以參考一文。

若系統中已有安裝過oracle產品軟體,則現有的oracle Inventory目錄的所有組必須是今後用來安裝新oracle軟體產品的使用者的主組(primary group)。

現有的oracle Inventory擁有者組可以透過/etc/oraInst.loc位置檔案瞭解:

inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall

若/etc/oraInst.loc(少數平臺不在該位置)位置檔案不存在,那麼建議建立oinstall使用者組,注意在RAC環境中要保持各節點上使用者組的gid一致:

# /usr/sbin/groupadd -g GID oinstall

OSDBA使用者組(dba)

OSDBA是我們必須要建立的一種系統DBA使用者組(dba),若沒有該使用者組我們將無法安裝資料庫軟體及執行管理資料庫的任務。

OSOPER使用者組(oper)

OSOPER是一種額外的使用者組(oper),我們可以選擇要不要建立該使用者組,建立該使用者組可以滿足讓os使用者行使某些資料庫管理許可權(包括SYSOPER角色許可權)的目的。注意SYSOPER的許可權包括startup和shutdown,所以要小心為該使用者組新增成員。

 

建立OSOPER使用者組的方法:

# /usr/sbin/groupadd oper

綜上所述在單機環境(single-instance)中oracle軟體擁有者使用者(常見的oracle或者orauser),因該同時是oinstall、dba、oper使用者組的成員。同時該使用者的主使用者組必須是oinstall。

Oracle Database 11g release 2中選擇Privileged Operating System Groups


 

而在11.2的GI/CRS環境中資料庫軟體擁有者使用者(oracle或orauser)還必須是asmdba使用者組的成員。

usermod -g oinstall -G dba,oper,asmdba [oracle|orauser]

id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),701(asmdba),54324(oper)

注意OSDBA和OSOPER使用者組都受到$ORACLE_HOME/rdbms/lib/config.c 原始檔的影響,該檔案定義了預設的 SS_DBA_GRP “dba” 和SS_OPER_GRP “oper”,該原始檔內容如下:

/*  Refer to the Installation and User's Guide for further information.  */

/* IMPORTANT: this file needs to be in sync with
              rdbms/src/server/osds/config.c, specifically regarding the
              number of elements in the ss_dba_grp array.
 */

#define SS_DBA_GRP "dba"
#define SS_OPER_GRP "oper"
#define SS_ASM_GRP ""

char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};
~

11g release2中oracle建議獨立地管理Grid Infrastructure和ASM例項,因此有必要建立更多的os使用者組以滿足不同的許可權分配。

我們在11.2的GI中常用的ASM使用者組有以下三個:

OSASM(asmadmin)使用者組

如果使用ASM,那麼我們必須建立osasm(asmadmin)使用者組,該OSASM使用者組的成員將被賦予SYSASM許可權,以滿足組成員管理Oracle Clusterware和Oracle ASM的許可權需求。

OSDBA for ASM group(asmdba)使用者組

OSDBA(asmdba)使用者組的成員將被賦予讀寫訪問ASM檔案的許可權。GI/CRS擁有者使用者和所有oracle資料庫軟體的擁有者必須是該組的成員。同時所有OSDBA(dba)使用者組的成員也必須是asmdba組的成員。

OSOPER for ASM(asmoper)使用者組

asmoper和osoper類似都是額外的可選擇建立的使用者組,建立該獨立的使用者組以滿足賦予使用者一套受限的ASM例項管理許可權(ASM的SYSOPER角色),該許可權包括了啟動和停止ASM例項,預設情況下OSASM(asmadmin)組成員將擁有所有SYSOPER的ASM管理許可權。

在11.2的GI/CRS環境中一般會建立grid或griduser使用者來管理GI軟體和ASM例項,以如下方式建立grid使用者:

 useradd -g oinstall -G asmadmin,asmdba,asmoper grid  

 id grid
 uid=54322(grid) gid=54321(oinstall) groups=54321(oinstall),700(asmadmin),701(asmdba),55000(asmoper)

轉載於:


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

相關文章