ITPUB论坛-中国专业的IT技术社区

 找回密码
 注册
查看: 555|回复: 14

chmod 6751 oracle 无法修改 group 组的属性,

[复制链接]
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
跳转到指定楼层
1#
发表于 2018-6-24 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
linux 7.4 oracle 11204, rac 2 nodes.

周五给节点1的数据库打个一次性的小补丁(one-off patch),打完后发现无法启动数据库实例,查看警告日志,

Fri Jun 22 20:55:06 2018
alter database mount
Fri Jun 22 20:55:06 2018
ORA-15025: could not open disk "/dev/data"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
ORA-15025: could not open disk "/dev/backup"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
Fri Jun 22 20:55:06 2018
SUCCESS: diskgroup DATADG was dismounted
ERROR: diskgroup DATADG was not mounted
ORA-15025: could not open disk "/dev/arch"
ORA-27041: unable to open file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9
SUCCESS: diskgroup ARCHIVELOGDG was dismounted
ERROR: diskgroup ARCHIVELOGDG was not mounted
ORA-00210: cannot open the specified control file
ORA-00202: control file: '+ARCHIVELOGDG/tlmborcl/controlfile/current.256.977397831'
ORA-17503: ksfdopn:2 Failed to open file +ARCHIVELOGDG/tlmborcl/controlfile/current.256.977397831
ORA-15001: diskgroup "ARCHIVELOGDG" does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-00210: cannot open the specified control file
ORA-00202: control file: '+DATADG/tlmborcl/controlfile/current.260.977397831'
ORA-17503: ksfdopn:2 Failed to open file +DATADG/tlmborcl/controlfile/current.260.977397831
ORA-15001: diskgroup "DATADG" does not exist or is not mounted
ORA-15040: diskgroup is incomplete
ORA-15040: diskgroup is incomplete
ORA-205 signalled during: alter database mount...
Shutting down instance (immediate)
Shutting down instance: further logons disabled


根据以往的经验,估计是 ORACLE 文件的权限在打补丁后出了问题,一查询,
-rwsr-s--x 1 oracle oinstall 239992968 Jun 22 20:30 oracle


对比节点2的正常值:
-rwsr-s--x 1 oracle asmadmin 239992968 Jun 22 20:30 oracle

我用 chmod oracle:asmadmin oracle ,无法修改,报: 无权限 错误。
后以 root 身份,chgrp 命令修改 oracle 文件的 group 组为 asmadmin,

但修改后的权限变为:-rwxr-x--x 1 oracle asmadmin 239992968 Jun 22 20:30 oracle

再执行用 chmod 6751 oracle, 希望改成 :-rwsr-s--x 1 oracle asmadmin
但结果却是: -rwsr-x--x 1 oracle asmadmin,尝试了几遍,始终无法把第2个 x,改成 s,


用 id 查看了 oracle 用户的属主,确认只有 oinstall, dba, oper, asmdba,
并没有 asmadmin 组,我就怀疑,是不是因为 oracle 用户没有配置此组,才导致
命令 chmod 6751 没法把 asmadmin 组的 x 权限, 改成  s ?


最后还是用 root 身份,chmod g+s 修改成功,改完后,数据库正常启动。


后在网上查看安装文档,安装时,oracle 系统用户,并没有授权 asmadmin 组,
但其在执行 chmod 6751 时,却能将 asmadmin 组的 x 权限,改成 s ,


请问:这是为何?


论坛徽章:
187
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
2#
发表于 2018-6-25 09:29 | 只看该作者
实际上root能做就行.
实际上这些都是安全问题.oracle用户修改chmod 6751 oracle,而组不再oracle用户内.自然oracle用户不能这样改.

使用道具 举报

回复
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
3#
 楼主| 发表于 2018-6-25 09:43 | 只看该作者
lfree 发表于 2018-6-25 09:29
实际上root能做就行.
实际上这些都是安全问题.oracle用户修改chmod 6751 oracle,而组不再oracle用户内.自 ...

我也怀疑如此,但这就意味着 ORACLE 的 SUPPORT 网站的一些文档有问题了:

该文档提到 6751 后,可以把 ORACLE:ASMADMIN 改成 S..S 属性,文档提到的也是 RAC 环境,而 RAC 的安装文档,并没有要求给 ORACLE 配置 ASMADMIN 组,这样的话, 6751 如何能把 ASMADMIN 组改成 S 属性?

使用道具 举报

回复
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
4#
 楼主| 发表于 2018-6-25 10:19 | 只看该作者
