环境说明:

#主库RAC环境

#备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3

报错说明:

#主库备份控制文件,传输至备库,备库restore 报错

本篇文档,分为两大阶段:第一阶段:出现报错,查询相关日志

第二阶段:处理报错,尝试操作解决问题

 第一阶段:出现报错,查询日志阶段:  

#如下操作:

RMAN> restore standby controlfile from '/tmp/con.ctl';

Starting restore at 03-JUL-18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 instance=rac11g770a device type=DISK

channel ORA_DISK_1: restoring control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/03/2018 19:36:27
RMAN-10038: database session for channel ORA_DISK_1 terminated unexpectedly

#查询Alert日志:
NOTE: MARK has subscribed
ORA-15025: could not open disk "/dev/rhdisk6"
ORA-27041: unable to open file
IBM AIX RISC System/6000 Error: 13: Permission denied

第二阶段,解决问题:

#报错解决过程,经历了三个阶段:ABC,AB都是错误的,如果需要快速解决问题,直接看C 最后阶段,修改组完事

A:修改进程属主属组

chown oracle.asmadmin $ORACLE_HOME/bin/oracle

#查询如下:发现Oracle进程是oralce .oinstall 属组,查询OCR磁盘组所在操作系统层面的ASM磁盘
-bash-4.2# cd /picclife/app/oracle/product/11.2.0/dbhome_1/bin
-bash-4.2# ls -l oracle
-rwsr-s--x    1 oracle   oinstall  300820923 Jul 03 15:42 oracle

#ASM磁盘操作系统: 属组是ASMADMIN ,Oracle没有这个组,Oracle用户没有权限使用ASM磁盘
-bash-4.2# ls -l /dev/rhdisk2
crw-rw----    1 grid     asmadmin     13,  3 Jul 03 19:26 /dev/rhdisk2

#直接修改Oracle进程,属组为asmadmin
-bash-4.2# chown oracle:asmadmin oracle
-bash-4.2# ls -l oracle               
-rwsr-s--x    1 oracle   asmadmin  300820923 Jul 03 15:42 oracle

#使用SQLPLUS 报错---  提示组ID不对
ORA-27140: attach to post/wait facility failed
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 501 (oinstall), current egid = 503 (asmadmin)

#修改Oracle进程权限,还原操作
-bash-4.2# chmod 6755 oracle
-bash-4.2# ls -l oracle
-rwsr-sr-x    1 oracle   asmadmin  300820923 Jul 03 15:42 oracle

-bash-4.2# ls -l oracle
-rwsrwsr-x    1 oracle   asmadmin  300820923 Jul 03 15:42 oracle
-bash-4.2# chown oracle.oinstall oracle
#修改进程的属主属组,不太安全,直接对Oracle用户进行添加属组:

B:对Oracle用户添加asmadmin组

chgroup users=oracle asmadmin

--通过此命令修改后,出现大坑

-bash-4.2# chgroup users=oracle asmadmin      
-bash-4.2# id oracle
uid=501(oracle) gid=501(oinstall) groups=503(asmadmin),502(dba),504(asmdba)

#重启库,使用restore 可以发现,解决了ORACLE 用户,可以使用ASM存储的目的

RMAN> restore standby controlfile from '/tmp/con.ctl';

rac11g770a:/picclife/app/grid$ id oracle
uid=501(oracle) gid=501(oinstall) groups=503(asmadmin),502(dba),504(asmdba)
rac11g770a:/picclife/app/grid$ id grid
uid=502(grid) gid=501(oinstall) groups=502(dba),504(asmdba),505(asmoper)

#重启库后,发现集群状态不太对

GRID: asmcmd   --连接   发现ASMCMD 无法使用,sqlplus / as sysasm --没有权限!!!!!!!!!!

[grid@rac1 ~]$ . oraenv

ORACLE_SID = [+ASM1] ?

The Oracle base remains unchanged with value /u01/app/oracle

[grid@rac1 ~]$ asmcmd
Connected to an idle instance.
ASMCMD> ls
ASMCMD-8102: no connection to ASM; command requires ASM to run

#查询集群状态:
-bash-4.2# while true ; do  /picclife/app/11.2.0/grid/bin/crsctl stat res -t -init ; sleep 1; done

ora.asm
      1        ONLINE  OFFLINE                                                  
ora.cluster_interconnect.haip
      1        ONLINE  ONLINE       rac11g770a                                  
ora.crf
      1        ONLINE  ONLINE       rac11g770a                                  
ora.crsd
      1        ONLINE  OFFLINE                                                  
ora.cssd
      1        ONLINE  ONLINE       rac11g770a                                  
ora.cssdmonitor
      1        ONLINE  ONLINE       rac11g770a                                  
ora.ctssd
      1        ONLINE  ONLINE       rac11g770a               OBSERVER           
ora.diskmon
      1        OFFLINE OFFLINE                                                  
ora.drivers.acfs
      1        ONLINE  ONLINE       rac11g770a                                  
ora.evmd
      1        ONLINE  INTERMEDIATE rac11g770a        ---非常不正常, ASM CRSD服务均未启动!!!!

#对集群进行启动、停止,尝试,查询集群各种日志,均为得到明显的ORA报错

C:对用户属组进行修改:使用命令Usermod

###中午睡了一觉,状态OK后,查询用户,发现一个惊奇的特点:差点以为眼花了!!!

Grid: 操作系统用户,属组asmadmin 组消失了!!!!!!!

-bash-4.2# id grid
uid=502(grid) gid=501(oinstall) groups=502(dba),504(asmdba),505(asmoper)

