上篇文章"Oracle用户组错误导致的错误 " 谈到了11gR2里的用户组权限导致的一个错误,这篇文章,就顺便把11gR2里的用户组总结一下了
11gR2里的用户组:
描述 | OS 组名 | 分配给该组的 OS 用户 | Oracle 权限 | Oracle 组名 |
Oracle 清单和软件所有者 | oinstall | grid、oracle | ||
Oracle 自动存储管理组 | asmadmin | grid | SYSASM | OSASM |
ASM 数据库管理员组 | asmdba | grid、oracle | ASM 的 SYSDBA | OSDBA for ASM |
ASM 操作员组 | asmoper | grid | ASM 的 SYSOPER | OSOPER for ASM |
数据库管理员 | dba | oracle | SYSDBA | OSDBA |
数据库操作员 | oper | oracle | SYSOPER | OSOPER |
- Oracle 清单组(一般为 oinstall )
OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall )以及 Oracle 中央清单目录的路径。
如果不存在 oraInventory 组,默认情况下,安装程序会将集群的网格基础架构的安装所有者的主组列为 oraInventory 组。确保所有计划的 Oracle 软件安装所有者都使用此组作为主组。就本指南来说,必须将 grid 和 oracle 安装所有者配置为以 oinstall 作为其主组。
这个很关键,在11gR2里RAC的安装和10g不一样,rac换成了grid infrastructure,多了一个grid用户,oraInventory在两个部件都需要oinstall用户组保证都可以访问。
- Oracle 自动存储管理组(一般为 asmadmin )
此组为必需组。如果想让 Oracle ASM 管理员和 Oracle Database 管理员分属不同的管理权限组,可单独创建此组。在 Oracle 文档中,OSASM 组是其成员被授予权限的操作系统组,在代码示例中,专门创建了一个组来授予此权限,此组名为 asmadmin 。
OSASM 组的成员可通过操作系统身份验证使用 SQL 以 SYSASM 身份连接到一个 Oracle ASM 实例。SYSASM 权限是在 Oracle ASM 11g 第 1 版 (11.1) 中引入的,现在,在 Oracle ASM 11g 第 2 版 (11.2) 中,该权限已从 SYSDBA 权限中完全分离出来。SYSASM 权限不再提供对 RDBMS 实例的访问权限。用 SYSASM 权限代替 SYSDBA 权限来提供存储层的系统权限,这使得 ASM 管理和数据库管理之间有了清晰的责任划分,有助于防止使用相同存储的不同数据库无意间覆盖其他数据库的文件。SYSASM 权限允许执行挂载和卸载磁盘组及其他存储管理任务。
- ASM 数据库管理员组(OSDBA for ASM,一般为 asmdba )
ASM 数据库管理员组(OSDBA for ASM)的成员是 SYSASM 权限的一个子集,拥有对 Oracle ASM 管理的文件的读写权限。Grid Infrastructure 安装所有者 (grid ) 和所有 Oracle Database 软件所有者 (oracle ) 必须是该组的成员,而所有有权访问 Oracle ASM 管理的文件并且具有数据库的 OSDBA 成员关系的用户必须是 ASM 的 OSDBA 组的成员。
- ASM 操作员组(OSOPER for ASM,一般为 asmoper )
该组为可选组。如果需要单独一组具有有限的 Oracle ASM 实例管理权限(ASM 的 SYSOPER 权限,包括启动和停止 Oracle ASM 实例的权限)的操作系统用户,则创建该组。默认情况下,OSASM 组的成员将拥有 ASM 的 SYSOPER 权限所授予的所有权限。
要使用 ASM 操作员组创建 ASM 管理员组(该组拥有的权限比默认的 asmadmin 组要少),安装 Grid Infrastructure 软件时必须选择 Advanced 安装类型。这种情况下,OUI 会提示您指定该组的名称。在本指南中,该组为 asmoper 。
如果要拥有一个 OSOPER for ASM 组,则集群的 Grid Infrastructure 软件所有者 (grid ) 必须为此组的一个成员。
- 数据库管理员(OSDBA,一般为 dba )
OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为 dba 。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。
不要混淆 SYSDBA 系统权限与数据库角色 DBA 。DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。
- 数据库操作员组(OSOPER,一般为 oper )
OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。该组的默认名称为 oper 。SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。
Oracle技术论坛 http://www.oraforum.net