使用crs_setperm修改RAC资源的所有者及权限

Posted 张冲andy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用crs_setperm修改RAC资源的所有者及权限相关的知识,希望对你有一定的参考价值。

  Oracle RAC 集群中,对于各种资源的管理,也存在所有者与权限的问题。crs_getperm与crs_setperm则是这样的一对命令,主要用于查看与修改集群中resource的owner,group以及权限等,下面通过具体的演示来获得其使用方法。

[python] view plain copy
 
 print?
  1. 1、查看当前集群中的资源  
  2. #下面的查询可知,当前集群环境中存在两个service  
  3. [email protected]:~> crs_stat -ls | grep srv  
  4. ora....O4A.srv oracle         oinstall                 rwxrwxr--  
  5. ora....0g1.srv oracle         oinstall                 rwxrwxr--  
  6.   
  7. #获得service的全称  
  8. [email protected]:~> crs_stat -p | grep srv  
  9. NAME=ora.GOBO4.GOBO4_SRV.GOBO4A.srv  
  10. NAME=ora.ora10g.hr_ora10g.ora10g1.srv  
  11. DESCRIPTION=ora.ora10g.hr_ora10g.ora10g1.srv  
  12.   
  13. #下面通过crs_getperm获得资源的所有者即权限  
  14. [email protected]:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  15. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  16. owner:oracle:rwx,pgrp:oinstall:rwx,other::r--,  
  17. #上面owner即为所有者,pgrp表示所有者,other则为其他用户,每个后面跟的都是其对应的权限  
  18.   
  19. 2、crs_getperm与crs_setperm的用法  
  20.   
  21. [email protected]:~> crs_getperm -h  
  22. Usage: crs_getperm resource_name [-u user|-g group] [-q]  
  23. #crs_getperm用法较为简单,后面接资源名,可选的为用户或组  
  24.   
  25. [email protected]:~> crs_setperm -h  #此命令稍微较crs_getperm复杂  
  26. Usage: crs_setperm resource_name -u aclstring [-q]  
  27.        crs_setperm resource_name -x aclstring [-q]  
  28.        crs_setperm resource_name -o user_name [-q]  
  29.        crs_setperm resource_name -g group_name [-q]  
  30.   
  31.        -u  Update the acl string  
  32.        -x  Delete the acl string  
  33.        -o  Change the owner of the resource  
  34.        -g  Change the primary group of the resource  
  35.   
  36.        aclstring is one of the following:   
  37.        user:<username>:rwx  
  38.        group:<groupname>:r-x   #当心这里的group用法,如果直接使用group修改权限会收到错误提示  
  39.        other::r--  
  40.   
  41. 3、演示使用crs_setperm  
  42. [email protected]:~> su  
  43. Password:   
  44. #下面分别修改资源hr_ora10g的资源所有者和所属组,将其全部改为roo权限  
  45. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -o root  
  46. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -g root   
  47.   
  48. #查看修改之后,该资源的属主与属组已经发生变化  
  49. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  50. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  51. owner:root:rwx,pgrp:root:rwx,other::r--,  
  52.   
  53. #修改属组的权限,将其改为读,执行  
  54. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:root:r-x  
  55. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  56. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  57. owner:root:rwx,pgrp:root:r-x,other::r--,  
  58.   
  59. #使用同样的方式将其修改回去。  
  60. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -o oracle  
  61. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -g oinstall  
  62. bo2dbp:/users/oracle # crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:oinstall:rwx  
  63.   
  64. bo2dbp:/users/oracle # crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  65. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  66. owner:oracle:rwx,pgrp:oinstall:rwx,other::r--,  
  67.   
  68. bo2dbp:/users/oracle # su - oracle  
  69. #所有者的权限不允许修改  
  70. [email protected]:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:r-x   
  71. CRS-0248:  Acl operation failed  
  72.   
  73. [email protected]:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:rw-  
  74. CRS-0248:  Acl operation failed  
  75.   
  76. [email protected]:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u owner:oracle:-wx  
  77. CRS-0248:  Acl operation failed  
  78.   
  79. #组权限可以修改  
  80. [email protected]:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u pgrp:oinstall:r-x   
  81.   
  82. [email protected]:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  83. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  84. owner:oracle:rwx,pgrp:oinstall:r-x,other::r--,  
  85.   
  86. #other也可以修改  
  87. [email protected]:~> crs_setperm ora.ora10g.hr_ora10g.ora10g1.srv -u other::rwx    
  88. [email protected]:~> crs_getperm ora.ora10g.hr_ora10g.ora10g1.srv  
  89. Name: ora.ora10g.hr_ora10g.ora10g1.srv  
  90. owner:oracle:rwx,pgrp:oinstall:r-x,other::rwx,  
  91.   
  92. #Author: Robinson   
  93. #Blog: http://blog.csdn.net/robinson_0612  
  94. #根据下面的查看结果可知,已经发生了变化,建议将其改为最初的状态  
  95. [email protected]:~> crs_stat -ls |grep srv  
  96. ora....O4A.srv oracle         oinstall                 rwxrwxr--  
  97. ora....0g1.srv oracle         oinstall                 rwxr-xrwx    
  98. 转:http://blog.csdn.net/leshami/article/details/8219242

以上是关于使用crs_setperm修改RAC资源的所有者及权限的主要内容,如果未能解决你的问题,请参考以下文章

Oracle RAC Service资源管理

oracle 11g RAC 的一些基本概念

一次生产环境搭建11g RAC的记录

Oracle11.2.0.4-Rac集群hang分析记录

12c RAC 添加删除ora.dbanme.db资源

如何诊断RAC数据库上的“IPC Send timeout”问题