-bash-4.2# id oracle
   uid=501(oracle) gid=501(oinstall) groups=502(dba),503(asmadmin),504(asmdba)

#对Grid用户的属组进行添加

-bash-4.2# usermod -G asmadmin grid           --对于此命令  -G  需要所有的组都添加
-bash-4.2# id grid
uid=502(grid) gid=501(oinstall) groups=503(asmadmin)
-bash-4.2# id oracle
uid=501(oracle) gid=501(oinstall) groups=502(dba),504(asmdba)

-bash-4.2# usermod -G dba,asmdba,asmoper,asmadmin grid
-bash-4.2# usermod -G dba,asmdba,asmoper,asmadmin  oracle

#对集群进行重启:
   rac11g770a:/picclife/app/11.2.0/grid/bin$ ./crsctl stop has -f
   #rac11g770a:/picclife/app/11.2.0/grid/bin$ ./crsctl stop crs -f
   rac11g770a:/picclife/app/11.2.0/grid/bin$ crsctl start has
   rac11g770a:/picclife/app/11.2.0/grid/bin$ crsctl start crs
   rac11g770a:/picclife/app/11.2.0/grid/bin$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
  
   #查询用户
-bash-4.2# id oracle
uid=501(oracle) gid=501(oinstall) groups=503(asmadmin),502(dba),504(asmdba),505(asmoper)
-bash-4.2# id grid
uid=502(grid) gid=501(oinstall) groups=503(asmadmin),502(dba),504(asmdba),505(asmoper)

OK!!!!!

ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储的更多相关文章

  1. Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver

    Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver 报错信息:

  2. JDK1.8环境下依然报错 Unsupported major.minor version 52.0

    JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...

  3. oracle dg 报错提示 涉及硬盘错误

    ###oracle dg 报错提示 涉及硬盘错误 Dec 23 03:28:01 xhisdg rsyslogd: [origin software="rsyslogd" swVe ...

  4. jmeter Linux环境执行总报错 cannot allocate memory

    1.windows环境写好的测试用例,执行没有问题,在Linux环境跑总是报错,提示如下 cannot allocate memory 2.一开始以为是哪块设置有问题,因为脚本里边有设置邮件自动发送, ...

  5. eclipse里maven install时,报错提示jdk为无效的目标版本:1.7

    http://blog.csdn.net/wabiaozia/article/details/51733372 ************************************ 报错提示: [ ...

  6. linux安装oracle 报错[INS-20802] Oracle Net Configuration Assistant failed 解决办法

    [INS-20802] Oracle Net Configuration Assistant failed 首先从LinuxIDC.com下载这个补丁包,然后用 unzip p8670579_1120 ...

  7. oracle 可以连接数据库,vs连不上. 报错提示:ORA-12154: TNS: 无法解析指定的连接标识符

    方法1:问题:VS 连接 Data Source=ORCL_Service19;User Id=*;Password=* 连接不上 oracle 可以连接数据库,vs连不上,报错提示:ORA-1215 ...

  8. 使用AFNetworking 报错提示

    使用AFNetworking 框架 解析数据 报错提示数据请求失败Error Domain=NSCocoaErrorDomain Code=3840 "The operation could ...

  9. appium---【已解决】【Mac】from appium import webdriver报错提示“Unresolved import webdriver”

    报错提示: from appium import webdriver提示Unresolved import webdriver 报错原因:没有安装Appium_Python_Client 解决办法: ...

随机推荐

  1. [LeetCode] 23. Merge k Sorted Lists ☆☆☆☆☆

    转载:https://leetcode.windliang.cc/leetCode-23-Merge-k-Sorted-Lists.html 描述 Merge k sorted linked list ...

  2. Python3组播通信编程实现教程(发送者+接收者)

    一.说明 1.1 标准组播解释 通信分为单播.多播(即组播).广播三种方式 单播指发送者发送之后,IP数据包被路由器发往目的IP指定的唯一一台设备的通信形式,比如你现在与web服务器通信就是单播形式 ...

  3. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个 依赖项。如何解决?

    之前项目做大数据批量添加使用了OracleBulkCopy,这个是引用Oracle.DataAccess.Client的命名空间,所以项目要引用一个Oracle.DataAccess.dll, 但是运 ...

  4. react router @4 和 vue路由 详解(二)react-router @4用法

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 2.react-router @4用法 a.大概目录      不需要像vue那样麻烦的 ...

  5. spoj705

    题解: 后缀数组求出height 然后ans=所有串-所有height 代码: #include<bits/stdc++.h> using namespace std; ; int t,a ...

  6. shell脚本中出现图形化界面

    http://www.ttlsa.com/shell/how-to-create-dialog-boxes-in-interactive-shell-script/

  7. day20 类的约束

    今日所学 : 1 .类的约束 2 .异常处理 try except raise 3. MD5加密 4. 日记处理(不要记,留一份,侧重点再用) 1 .类的约束 1) 写一个父类,父类中的某个方法要抛出 ...

  8. Java:<获取>、<删除>指定文件夹及里面所有文件

    工具类代码如下: 一.获取 public Class Test{ //定义全局变量,存放所有文件夹下的文档 List<String> fileList ; public List<S ...

  9. RabbitMQ arguments参数设置

    有发布端.消费端.消息路由.消息生命周期和身份认证标识等模块参数的设置. 具体请参考地址:http://www.rabbitmq.com/extensions.html

  10. linux 在执行命令过程中,反单引号(`)这个符号代表的意义为何?

    在一串命令中,在`之内的命令将会被先执行,而且执行出来的结果将作为外部的输入信息.例如:uname -r 会显示出目前的内核版本,而我们的内核版本在/lib/modules里面,因此.你可以先执行un ...