在 CentOS7 中安装两节点 Oracle 11g rac 集群,grid 和 oracle 软件安装完成后,创建数据库时提示没有监听,无法创建数据库。错误代码为:RPCR-1071,PRCR-1066,CRS-2566。
问题的原因
正常情况下,grid 用户下的 $ORACLE_HOME/bin/oracle 文件和 oracle 用户下的 $ORACLE_HOME/bin/oracle 正常权限应为-rwsr-s–x(6751)。查看这两个文件的权限:
1、grid 用户
[grid@rac2 bin]$ pwd
/u01/app/11.2.0/grid/bin
[grid@rac2 bin]$ ls -al oracle
-rwsr-s--x 1 grid oinstall 209854152 Jun 13 20:22 oracle
# 文件的权限没有问题
2、oracle 用户
[oracle@rac2 ~]$ cd $ORACLE_HOME/bin
[oracle@rac2 bin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/bin
[oracle@rac2 bin]$ ls -al oracle
-rwxr-xr-x 1 oracle oinstall 239520784 Jun 13 22:43 oracle
# 该文件权限有问题,正确的文件权限应为:-rwsr-s--x 1 oracle asmadmin
解决办法
1、修改 oracle 用户下的 /u01/app/oracle/product/11.2.0/db_1/bin/oracle 文件权限
两个节点同时修改:
[oracle@rac2 bin]$chown oracle:asmadmin oracle
[oracle@rac2 bin]$chmod 6751 oracle
[root@zlm bin]# ls -al oracle
-rwsr-s--x 1 oracle asmadmin 239520784 Jun 13 22:43 oracle
2、添加并启动监听
-- 添加 listener 到 crs 服务
[grid@rac1 ~]$ srvctl add listener
-- 查看监听状态
[grid@rac1 ~]$ srvctl status listener
Listener LISTENER is enabled -- 已添加
Listener LISTENER is not running -- 没有启动
-- 启动监听
[grid@rac1 ~]$ srvctl start listener
-- 查看监听状态
[grid@rac1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): oel11g