打补丁遇到的常见问题整理

 之前打补丁遇到了一些问题,下面对这些问题做一个总结。


1、操作系统参数配置;

linux:

cat /etc/sysctl.conf

aix:

smitty

操作系统参数配置不当会导致很多问题,知识点也很丰富,此篇暂不展开

2、udev配置

cat /etc/udev/rule.d/*permissions.rules

检查是否绑定scis_id,如果scis_id未绑定,需要评估是否能重启系统。

打补丁过程中可能调用udev,索引udev的配置一定要确认没有问题

3、操作系统crontab配置

crontab –l

停机时间定时任务无法运行,需要评估风险

4、listener、tnsnames、sqlnet文件配置

lsnrctl status

打补丁遇到的常见问题整理

cd /grid/app/12.1.0/grid/network/admin/

cat listener.ora

cat sqlnet.ora

cat tnsnames.ora

特别要确认sqlnet配置,各节点是否一致,是否有异常配置(已踩坑)

打补丁遇到的常见问题整理

补丁实施失败

打补丁遇到的常见问题整理

集群异常,无法正常启动

原因就是sqlnet中参数配置极不合理

需要屏蔽sqlnet中的参数:(SQLNET.AUTHENTICATION_SERVICES = (NTS))

5、检查磁盘目录权限(先确认目录位置)

ls -lrt /dev/oraasm-mpath*

打补丁遇到的常见问题整理

另,补丁实施完后需要再次检查磁盘权限是否正确,磁盘权限可能发生变化(已踩坑)

6、检查用户权限

id oracle

id grid

打补丁遇到的常见问题整理

oracle、grid用户需要磁盘的属组(已踩坑)

一般来说oracle的组是没有asmadmin的,但是12c补丁打完后还是会出现permission问题,添加过asmadmin就可以读盘了。

这个问题的比较奇怪,因为以前装了很多11g的都是这种权限(oracle无asmadmin),12c也可以,但是打过补丁就不行了

7、oracle文件

ls –l $ORACLE_HOME/bin/oracle

       此文件权限应为oracle:asmadmin  6751,补丁实施完后可能会发生变化。权限不对集群会起不来。

8、ssh认证

oracle,grid的ssh 互联测试

oracle和grid密码都可能过期,导致ssh认证会失效。此问题不会影响rac的运行,但是在打补丁的时候会出现认证失败,无法继续打补丁,需要重新认证或者重新输入密码(已踩坑)。

9、12c

       如果是12c opatchauto方式打补丁,可能会遇到bug(如:bug 20669114),12c打补丁最好编写好自动和手动两种方案。(已踩坑)

10、        multipath

查看multipath是否绑定wwid,如下示例:

cat /etc/multipath.conf 

blacklist {

        wwid    22fd530e000d00000

        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

}

defaults {

        user_friendly_names     yes

        polling_interval        10

        queue_without_daemon    no

        flush_on_last_del       yes

        checker_timeout         120

}

devices {

        device {

                vendor                  "MicroSAN"

                product                 "OracleRAC12c"

                path_grouping_policy    group_by_prio

                path_selector           "round-robin 0"

                no_path_retry           30

                prio                    alua

                path_checker            tur

                hardware_handler        "0"

                failback        15

                prio_callout             "/sbin/mpath_prio_alua /dev/%n"

                getuid_callout           "/sbin/scsi_id -g -u -s /block/%n"

        }

}

multipaths{

        multipath {

                        wwid    3600b34289ffa531da74dd6f4cd0000dd

                        alias   asm_fra1

                }

        multipath {

                        wwid    3600b34282c651fcdf643d954dd0000dd

                        alias   asm_fra2

                }

        multipath {

                        wwid    3600b3421f42e676d7144d8f23d0000dd

                        alias   asm_mgmt1

                }

     绑定了wwid和alias,这样就是最正确的

11、 readme

打补丁之前请仔细研读readme,尽量做好1:1测试。