database's docs

3.5.0 RAC-配置用户和组


1. 用户及组

1) 创建用户oracle,grid及相关用户组

对于安装oracle RAC database 11g r2,oracle推荐给oracle grid Infrastructure创建grid用户,给oracle RAC database 软件安装创建oracle用户。基于所安装的软件,每个用户被分配不同的用户组来处理特定的角色。但是按此方法分开创建用户还需要oracle和grid都有一个公有的主组,oracle的中央inventory组(oinstall)。

以下是为安装Oracle RAC database cluster和部分Oracle用户的系统用户组别:

  • OSDBA group (DBA) – 确定具有DBA特权的操作系统用户帐户
  • OSOPER group (OPER) – 创建了一个可选组,用于将有限的DBA权限(SYSOPER权限)分配给特定的操作系统用户帐户

以下是为安装oracle Grid infrastructure和部分grid用户的系统用户组别:

  • OSDBA group (ASMDBA) – 提供Oracle ASM instances的管理访问
  • OSASM group (ASMADMIN) – 通过SYSASM特权为存储文件提供管理访问
  • OSOPER group (ASMOPER) – 创建一个可选组,用于将有关ASM的有限的DBA权限分配给特定操作系统用户账户
groupadd --gid 54321 oinstall
groupadd --gid 54322 dba
groupadd --gid 54323 asmdba
groupadd --gid 54324 asmoper
groupadd --gid 54325 asmadmin
groupadd --gid 54326 oper

useradd --uid 54321 --gid oinstall --groups dba,oper,asmdba,asmoper oracle
passwd oracle
useradd --uid 54322 --gid oinstall --groups dba,asmadmin,asmdba,asmoper grid
passwd grid

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

id grid
uid=54322(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(asmdba),54324(asmoper),54325(asmadmin)

2) 给grid和oracle用户设定limits

oracle推荐给每个oracle用户设定soft和hard限制,包含以下三项

  • nofile,文件描述符打开限制
  • nproc,进程限制
  • stack,堆栈段的容量

之所以要设定这些限制,是为了预防因为某个用户耗尽所有系统资源造成的系统级别的崩溃

touch /etc/security/limits.d/99-grid-oracle-limits.conf
vim /etc/security/limits.d/99-grid-oracle-limits.conf
******************************************************
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
******************************************************

特别需要注意的是,linux中,当系统去读取/etc/security/limits.conf中的配置之后,会去读取/etc/security/limits.d/目录中的*.conf文件,读取顺序为,特殊字符、数字的升序来排序,大写字幕和小写字幕按照字幕顺序排序。如果两个文件包含相同的内容,最后被读取的优先。

limits.conf文件中的修改会立即生效,为了保险起见,也可以重新登陆用户来使其生效。

使用root用户创建以下脚本,放在/etc/profile.d中,以便用户创建相应的ulimits设置

vi /etc/profile.d/oracle-grid.sh
******************************************************
#Setting the appropriate ulimits for oracle and grid user
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
 ulimit -u 16384
 ulimit -n 65536
 else
 ulimit -u 16384 -n 65536
 fi
fi
if [ $USER = "grid" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
 ulimit -u 16384
 ulimit -n 65536
 else
 ulimit -u 16384 -n 65536
 fi
fi
******************************************************