本文共 4385 字,大约阅读时间需要 14 分钟。
本文总结与归纳了平常遇到的一些关于Oracle 18c的错误以及处理方法,会不定期的进行更新。
这里的asm环境使用了Oracle ASM Filter Driver新特性。AFD设备的acl默认属主为grid:asmadmin,如下图红色箭头所指:
PRCR-1006 : Failed to add resource ora.orcl.db for orclPRCR-1071 : Failed to register or update resource ora.orcl.dbCRS-2566: User 'oracle' does not have sufficient permissions to operate on resource 'ora.driver.afd' which is part of the dependency specification.
使用如下命令更改afd设备的acl属主为grid:oinstall即可。
[grid@db01 ~]$ crsctl modify resource ora.driver.afd -attr "ACL='owner:grid:rwx,pgrp:oinstall:r-x,other::r--,user:grid:r-x' " -init
在11g r2环境下,修改standalone模式下的数据库实例自启动,使用下面的命令即可:
[grid@db01 ~]$ crsctl modify resource ora.cdb.db -attr "AUTO_START=1"
但是,在12c以后,使用上述命令会报错,如下:
[grid@db01 ~]$ crsctl modify resource ora.cdb.db -attr "AUTO_START=1"CRS-4995: The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.
这里就需要在后面加-unsupported参数,如下:
[grid@db01 ~]$ crsctl modify resource ora.cdb.db -attr "AUTO_START=1" -unsupported
在Oracle linux下,如果使用了acfs特性,只要安装新的内核,重启系统后,acfs驱动会失效,从而导致acfs相关功能失效。本环境就是因为安装了新内核导致失效,使用下面的命令查不到任何acfs模块信息:
[root@db01 ~]# lsmod |grep oracleoracleafd 212992 1
使用下面的命令,重新安装驱动:
[root@db01 ~]# /u01/app/18.0.0/grid/bin/acfsroot installACFS-9300: ADVM/ACFS distribution files found.ACFS-9314: Removing previous ADVM/ACFS installation.The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.ACFS-9315: Previous ADVM/ACFS components successfully removed.ACFS-9294: updating file /etc/sysconfig/oracledrivers.confACFS-9307: Installing requested ADVM/ACFS software.ACFS-9308: Loading installed ADVM/ACFS drivers.ACFS-9321: Creating udev for ADVM/ACFS.ACFS-9323: Creating module dependencies - this may take some time.ACFS-9154: Loading 'oracleoks.ko' driver.ACFS-9154: Loading 'oracleadvm.ko' driver.ACFS-9154: Loading 'oracleacfs.ko' driver.ACFS-9327: Verifying ADVM/ACFS devices.ACFS-9156: Detecting control device '/dev/asm/.asm_ctl_spec'.ACFS-9156: Detecting control device '/dev/ofsctl'.ACFS-9309: ADVM/ACFS installation correctness verified.ACFS-9294: updating file /etc/sysconfig/oracledrivers.conf[root@db01 ~]# lsmod |grep oracleoracleacfs 5431296 0oracleadvm 1110016 0oracleoks 716800 2 oracleacfs,oracleadvmoracleafd 212992 1
今天在安装18c的补丁时,由于磁盘空间不足导致失败,从而引起grid启动报错,如下:
[root@db01 ~]# /u01/app/18.0.0/grid/bin/crsctl start hasCRS-6706: Oracle Clusterware Release patch level ('4197789622') does not match Software patch level ('3794151718'). Oracle Clusterware cannot be started.CRS-4000: Command Start failed, or completed with errors.
使用下面的命令查看当前补丁信息:
[root@db01 ~]# /u01/app/18.0.0/grid/bin/kfod op=patches---------------List of Patches===============2790864427923415280905232809055328090557282567012843519228547619288224892886459328864607292308872926335429302264[root@db01 ~]# /u01/app/18.0.0/grid/bin/kfod op=patchlvl-------------------Current Patch level===================4197789622
12c以后,在这样的情况下,也不能进行回滚操作,只能进行补丁信息同步,如下:
[root@db01 ~]# /u01/app/18.0.0/grid/crs/install/roothas.sh -unlockUsing configuration parameter file: /u01/app/18.0.0/grid/crs/install/crsconfig_paramsThe log of current session can be found at: /u01/app/18.0.0/crsdata/db01/crsconfig/haunlock__2019-04-17_02-17-15PM.log2019/04/17 14:17:26 CLSRSC-347: Successfully unlock /u01/app/18.0.0/grid[root@db01 ~]# /u01/app/18.0.0/grid/crs/install/roothas.sh -postpatchUsing configuration parameter file: /u01/app/18.0.0/grid/crs/install/crsconfig_paramsThe log of current session can be found at: /u01/app/18.0.0/crsdata/db01/crsconfig/hapatch_2019-04-17_02-18-04PM.log2019/04/17 14:18:07 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'2019/04/17 14:21:49 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
12c和18c的roothas.sh参数有区别,具体以帮助文件为准。
如果在安装之前,使用root用户配置了afd设备,那么它会在grid用户的$ORACLE_BASE目录下产生一个属主为root用户的diag目录,所以会报错,如下图所示:
转载于:https://blog.51cto.com/candon123/2380155