从11gR2版本开始,Oracle推荐使用不同的操作系统用户安装GI和数据库软件,例如:使用grid用户安装GI,使用Oracle用户安装数据库软件。当然,用户还是可以使用Oracle用户安装GI和数据库软件。同时,从11gR2版本开始,ASM作为GI的一部分被安装,而ASM软件是负责创建和管理ASM磁盘组的,Oracle数据库软件需要访问保存在ASM磁盘组的,所以就出现了新的问题:如何设置grid用户的权限,作为磁盘组的管理者,它应该拥有最高的权限;如何设置Oracle用户的权限,使它能够正常的访问磁盘组。
 
    Oracle的解决办法是创建不同的操作系统用户组和使用粘着位(stick bit)。首先,看一下11gR2版本中,与GI和数据库相关的操作系统用户组的功能:
oinstall:这个组是GI和数据库软件的拥有者组。
dba:这个组是数据库的dba组,对数据库具有最高权限。
asmdba:这个组是ASM实例的dba组,可以启动、关闭实例,挂载、卸载ASM磁盘组。
asmadmin:这个组是ASM的管理员组,它包含asmdba的全部权限,同时还可以增加、删除ASM磁盘、磁盘组等。
 
在11gR2,操作系统用户grid成为了集群件(GI)的owner,并且ASM成为了集群件的一部分,所以grid用户也成为了ASM 磁盘的owner。
 
   通常有3种方式配置ASM磁盘,asmlib, 裸设备和块设备。
 
1. asmlib
 
配置asm 磁盘的owner和group。
 
# /etc/init.d/oracleasm configure
 
…..
 
Default user to own the driver interface []: grid
 
Default group to own the driver interface []: asmadmin
 
……
 
查看ASM磁盘的设置:
 
ls –l /dev/oracleasm/disks
 
brw-rw---- 1 grid asmadmin 8, 33 Jul 2 18:21 DATA
 
注意: 从linux 2.6 内核开始,块设备的权限和路径配置在重启之后不再被保留,除非使用udev 创建规则文件固定。例如块设备/dev/sda在重启之后可能变成/dev/sdb。如果使用udev,那么在添加新磁盘时,需要修改规则文件以确保设备名和权限在重启之后不发生改变。
 
   如果使用asmlib, 只需要确定作为asm 磁盘的范围,asmlib会维护磁盘的标签和权限,以便在操作系统升级后磁盘标签仍然有效。 所以,asmlib 和udev实现的功能基本是相同的。
 
2. 裸设备。按照以下设置配置磁盘的owner和group:
 
crw-rw---- 1 grid asmadmin 162, 1 Jul 18 21:40 /dev/raw/raw1
 
3.块设备。按照以下设置配置磁盘的owner和group:
 
# chown grid:asmadmin /dev/rhdiskn
 
# chmod 660 /dev/rhdiskn
 
  接下来解释任务角色分离中oracle可执行文件的权限和group 设置。
 
  在上面的例子中,ASM磁盘的group是asmadmin,这意味着组asmadmin中的成员可以对asm磁盘进行读写操作,当然grid用户也可以。而其他用户,例如oracle,则需要通过oracle_home/bin下的oracle可执行文件访问asm 磁盘。
 
  这意味着oracle可执行文件不仅需要黏着位(stick bit),还需要是设置group 为asmadmin。当使用srvctl(srvctl start database/instance)启动数据库时oracle会自动调用<rdbms_home>/bin/setasmgid设置oracle 可执行文件的group为asmadmin。
 
   所以,如果问题出现在oracle不能访问asm 磁盘,需要检查以下的内容。当然由于oracle 可以直接访问asm磁盘,而不需要通过asm 实例,所以问题的症状可能很多,甚至ora-600错误都可能是这个原因。
 
1. Asmlib标识过的磁盘的权限和group设置
 
brw-rw---- 1 grid asmadmin 8, 49 Dec 31 12:14 DATA
 
2. 裸设备或者块设备的权限和group设置
 
crw-rw---- 1 grid asmadmin 162, 1 Jul 18 21:40 /dev/raw/raw1
 
3. RDBMS和GI 主目录下的oracle可执行文件的权限和group设置
 
rdbms_home : -rwsr-s--x 1 oracle asmadmin 188832561 Oct 30 21:22 oracle
 
gi_home: -rwsr-s--x 1 grid oinstall 166530359 Nov 16 14:31 oracle
 
  注意粘着位(stick bit)的设置
 
 
