参考: http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-083834-zhs.html
以上图是基于Oracle 11gR2的一个用户组说明。
一、安装单实例时需要创建的几个groups:
1、Oracle 清单组(一般为 oinstall)
OINSTALL组的成员被视为Oracle 软件的“所有者”,拥有对Oracle中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,OUI会创建 /etc/oraInst.loc文件。该文件指定Oracle清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。
[root@rac1 ~]#cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
深入理解 OUI(Oracle Universal Installer)
http://blog.csdn.net/tianlesoftware/article/details/6901684
如果不存在oraInventory组,默认情况下,安装程序会将集群的网格基础架构的安装所有者的主组列为oraInventory组。确保所有计划的 Oracle软件安装所有者都使用此组作为主组。
2、数据库管理员(OSDBA,一般为 dba)
OSDBA组的成员可通过操作系统身份验证使用SQL以SYSDBA身份连接到一个Oracle实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为 dba。SYSDBA系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。
不要混淆SYSDBA系统权限与数据库角色DBA。DBA角色不包括SYSDBA或SYSOPER系统权限。
3、数据库操作员组(OSOPER,一般为 oper)
OSOPER 组的成员可通过操作系统身份验证使用SQL以SYSOPER身份连接到一个Oracle实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。该组的默认名称为oper。SYSOPER系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。
二、安装RAC集群时在单实例基础上添加的几个groups:
1、Oracle 自动存储管理组(一般为 asmadmin)
此组为必需组,如果想让Oracle ASM管理员和Oracle Database管理员分属不同的管理权限组,可单独创建此组。在 Oracle 文档中,OSASM组是其成员被授予权限的操作系统组,在代码示例中,专门创建了一个组来授予此权限,此组名为 asmadmin。
OSASM 组的成员可通过操作系统身份验证使用SQL 以SYSASM身份连接到一个Oracle ASM实例。SYSASM权限是在Oracle ASM 11g R1中引入的。在 Oracle ASM 11g R2中,该权限已从SYSDBA权限中完全分离出来。SYSASM权限不再提供对RDBMS实例的访问权限。用SYSASM权限代替SYSDBA权限来提供存储层的系统权限,这使得ASM管理和数据库管理之间有了清晰的责任划分,有助于防止使用相同存储的不同数据库无意间覆盖其他数据库的文件。SYSASM权限允许执行挂载和卸载磁盘组及其他存储管理任务。
2、ASM 数据库管理员组(OSDBA for ASM,一般为 asmdba)
ASM 数据库管理员组(OSDBA for ASM)的成员是 SYSASM 权限的一个子集,拥有对 Oracle ASM 管理的文件的读写权限。Grid Infrastructure 安装所有者 (grid) 和所有 Oracle Database 软件所有者 (oracle) 必须是该组的成员,而所有有权访问 Oracle ASM 管理的文件并且具有数据库的 OSDBA 成员关系的用户必须是 ASM 的 OSDBA 组的成员。
3、ASM 操作员组(OSOPER for ASM,一般为 asmoper)
该组为可选组。如果需要单独一组具有有限的 Oracle ASM 实例管理权限(ASM 的 SYSOPER 权限,包括启动和停止 Oracle ASM 实例的权限)的操作系统用户,则创建该组。默认情况下,OSASM 组的成员将拥有 ASM 的 SYSOPER 权限所授予的所有权限。
要使用 ASM 操作员组创建 ASM 管理员组(该组拥有的权限比默认的 asmadmin 组要少),安装 Grid Infrastructure 软件时必须选择 Advanced 安装类型。这种情况下,OUI 会提示您指定该组的名称。如果要拥有一个 OSOPER for ASM 组,则集群的 Grid Infrastructure 软件所有者 (grid) 必须为此组的一个成员。
三、为 Grid Infrastructure 创建组和用户
1、在两个Oracle RAC节点上为Grid Infrastructure 创建推荐的操作系统组和用户:
# groupadd -g 1000 oinstall
# groupadd -g 1200 asmadmin
# groupadd -g 1201 asmdba
# groupadd -g 1202 asmoper
# useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
# id grid uid=1100(grid) gid=1000(oinstall)
groups=1000(oinstall), 1200(asmadmin), 1201(asmdba),1202(asmoper)
2、设置grid 帐户的口令:
# passwd grid
Changing password for user grid.
New UNIX password:xxxxxxxxxxx
Retype new UNIX password:xxxxxxxxxxx
passwd: all authentication tokens updated successfully.
四、为Oracle 数据库软件创建组和用户
1、在两个Oracle RAC节点上为Oracle数据库软件创建推荐的操作系统组和用户:
# groupadd -g 1300 dba
# groupadd -g 1301 oper
# useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
# id oracle
uid=1101(oracle) gid=1000(oinstall)
groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)
2、设置 oracle 帐户的口令:
# passwd oracle
Changing password for user oracle.
New UNIX password: xxxxxxxxxxx
Retype new UNIX password: xxxxxxxxxxx
passwd: all authentication tokens updated successfully.
五、验证用户nobody存在
安装软件之前,执行以下过程,以验证在两个Oracle RAC节点上存在用户 nobody:
要确定该用户是否存在,输入以下命令:
# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
如果该命令显示了nobody 用户的信息,则无需创建该用户。如果用户 nobody 不存在,则输入以下命令进行创建:
# useradd nobody
在集群中的所有其他Oracle RAC 节点上重复此过程。
六、两个Oracle RAC 节点最终的配置:
1、Oracle中央清单组,即oraInventory组(oinstall),其成员以中央清单组作为主组,拥有对oraInventory目录的写入权限。
2、单独的OSASM组(asmadmin),其成员拥有SYSASM权限,可以管理Oracle Clusterware和Oracle ASM。
3、单独的ASM OSDBA组(asmdba),其成员包括grid和oracle,拥有对Oracle ASM的访问权限。
4、单独的ASM OSOPER组(asmoper),其成员包括grid,拥有有限的Oracle ASM管理员权限(包括启动和停止Oracle ASM实例的权限)。
5、集群的Oracle网格安装所有者(grid),该用户以oraInventory组作为其主组,以OSASM(asmadmin)、OSDBA for ASM(asmdba)和OSOPER for ASM(asmoper)组作为其辅助组。
6、单独的OSDBA组(dba),其成员拥有SYSDBA权限,可以管理Oracle数据库。
7、单独的OSOPER组(oper),其成员包括oracle,拥有有限的Oracle数据库管理员权限。
8、Oracle数据库软件所有者(oracle),该用户以oraInventory组作为其主组,以OSDBA(dba)、OSOPER(oper)和OSDBA for ASM组(asmdba)作为其辅助组。
9、符合OFA的挂载点/u01,在安装之前,其所有者为grid:oinstall。
10、网格的Oracle基目录/u01/app/grid,其所有者为grid:oinstall,权限设置为775,在安装过程中其权限设置更改为755。网格安装所有者的Oracle基目录是存放Oracle ASM诊断和管理日志文件的位置。
11、网格主目录/u01/app/11.2.0/grid,其所有者为grid:oinstall,权限设置为775(drwxdrwxr-x)。这些权限为安装所需,在安装过程中会更改为root:oinstall和755权限设置(drwxr-xr-x)。
12、在安装过程中,OUI在路径/u01/app/oraInventory下创建Oracle清单目录。此路径的所有者一直为grid:oinstall,使其他Oracle软件所有者可以写入中央清单。
13、Oracle基目录/u01/app/oracle,其所有者为oracle:oinstall,权限设置为775。