11g RAC R2 体系结构---用户及用户组
10.2 RAC 到11.2 RAC 用户及用户组的变化:
- 在10.2 RAC 的部署中,只需要一个用户(oracle)和一个用户组(dba)。Database、Clusterware都是用oracle用户安装的。
- 在11.2 RAC 的部署中,创建了两个用户(oracle,grid)和6个用户组(oinstall,asmadmin,asmdba,dba,asmoper,oper)。Grid是用grid安装的,Database是oracle用户安装的。
- 在10.2 RAC ASM是以oracle用户身份运行维护的
- 在11.2 RAC ASM是以grid 用户身份运行维护的,即Grid(Clusterware + ASM数据库)
用户组oinstall:
- 机器上可能装了一堆oracle的软件,或一个软件的不同版本。Oracle会记录机器上都安装了哪些软件及版本,这份记录就是oracle的产品清单。
- oinstall的组成员对oracle的产品清单(oraInventory)拥有写的权限。
- 产品清单文件
[root@node1 oracle]# more /etc/oraInst.loc #查看清单文件目录
inventory_loc=/u01/app/oraInventory #真正的清单文件 是此目录下的./Contentsxml/inventory.xml
inst_group=oinstall
[root@node1 oracle]#
用户组dba:
- 属于这个用户组的用户,可以安装数据库软件和后续的数据库管理任务。
- 属于这个用户组的用户,可以在通过操作系统身份验证后,通过sqlplus以sysdba的身份连接到oracle数据库实例
说明:不要混淆sysdba系统权限与数据库角色dba。dba角色不包括sysdba和sysoper系统权限。也就是说,即使dba组成员,也要明确指明要以sysdba的权限登录,才能得到sysdba的权限。如:[oracle@node1 ~]$ sqlplus '/as sysdba'
用户组oper:
此用户是一个可选组。这个组也和oracle操作系统身份认证功能有关,属于这个组的成员可以通过操作系统身份验证使用sqlplus以sysoper身份连接到oracle实例,成员拥有一定的数据库管理权限。
用户组asmadmin:
- 属于这个用户组的用户,可以在通过操作系统身份验证后,通过sqlplus以sysasm的身份连接到asm数据库实例
- sysasm是在oracle 11g r1中出现的权限,到了11g r2,这个权限从sysdba中完全分离出来。
- 用sysasm取代sysdba对asm的管理维护主要是为了把存储层的系统权限剥离出来,这样对asm的管理和数据库的管理有了清晰的责任划分
- grid用户属于asmadmin用户组,即grid的维护范围 = clusterware + asm
如何正确关闭ASM实例?
- 在10g中,asm存储只放oracle数据库的文件,即asm只有一种客户端,就是oracle数据库。关闭顺序:关闭数据库-》关闭asm--》关闭crs
- 在11g r2中,asm存储不只存放oracle数据文件,还存放了集群的OCR和Voting file。即数据库和集群扮演者asm客户端的角色存在。因此, 要停止asm实例,只能和CRS一起停掉。即:crsctl stop crs
用户组asmdba:
- 这个组成员对asm所管理的文件有读写权限。
- Grid软件的安装者,所有者(grid用户)以及database软件的所有者(oracle用户)必须是该组成员。
- grid用户和oracle用户必须属于这个组。
用户组asmoper:
- 这个组是可选组。该组成员对asm实例有部分管理权限。
官方手册给出的用户组,用户,目录创建的实例
1 #用户组: 2 # groupadd -g 1000 oinstall 3 # groupadd -g 1020 asmadmin 4 # groupadd -g 1021 asmdba 5 # groupadd -g 1031 dba1 6 # groupadd -g 1041 dba2 7 # groupadd -g 1022 asmoper 8 9 #用户: 10 # useradd -u 1100 -g oinstall -G asmadmin,asmdba grid 11 # useradd -u 1101 -g oinstall -G dba1,asmdba oracle1 12 # useradd -u 1102 -g oinstall -G dba2,asmdba oracle2 13 14 #目录及权限: 15 # mkdir -p /u01/app/11.2.0/grid 16 # mkdir -p /u01/app/grid 17 # chown -R grid:oinstall /u01 18 # mkdir -p /u01/app/oracle1 19 # chown oracle1:oinstall /u01/app/oracle1 20 # mkdir -p /u01/app/oracle2 21 # chown oracle2:oinstall /u01/app/oracle2 22 # chmod -R 775 /u01