检查角色任务分离(Job Role Separation)设置是否正确一般需要检查以下配置:
1,检查ASM磁盘的权限,确认属主为grid用户,group 为asmadmin。
2,检查<rdbms_home>/bin/oracle 文件的权限,确认属主为Oracle用户,group和ASM磁盘的group相同,同时粘着位被设置。
3,检查<gi_home>/bin/oracle文件的权限,确认属主为grid用户,同时粘着位被设置。
 
 

11gR2集群件任务角色分离(Job Role Separation)简介的更多相关文章

  1. linux上使用amoeba实现MySql集群,以及读写分离,主从复制

    一.由于是MySql集群,所以就不可能只有一个MySql,需要多个MySql,具体安装步骤,可以参考http://www.cnblogs.com/ywzq/p/4882140.html这个地址进行安装 ...

  2. 刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】

    转自:https://blog.csdn.net/laoyang360/article/details/78290484 1.问题引出 ES5.X节点类型多了ingest节点类型. 针对3个节点.5个 ...

  3. 基于Keepalived高可用集群的MariaDB读写分离机制实现

    一 MariaDB读写分离机制 在实现读写分离机制之前先理解一下三种主从复制方式:1.异步复制:MariaDB默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...

  4. Hadoop集群中节点角色定义

    Hadoop分别从两个角度将主机划分为两种角色. 最基本的划分原则为Master和Slave,即主人和奴隶: 第一,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中 ...

  5. 在NAS设备上用NFS服务为RAC数据库和集群件存储oracle文件时的mount选项

    今天在家折腾自己的小实验室,把自己NAS上的一个目录用NFS挂载到一套11g RAC的实验环境中. 当我在备份数据库到NAS上时,发现一个奇怪的问题,同样的目录下,默认backup 备份集的情况,备份 ...

  6. nginx + tomcat集群和动静资源分离

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  7. 11gR2 集群(CRS/GRID)新功能—— SCAN(Single Client Access Name)

    https://blogs.oracle.com/database4cn/11gr2-crsgrid-scansingle-client-access-name

  8. nginx+ tomcat集群+动静资源分离

    不知道为什么这个随便删不掉,写了也值显示一半一半不显示, 我把重新写了一遍: nginx + tomcat集群和动静资源分离

  9. nginx配置文件(反向代理+集群+动静分离)

    1.nginx纯反向代理配置(nginx.conf): #user nobody;worker_processes 4;error_log logs/error.log info;pid logs/n ...

随机推荐

  1. 「USACO」「LuoguP2731」 骑马修栅栏 Riding the Fences(欧拉路径

    Description Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编 ...

  2. Cocos2d-X对常用Object-C特性的替换

    平台的转换,总是让我们不自觉的去寻找两者的相同处,不过Cocos2d-X的确对很多Object-C的特性进行了模仿性质的封装,使熟悉Object-C的人能够在其中看到很多类似的概念而感到亲切.     ...

  3. 【转】implements百科

    implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法.实现一个接口,必须实现接口中的所有方法.   中文名 实现 外文名 implements 意    思 类实现一 ...

  4. Spring 3.1新特性之一:使用Spring Profile和Mybatis进行多个数据源(H2和Mysql)的切换

    最近在做WebMagic的后台,遇到一个问题:后台用到了数据库,本来理想情况下是用Mysql,但是为了做到开箱即用,也整合了一个嵌入式 数据库H2.这里面就有个问题了,如何用一套代码,提供对Mysql ...

  5. UI:UICollectionView

    #import "ViewController.h" #import "HeaderView.h" #import "FooterView.h&quo ...

  6. 012--python字符编码和list列表和循环语句

    一.字符编码: ASCII码最多只能表示 256个符号,每一个字符占8位 为什么一个字节占8位?因为计算机在读一串二进制数111011001111101110的时候, 要按照规定的长度截取,才能分清一 ...

  7. UVa 1644 Prime Gap (水题,暴力)

    题意:给定一个数 n,求它后一个素数和前一个素数差. 析:先打表,再二分查找. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...

  8. 微信公众号开发及时获取当前用户Openid及注意事项

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及 ...

  9. (水题)洛谷 - P1036 - 选数

    https://www.luogu.org/problemnew/show/P1036 $n$ 才20的数据量,我当时居然还在想怎么分组组合,直接 $2^{20}$ 暴力搞就行了. $x_i $太大了 ...

  10. StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得

    http://stackoverflow.com/questions/17684664/retrieve-the-structlayout-attribute-of-a-struct 这是一个type ...