GI&DB文件权限批量错误如何处理?

来源:这里教程网 时间:2026-03-03 22:41:09 作者:

一、集群软件(关闭处理节点的集群和数据库)

1. 找一套相同版本正常的环境登入 $GRID_HOME

(若仅拷贝 $GRID_HOME 目录无法修改所有权限,则拷贝整个 /oracle 目录)

方法一

getfacl -pR ./ > backup.txt

替换 backup.txt 中的 主机名、 ASM 名和数据库名

:1,$s/rac1/rac2/g      --(:n,$s/ rac2/ rac1/g 替换第 n 行开始到最后一行中每一行所有 rac1 rac2)

拷贝至当前环境执行恢复

setfacl --restore=backup.txt

方法二

find -uid [Grid或root用户id号]

前面加上 chown grid/root  后跟上面输出的内容

awk拼接命令:find -uid 3000 |awk  '{print "chown grid:oinstall " $1}'

3.启动集群

 

二、数据库软件

启动数据库 alert 相关报错:

WARNING:failed to register ASMB0 with ASM instance
ORA-01034:ORACLE not available
ORA-27121:unable to determine size of shared memory segments
Linux-x86_64 Error:13:Permission denied

关键的两个软件

$ORACLE_HOME/bin/oracle

[oracle@rac1 ~]$ ls -tlr $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle dba 407944920 Mar  4 19:36 /oracle/app/product/12.2.0/db_1/bin/oracle
$GRID_HOME/bin/oracle
[grid@rac1 gi]$ ls -tlr $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 grid oinstall 372684232 Mar  4 17:00 /oracle/gi/bin/oracle

处理方法:

asm_home的用户下:

$ cd <asm_home>/bin
$ ./setasmgidwrap o=/u01/app/oracle/product/12.2.0/db_1/bin/oracle

参考文档:

Database Will Not Mount: ORA-15025, ORA-27041, 'Permission denied', ORA-15081 (Doc ID 1378747.1)

chmod u+s $GRID_HOME/bin/oracle
chmod g+s $GRID_HOME/bin/oracle

启动数据库

相关推荐