lfree 发表于 2018-6-25 09:29
实际上root能做就行.
实际上这些都是安全问题.oracle用户修改chmod 6751 oracle,而组不再oracle用户内.自 ...

你的意思是,使用  root 身份来执行 6751 oracle 命令?

使用道具 举报

回复
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
5#
发表于 2018-6-25 11:31 | 只看该作者
ZALBB 发表于 2018-6-25 10:19
你的意思是,使用  root 身份来执行 6751 oracle 命令?

准确的说用chmod 6751去修改也是错误的,标准的做法时
su - grid
$GI_HOME/bin/setasmgidwrap o=$DB_HOME/bin/oracle


这样才是正确修改 oracle这个二进制文件的 权限 和 属组

所谓的发现asmadmin不存在,不知道应该改成什么,其实根本不需要知道

asmadmin这个组很多人不建立,但是并不代表没有其他替代组,这个和安装时选择有关,不能仅仅通过组名来判断,准确的做法时找编译文件中的 SS_ASM_GRP变量的值。当然如果按照我上面的做法,使用正确的工具setasmgidwrap 来修改的话,这个工具会自动找到这个变量,并修改属组。

使用道具 举报

回复
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
6#
发表于 2018-6-25 11:33 | 只看该作者
oracle有许多小patch,都存在这个问题,安装后会把oracle二进制文件属组和权限搞错,但是其实 如果你知道 setasmgidwrap 工具,自己执行一边就可以;还有一中方法,就是重新再crs里注册db服务,注册因为srvctl add 这个命令再·1注册时,也会自动调用setasmgidwrap 工具

使用道具 举报

回复
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
7#
 楼主| 发表于 2018-6-25 12:19 | 只看该作者
zergduan 发表于 2018-6-25 11:31
准确的说用chmod 6751去修改也是错误的,标准的做法时
su - grid
$GI_HOME/bin/setasmgidwrap o=$DB_HO ...

之前在装 LINUX RAC时,打了很多小补丁,屡次遇上这个问题,然后在官网上找到这个命令的文档:$GI_HOME/bin/setasmgidwrap o=$DB_HOME/bin/oracle

但我没记下这文档的ID,上周五这问题再现后再找,却找不到了,只找到 6751 命令的文档,

使用道具 举报

回复
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
8#
 楼主| 发表于 2018-6-25 13:26 | 只看该作者
zergduan 发表于 2018-6-25 11:31
准确的说用chmod 6751去修改也是错误的,标准的做法时
su - grid
$GI_HOME/bin/setasmgidwrap o=$DB_HO ...

当初在安装这 RAC 时,打了很多小补丁,也多次遇上这问题,当时我是翻阅了SUPPORT 上的文档,的确是用了
su - grid
$GI_HOME/bin/setasmgidwrap o=$DB_HOME/bin/oracle

这方法命令来修复,但我没记录下上述文档的ID,结果,上周五再次打补丁,再次遇上这问题时,再查文档,却没能再次找到那文档,只找到 6751 的文档,于是就用 6751 的文档操作。

使用道具 举报

回复
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
9#
发表于 2018-6-25 13:51 | 只看该作者
ZALBB 发表于 2018-6-25 13:26
当初在安装这 RAC 时,打了很多小补丁,也多次遇上这问题,当时我是翻阅了SUPPORT 上的文档,的确是用了
...

福哥 DOC 中就有这部分内容


https://docs.oracle.com/cd/E1188 ... rade.htm#UPGRD12385

If there is a different user and group for Grid Infrastructure and Oracle Database, then run the setasmgidwrap script, which is located in the GRID_HOME/bin directory, against the new ORACLE_HOME/bin/oracle directory with the -o option as shown in the following example:

$GRID_HOME/bin/setasmgidwrap o=ORACLE_HOME/bin/oracle

使用道具 举报

回复
论坛徽章:
307
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
10#
 楼主| 发表于 2018-6-25 14:35 | 只看该作者
zergduan 发表于 2018-6-25 13:51
福哥 DOC 中就有这部分内容

If there is a different user and group for Grid Infrastructure and Oracle Database, then run the setasmgidwrap script,

这段话的意思,是指,若用不同的用户来安装 GI 和 ORACLE(也就是 GRID 和 ORACLE 用户安装两者), 则执行一下这个命令,,,是这个意思吧?

但文档没说明,为何要执行该命令,也没提及,我上面的小补丁引发的故障,与此命令存在什么关系?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表
http://www.vxiaotou.com