温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle 19c RAC on Linux 7.6安装手册

发布时间:2020-08-08 23:42:06 来源:ITPUB博客 阅读:976 作者:你好我是李白 栏目:关系型数据库

目录

Oracle 19c  RAC on Linux 安装手册 ... 2

说明 ... 2

1 OS 环境检查 ... 3

2 关闭THP ,开启Hugepages 4

2.1 禁用透明大页面: ... 4

2.2 开启大页面: ... 5

3 安装软件包 ... 5

3.1 Red Hat  Enterprise Linux 7 安装包 ... 5

3.2 其他软件包 ... 6

4 内核参数 ... 6

4.1 使用Preinstall RPM 配置内核参数 ... 6

4.2 手工配置参数 ... 6

4.2  CVU(optional) 7

5 网络配置 ... 7

5.1 固定配置 ... 8

5.2 GNS + 固定配置 ... 8

6 其他配置 ... 10

6.1 操作系统杂项配置 ... 10

6.2 时钟同步 ... 11

6.3 NAS 存储附加配置 ... 11

6.4 I/O  Scheduler 12

6.5 SSH 超时限制 ... 12

6.3 用户组目录配置 ... 12

6.6 图形界面配置 ... 14

6.7  limits.conf 14

6.8 关闭X11 Forward . 14

6.9 Direct  NFS . 15

6.10 Oracle  Member Cluster 15

6.11 手工配置ASM 磁盘,UDEV . 15

7 gridSetup.sh . 15

7.1  gridSerup.sh . 16

7.2  runInstaller 27

7.3 19.3 升级19.5.1 补丁 ... 33

7.4 DBCA . 34

Oracle 19c RAC on Linux 安装手册

说明

Starting with Oracle Grid Infrastructure 12c Release 1 (12.1), as part of an Oracle Flex

Cluster installation, Oracle ASM is configured within Oracle Grid Infrastructure to

provide storage services

Starting with Oracle Grid Infrastructure 19c (19.3), with Oracle Standalone

Clusters, you can again place OCR and voting disk files directly on shared file

systems.

Oracle Flex Clusters

Starting with Oracle Grid Infrastructure 12c Release 2 (12.2), Oracle Grid

Infrastructure cluster configurations are Oracle Flex Clusters deployments.

12.2 开始,集群分Standalone Cluster Domain Service Cluster 两种集群模式,

Standalone Cluster

ü   可以支持64 个节点

ü   每个节点都直接连接共享存储

ü   各个节点共享存储都通过各自节点的ASM 实例或者共享文件系统挂载。

ü   本地控制GIMR

ü   19c Standalone Cluster 可选择是否配置GIMR

ü   可以使用GNS 配置vip scan ,也可以自己手工配置。

Domain Services Cluster

ü   一个或多个节点组成域服务集群( DSC

ü   一个或多个节点组成数据库成员集群( Database Member Cluster

ü   (可选)一个或多个节点组成应用成员节点( Application Member Cluster

ü   集中的网格基础架构管理存储库(为 Oracle Cluster Domain 中的每个集群提供 MGMTDB

ü   跟踪文件分析器( TFA )服务,用于 Oracle Clusterware Oracle 数据库的目标诊断数据收集

ü   合并 Oracle ASM 存储管理服务

ü   可选的快速家庭配置( RHP )服务,用于安装群集,以及配置,修补和升级 Oracle Grid Infrastructure Oracle Database 家庭。 配置 Oracle 域服务群集时,还可以选择配置 Rapid Home Provisioning Server

这些中心化的服务可以被 cluster Domain 中的数据库成员集群利用( Datebase Member Cluster Application Member Cluster )。

Domain Service Cluster 中的存储访问:

DSC 中的 ASM 能够提供中心化的存储管理服务,成员集群( Member Cluster )能够通过以下两种方式访问 DSC 上的分片式存储:

ü   直接物理连接到分片存储进行访问

ü   使用 ASM IO Service 通过网络路径进行访问

单个Member Cluster 中所有节点必须以相同的方式访问分片存储,一个Domain Service Cluster 可以有多个Member Cluster ,架构图如下:

                                             

1 OS 环境检查

项目

要求

检查命令

RAM

至少 8G

# grep MemTotal   /proc/meminfo

运行级别

3 or 5

# runlevel

Linux 版本

Oracle Linux 7.4 with the Unbreakable Enterprise Kernel   4:

4.1.12-112.16.7.el7uek.x86_64 or later

Oracle Linux 7.4 with the Unbreakable Enterprise Kernel   5:

4.14.35-1818.1.6.el7uek.x86_64 or later

Oracle Linux 7.4 with the Red Hat Compatible kernel:

3.10.0-693.5.2.0.1.el7.x86_64 or later

Red Hat Enterprise Linux 7.4:   3.10.0-693.5.2.0.1.el7.x86_64

or later

SUSE Linux Enterprise Server 12 SP3:   4.4.103-92.56-default

or later

#   uname -mr

# cat   /etc/redhat-release

/tmp

至少 1G

# du -h /tmp

swap

SWAP Between 4 GB and 16 GB: Equal to RAM

More than 16 GB: 16 GB ,如果启用了 Huge Page ,则计算 SWAP 需要减去分配给 HugePage 的内存。

# grep SwapTotal   /proc/meminfo

/dev/shm

检查 /dev/shm 挂载类型,以及权限。

# df -h /dev/shm

软件空间要求

grid 至少 12G Oracle 至少 10g 空间,建议分配 100g 预留

19c 开始 GIMR standalone 安装时变为可选项。

# df -h /u01

2 关闭THP ,开启Hugepages

如果使用Oracle Linux ,可以通过Preinstallation RPM 配置操作系统, 如果安装Oracle Domain Services Cluster ,则需要配置GIMR ,则需要考虑大页面会被GIMR SGA 使用1G ,需要将此考虑到hugepages 中,standalone 则可以选择是否配置GIMR

2.1 禁用透明大页面:

查看透明大页面是否开启

[root@db-oracle-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

查看透明大页面整理碎片功能是否开启, THP defragmentation

[root@db-oracle-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag  

[always] madvise never

"transparent_hugepage=never" 内核参数追加到GRUB_CMDLINE_LINUX 选项后:

# vi /etc/default/grub

GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap ... 

transparent_hugepage=never"

备份/boot/grub2/grub.cfg ,通过grub2-mkconfig -o 命令重建/boot/grub2/grub.cfg 文件:

On BIOS-based machines: ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

On UEFI-based machines: ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

重启系统:

# shutdown -r now

验证参数设置是否正确:

# cat /proc/cmdline

注:如果还没有关闭THP ,参考 http://blog.itpub.net/31439444/viewspace-2674001/ 完成剩余步骤。

2.2 开启大页面:

# vim /etc/sysctl.conf

vm.nr_hugepages = xxxx

# sysctl -p

vim /etc/security/limits.conf

oracle soft memlock xxxxxxxxxxx

oracle hard memlock xxxxxxxxxxx

3 安装软件包

3.1 Red Hat Enterprise Linux 7安装包

openssh

bc

binutils

compat-libcap1

compat-libstdc++

elfutils-libelf

elfutils-libelf-devel

fontconfig-devel

glibc

glibc-devel

ksh

libaio

libaio-devel

libX11

libXau

libXi

libXtst

libXrender

libXrender-devel

libgcc

librdmacm-devel

libstdc++

libstdc++-devel

libxcb

make

net-tools (for Oracle RAC and Oracle Clusterware)

nfs-utils (for Oracle ACFS)

python (for Oracle ACFS Remote)

python-configshell (for Oracle ACFS Remote)

python-rtslib (for Oracle ACFS Remote)

python-six (for Oracle ACFS Remote)

targetcli (for Oracle ACFS Remote)

smartmontools

sysstat

3.2 其他软件包

可以选择是否安装附加驱动与软件包,可以配置:PAM OCFS2 ODBC LDAP

4 内核参数

4.1 使用Preinstall RPM配置内核参数

如果是Oracle Linux, or Red Hat Enterprise Linux

可以使用 preinstall rpm 配置 os

# cd /etc/yum.repos.d/

# wget http://yum.oracle.com/public-yum-ol7.repo

# yum repolist

# yum install oracle-database-preinstall-19c

也可以手工下载 preinstall rpm 安装包:

http://yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64//

http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64

preinstall 做以下工作:

ü   创建 oracle 用户,创建 oraInventory(oinstall) 以及 OSDBA(dba) 组。

ü   设置 sysctl.conf ,调整 Oracle 建议的系统启动参数、驱动参数

ü   设置 hard 以及 soft 用户资源限制。

ü   设置其他与系统内核版本相关的建议参数。

ü   设置 numa=off

4.2 手工配置参数

如果不使用 preinstall rpm 配置内核参数,也可以手工配置 kernel parameter

# vi /etc/sysctl.d/97-oracledatabase-

sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

改变当前系统值:

# /sbin/sysctl –system

# /sbin/sysctl -a

设置网络端口范围:

$ cat /proc/sys/net/ipv4/ip_local_port_range

# echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range

# /etc/rc.d/init.d/network restart

4.2 CVU(optional)

如果不使用Oracle Preinstallation RPM ,可以使用Cluster Verification Utility, 按照下面步骤安装CVU

ü   Locate the cvuqdisk RPM package, which is located in the directory

Grid_home/cv/rpm. Where Grid_home is the Oracle Grid Infrastructure home

directory.

ü   Copy the cvuqdisk package to each node on the cluster. You should ensure that

each node is running the same version of Linux.

ü   Log in as root.

ü   Use the following command to find if you have an existing version of the cvuqdisk

package:

# rpm -qi cvuqdisk

ü   If you have an existing version of cvuqdisk, then enter the following command to

deinstall the existing version:

# rpm -e cvuqdisk

ü   Set the environment variable CVUQDISK_GRP to point to the group that owns

cvuqdisk, typically oinstall. For example:

# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP

ü   In the directory where you have saved the cvuqdisk RPM, use the command rpm

-iv package to install the cvuqdisk package. For example:

# rpm -iv cvuqdisk-1.0.10-1.rpm

ü   运行安装验证

$ ./runcluvfy.sh stage -pre crsinst -fixup -n node1,node2,node3

5 网络配置

网络配置说明:

1 )要么全部 ipv4 ,要么全部 ipv6 GNS 可以生成 ipv6 地址

2 VIP Starting with Oracle Grid Infrastructure 18c, using VIP is optional for Oracle

Clusterware deployments. You can specify VIPs for all or none of the cluster

nodes. However, specifying VIPs for selected cluster nodes is not supported.

3Private:安装过程可以配置四个 interface private IP做为 HAIP(高可用 IP),如果配置了超过四个 interface,则超过四个的部分自动做为冗余, private可以不使用 bond网卡绑定,集群可以自动高可用。

4 Public/VIP 名称:可以使用字母数字以及“ -”连接符,不允许使用“ _“下划线

5 Public/VIP/SCAN VIP 需要在同一个子网段。

6 Public 需要固定配置在各个节点网卡, VIP Private IP SCAN 都可以交给 GNS 来配置,除了 SCAN 需要三个固定 IP 以外,其他都需要一个固定 IP ,可以不固定在网卡,但是要固定解析。

5.1 固定配置

只通过DNS 解析SCAN Public/Private/VIP 均通过手工配置固定IP ,安装时手工指定设置。

5.2 GNS + 固定配置

要启用GNS,需要使用dhcp+DNS配置,DNS正反解析无需解析vip以及scan,只需要vip与scan的域名在交给gns管理的子域里即可。

/etc/hosts

192.168.204.11       pub19-node1.rac.libai

192.168.204.12       pub19-node2.rac.libai

#private ip

40.40.40.41          priv19-node1.rac.libai

40.40.40.42          priv19-node2.rac.libai

#vip

192.168.204.21       vip19-node1.rac.libai

192.168.204.22       vip19-node2.rac.libai

#scan-vip

#192.168.204.33       scan19-vip.rac.libai

#192.168.204.34       scan19-vip.rac.libai

#192.168.204.35       scan19-vip.rac.libai

#gns-vip

192.168.204.10       gns19-vip.rac.libai

DNS配置:

[root@19c-node2 limits.d]# yum install -y bind chroot

[root@19c-node2 limits.d]# vi /etc/named.conf

options {

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query { any; };        # any 可以为一个指定网段,允许该网段查询 DNS 服务器

recursion yes;

allow-transfer { none; };     

};

zone "." IN {

type hint;

file "named.ca";

};

zone "rac.libai" IN {       # 正解域 centos.libai

type master;

file "named.rac.libai";

};

zone "204.168.192.in-addr.arpa" IN {           # 反解域 204.168.192.in-addr.arpa

type master;

file "named.192.168.204";

};

zone "40.40.40.in-addr.arpa" IN {           # 反解域 204.168.192.in-addr.arpa

type master;

file "named.40.40.40";

};

/* 编辑 vip pub 正解析域

[root@pub19-node2 ~]# vi /var/named/named.rac.libai

$TTL 600

@ IN SOA rac.libai. admin.rac.libai. (

                        0               ; serial number

                        1D              ; refresh

                        1H              ; retry

                        1W              ; expire

                        3H )            ; minimum

@ IN NS master

master  IN A 192.168.204.12

priv19-node1.rac.libai.    IN A 40.40.40.41

priv19-node2.rac.libai.    IN A 40.40.40.42

pub19-node1.rac.libai.     IN A 192.168.204.11

pub19-node2.rac.libai.     IN A 192.168.204.12

vip.rac.libai.              IN NS gns.rac.libai.

gns.rac.libai.              IN A 192.168.204.10

# 最后两行表示:子域 vip.rac.libai 的解析服务器为 gns.rac.libai gns.rac.libai 的服务器地址为 192.168.204.10

这是配置 gns 的关键。

# gridSetup.sh 配置 SCAN 的页面, scan 的域名 scan19.vip.rac.libai 必须包含交给 gns 管理的子域即 scan19.vip.rac.libai 需要包含 vip.rac.libai

# gridSetup.sh 配置 gns IP 地址即 192.168.204.10 subdomain vip.rac.libai

# 如果配合 DHCP ,则可以完成 vip private scan 都使用 gns 分配 IP

来自: http://blog.sina.com.cn/s/blog_701a48e70102w6gv.html

# 无需 DNS 解析 SCAN VIP ,交给 GNS 即可,需要启用dhcp。

[root@19c-node2 named]# vi named.192.168.204

$TTL 600

@ IN SOA rac.libai. admin.rac.libai. (

                                10   ; serial

                                3H   ; refresh

                                15M  ; retry

                                1W   ; expire

                                1D ) ; minimum

@ IN NS master.rac.libai.

12 IN PTR master.rac.libai.

11 IN PTR pub19-node1.rac.libai.

12 IN PTR pub19-node2.rac.libai.

10 IN PTR gns.rac.libai.

[root@19c-node2 named]# vi named.40.40.40

$TTL 600

@ IN SOA rac.libai. admin.rac.libai. (

                                10   ; serial

                                3H   ; refresh

                                15M  ; retry

                                1W   ; expire

                                1D ) ; minimum

@ IN NS master.rac.libai.

42 In PTR 19cpriv-node2.rac.libai.

[root@19c-node2 named]# systemctl restart named

 

[root@19c-node1 software]# yum install -y dhcp

[root@19c-node1 software]# vi /etc/dhcp/dhcpd.conf

#   see /usr/share/doc/dhcp*/dhcpd.conf.example

#   see dhcpd.conf(5) man page

#

ddns-update-styleinterim;

ignoreclient-updates;

subnet 192.168.204.0 netmask 255.255.255.0 {

option routers 192.168.204.1;

option subnet-mask 255.255.255.0;

option nis-domain "rac.libai";

option domain-name "rac.libai";

option domain-name-servers 192.168.204.12;

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.204.21 192.168.204.26;

default-lease-time 21600;

max-lease-time 43200;

}

[root@19c-node2 ~]# systemctl enable dhcpd

[root@19c-node2 ~]# systemctl restart dhcpd

[root@19c-node2 ~]# systemctl status dhcpd

/* 查看租约文件

/var/lib/dhcp/dhcpd.leases

/* enp0s10 重新获取 dhcp 地址

# dhclient -d enp0s10

/* 释放租约

# dhclient -r enp0s10

6 其他配置

6. 1 操作系统杂项配置

1 cluster 名称:

大小写不敏感,必须字母数字,必须包含-连接符,不能包含_下划线,最长15个字符,安装后,只能通过重装GI修改集群名称。

2 /etc/hosts

#public Ip

192.168.204.11       pub19-node1.rac.libai

192.168.204.12       pub19-node2.rac.libai

#private ip

40.40.40.41          priv19-node1.rac.libai

40.40.40.42          priv19-node2.rac.libai

#vip

192.168.204.21       vip19-node1.rac.libai

192.168.204.22       vip19-node2.rac.libai

#scan-vip

#192.168.204.33       scan19.vip.rac.libai

#192.168.204.34       scan19.vip.rac.libai

#192.168.204.35       scan19.vip.rac.libai

#gns-vip

192.168.204.10       gns.rac.libai

3 )操作系统主机名

hostnamectl set-hostname pub19-node1.rac.libai –static

hostnamectl set-hostname pub19-node2.rac.libai --static

6.2 时钟同步

保证所有节点使用NTP或者CTSS同步时间。

安装之前,保证各个节点时钟相同,如果使用 CTSS ,可以通过下面步骤关闭 linux 7 自带 NTP

By default, the NTP service available on Oracle Linux 7 and Red Hat

Linux 7 is chronyd.

Deactivating the chronyd Service

To deactivate the chronyd service, you must stop the existing chronyd service, and

disable it from the initialization sequences.

Complete this step on Oracle Linux 7 and Red Hat Linux 7:

1. Run the following commands as the root user:

# systemctl stop chronyd

# systemctl disable chronyd

Confirming Oracle Cluster Time Synchronization Service After Installation

To confirm that ctssd is active after installation, enter the following command as the

Grid installation owner:

$ crsctl check ctss

6.3 NAS存储附加配置

如果使用NAS ,为了Oracle Clusterware 更好的容忍NAS 设备以及NAS 挂载的网络失败,建议开启Name Service Cache Daemon ( nscd)

# chkconfig --list nscd

# chkconfig --level 35 nscd on

# service nscd start

# service nscd restart

systemctl --all |grep nscd

6.4 I/O Scheduler

For best performance for Oracle ASM, Oracle recommends that you use the Deadline

I/O Scheduler.

# cat /sys/block/${ASM_DISK}/queue/scheduler

noop [deadline] cfq

If the default disk I/O scheduler is not Deadline, then set it using a rules file:

1. Using a text editor, create a UDEV rules file for the Oracle ASM devices:

# vi /etc/udev/rules.d/60-oracle-schedulers.rules

 

2. Add the following line to the rules file and save it:

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",

ATTR{queue/scheduler}="deadline"

 

3. On clustered systems, copy the rules file to all other nodes on the cluster. For

example:

$ scp 60-oracle-schedulers.rules root@node2:/etc/udev/rules.d/

 

4. Load the rules file and restart the UDEV service. For example:

Oracle Linux and Red Hat Enterprise Linux

# udevadm control --reload-rules

 

5. Verify that the disk I/O scheduler is set as Deadline.

# cat /sys/block/${ASM_DISK}/queue/scheduler

noop [deadline] cfq

6.5 SSH超时限制

为了防止某些情况下 ssh 失败,设置超时限制为 ulimit

/etc/ssh/sshd_config on all cluster nodes:

# vi /etc/ssh/sshd_config

LoginGraceTime 0

6.3 用户组目录配置

判断是否有inventory 以及组是否之前存在:

# more /etc/oraInst.loc

$ grep oinstall /etc/group

创建 inventory 目录,不要指定到 oracle base 目录下,防止发生安装过程中权限改变导致安装错误。

所有节点 user 以及 group id 必须相同。

# groupadd -g 54421 oinstall

# groupadd -g 54322 dba

# groupadd -g 54323 oper

# groupadd -g 54324 backupdba

# groupadd -g 54325 dgdba

# groupadd -g 54326 kmdba

# groupadd -g 54327 asmdba

# groupadd -g 54328 asmoper

# groupadd -g 54329 asmadmin

# groupadd -g 54330 racdba

# /usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,oper,racdba oracle

# useradd -u 54322 -g oinstall -G asmadmin,asmdba,racdba grid

# id oracle

# id grid

# passwd oracle

# passwd grid

建议使用 OFA 目录结构 , 保证 Oracle home 目录路径只包含 ASCII 码字符。

GRID standalone 可以将 grid 安装在 oracle database 软件的 ORACLE_BASE 目录下,其他不可以。

# mkdir -p /u01/app/19.0.0/grid

# mkdir -p /u01/app/grid

# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1/

# chown -R grid:oinstall /u01

# chown oracle:oinstall /u01/app/oracle

# chmod -R 775 /u01/

grid .bash_profile:

# su – grid

$ vi ~/.bash_profile

umask 022

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/19.0.0/grid

export PATH=$PATH:$ORACLE_HOME/bin

export NLS_DATE_FORMAT=’yyyy-mm-dd hh34:mi:ss’

export NLS_LANG=AMERICAN.AMERICA_AL32UTF8

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

$ . ./.bash_profile

oracle .bash_profile:

# su – oracle

$ vi ~/.bash_profile

umask 022

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export NLS_DATE_FORMAT=’yyyy-mm-dd hh34:mi:ss’

export NLS_LANG=AMERICAN.AMERICA_AL32UTF8

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

$ . ./.bash_profile

6.6 图形界面配置

$ xhost + hostname

$ export DISPLAY=local_host:0.0

6.7 limits.conf

preinstall rpm 包只配置 oracle 用户,安装 GI ,复制 oracle 设置,改为 grid 用户:

以下oracle grid用户都需要检查:

file descriptor

$ ulimit -Sn

$ ulimit -Hn

number of processes

$ ulimit -Su

$ ulimit -Hu

stack

$ ulimit -Ss

$ ulimit -Hs

6.8关闭X11 Forward

为了确保不会因为 X11 转发导致安装失败, oracle grid 用户家目录下 .ssh:

$ ~/.ssh/config

Host *

ForwardX11 no

6.9 Direct NFS

如果使用 DNFS ,则可以参考文档配置 DNFS

6.10 Oracle Member Cluster

如果要创建 Oracle Member Cluster ,则需要在Oracle Domain Services Cluster 上创建Member Cluster Manifest File ,参照官方文档Oracle Grid Infrastructure Grid Infrastructure Installation and Upgrade Guide 下面章节:

Creating Member Cluster Manifest File for Oracle Member Clusters

6.11 手工配置ASM磁盘,UDEV

/* 获取磁盘 UUID

# /usr/lib/udev/scsi_id -g -u /dev/sdb

/* 编写 UDEV 规则文件

# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="1ATA_VBOX_HARDDISK_VB9c33adf6-29245311",RUN+="/bin/sh -c 'mknod /dev/asmocr1 b $major $minor;chown grid:asmadmin /dev/asmocr1;chmod 0660 /dev/asmocr1'"

KERNEL=="sd*", ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="1ATA_VBOX_HARDDISK_VBb008c422-c636d509",RUN+="/bin/sh -c 'mknod /dev/asmdata1 b $major $minor;chown grid:asmadmin /dev/asmdata1;chmod 0660 /dev/asmdata1'"

KERNEL=="sd*", ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="1ATA_VBOX_HARDDISK_VB7d37c0f6-8f45f264",RUN+="/bin/sh -c 'mknod /dev/asmfra1 b $major $minor;chown grid:asmadmin /dev/asmfra1;chmod 0660 /dev/asmfra1'"

/* 拷贝 UDEV 规则文件到集群其他节点

# scp 99-oracle-asmdevices.rules root@node2:/etc/udev/rules.d/99-oracleasmdevices.

rules

/* reload udev 配置,测试

/sbin/udevadm trigger --type=devices --action=change

/sbin/udevadm control --reload

/sbin/udevadm test /sys/block/sdb

7 gridSetup.sh

$ su root

# export ORACLE_HOME=/u01/app/19.0.0/grid

Use Oracle ASM command line tool (ASMCMD) to provision the disk devices

for use with Oracle ASM Filter Driver.

[root@19c-node1 grid]# asmcmd afd_label DATA1 /dev/sdb --init

[root@19c-node1 grid]# asmcmd afd_label DATA2 /dev/sdc --init

[root@19c-node1 grid]# asmcmd afd_label DATA3 /dev/sdd --init

[root@19c-node1 grid]# asmcmd afd_lslbl /dev/sdb

[root@19c-node1 grid]# asmcmd afd_lslbl /dev/sdc

[root@19c-node1 grid]# asmcmd afd_lslbl /dev/sdd

7.1 gridSerup.sh

$ unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19.0.0/grid/

$ /u01/app/19.0.0/grid/gridSetup.sh 

遇到问题:

图形界面进行到创建OCR ASM磁盘组时,无法发现ASM磁盘,检查UDEV,UDEV配置正确,检查cfgtoollogs日志发现如下报错:

[root@19c-node1 ~]# su – grid

[grid@19c-node1 ~]$ cd $ORACLE_HOME/cfgtoollogs/out/GridSetupActions2020-03-09_01-02-16PM

[grid@19c-node1 ~]$ vi gridSetupActions2020-03-09_01-02-16PM.log

INFO:  [Mar 9, 2020 1:15:03 PM] Executing [/u01/app/19.0.0/grid/bin/kfod.bin, nohdr=true, verbose=true, disks=all, op=disks, shallow=true, asm_diskstring='/dev/asm*']

INFO:  [Mar 9, 2020 1:15:03 PM] Starting Output Reader Threads for process /u01/app/19.0.0/grid/bin/kfod.bin

INFO:  [Mar 9, 2020 1:15:03 PM] Parsing Error 49802 initializing ADR

INFO:  [Mar 9, 2020 1:15:03 PM] Parsing ERROR!!! could not initialize the diag context

grid ORACLE_HOME/cfgtoollogs/out/GridSetupActions2020-03-09_01-02-16PM

发现 ASM 磁盘路径报错:

INFO:  [Mar 9, 2020 1:15:03 PM] Executing [/u01/app/19.0.0/grid/bin/kfod.bin, nohdr=true, verbose=true, disks=all, status=true, op=disks, asm_diskstring='/dev/asm*']

INFO:  [Mar 9, 2020 1:15:03 PM] Starting Output Reader Threads for process /u01/app/19.0.0/grid/bin/kfod.bin

INFO:  [Mar 9, 2020 1:15:03 PM] Parsing Error 49802 initializing ADR

INFO:  [Mar 9, 2020 1:15:03 PM] Parsing ERROR!!! could not initialize the diag context

解决:

将报错前命令单独拿出来执行

/u01/app/19.0.0/grid/bin/kfod.bin nohdr=true, verbose=true, disks=all, status=true, op=disks, asm_diskstring='/dev/asm*'

发现报错 NLS DATA 错误,很明显,跟 .bash_profile 环境配置文件设置的 NLS 相关变量有关,注释掉相关 NLS_LANG 变量,生效,再次执行,一切正常。

[root@pub19-node1 ~]# /u01/app/oraInventory/orainstRoot.sh

[root@pub19-node2 ~]# /u01/app/oraInventory/orainstRoot.sh

[root@pub19-node1 ~]# /u01/app/19.0.0/grid/root.sh

[root@pub19-node2 ~]# /u01/app/19.0.0/grid/root.sh

7.2 runInstaller

[oracle@pub19-node1 dbhome_1]$ unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1/

[oracle@pub19-node1 dbhome_1]$ ./runInstaller

[oracle@pub19-node1 dbhome_1]$ dbca

遇到问题:

CRS-5017: The resource action "ora.czhl.db start" encountered the following error:

ORA-12547: TNS:lost contact

. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/pub19-node2/crs/trace/crsd_oraagent_oracle.trc".

解决:

节点 2 ORACLE_HOME 目录有两层权限不正确,修改权限之后,手工启动数据库正常。

[root@pub19-node2 oracle]# chown oracle:oinstall product/

[root@pub19-node2 product]# chown oracle:oinstall 19.0.0

[root@pub19-node2 19.0.0]# chown oracle:oinstall dbhome_1/

[grid@pub19-node2 ~]$ srvctl start instance -node pub19-node2.rac.libai

starting database instances on nodes "pub19-node2.rac.libai" ...

started resources "ora.czhl.db" on node "pub19-node2"

7.3 19.3 升级19.5.1补丁

grid 用户(两节点都要升级):

# su - grid

$ unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19.0.0/grid/

$ unzip unzip p30464035_190000_Linux-x86-64.zip

 

oracle 用户(两节点都要升级):

# su - oracle

$ unzip -o p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.0.0/dbhome_1/

root 用户:

/* 检查补丁版本,其实只给 1 节点 GI 打了补丁,继续给节点 2GI ,节点 1 DB ,节点 2 DB 打补丁,一定要注意 opatchauto GI 打补丁需要用 GI ORACLE_HOME opatchauto DB 打补丁需要 DB ORACLE_HOME opatchauto

节点 1

# /u01/app/19.0.0/grid/OPatch/opatchauto apply -oh /u01/app/19.0.0/grid /software/30464035/

节点 2

# /u01/app/19.0.0/grid/OPatch/opatchauto apply -oh /u01/app/19.0.0/grid /software/30464035/

节点 1

# /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatchauto apply /software/30464035/ -oh /u01/app/19.0.0/grid,/u01/app/oracle/product/19.0.0/dbhome_1

节点 2

# ls -l /u01/app/oraInventory/ContentsXML/oui-patch.xml    # 一定要检查此文件此时权限,否则报下面错误,导致补丁 corrupt ,且无法回退跟再次正向应用,修改权限,打补丁,如果报错,可采用 opatchauto resume 命令,继续应用补丁即可。

# /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatchauto apply /software/30464035/ -oh /u01/app/oracle/product/19.0.0/dbhome_1

Caution

[Mar 11, 2020 8:56:05 PM] [WARNING] OUI-67124:ApplySession failed in system modification phase... 'ApplySession::apply failed: java.io.IOException: oracle.sysman.oui.patch.PatchException: java.io.FileNotFoundException: /u01/app/oraInventory/ContentsXML/oui-patch.xml (Permission denied)'

解决:

/* 按照日志输出,赋权

# chmod 664 /u01/app/oraInventory/ContentsXML/oui-patch.xml

# /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatchauto resume /software/30464035/ -oh /u01/app/oracle/product/19.0.0/dbhome_1

如果按照日志提示恢复,则可以采取如下步骤来解决打补丁问题:

/* 执行 restore.sh ,最后还是失败,所以只能采取手工复制软件,加回滚的办法

# /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatchauto rollback /software/30464035/ -oh /u01/app/oracle/product/19.0.0/dbhome_1

/* 按照失败提示,哪些文件不存在,将对应补丁解压文件夹中拷贝到 ORACLE_HOME 指定目录中,继续回滚,直到成功回滚。

 

再次给节点2 oracle软件打补丁:

# /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatchauto apply /software/30464035/ -oh /u01/app/19.0.0/grid,/u01/app/oracle/product/19.0.0/dbhome_1

 

验证补丁:

$ /u01/app/19.0.0/grid/OPatch/opatch lsinv

$ /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatch lsinv

# su – grid

$ kfod op=patches

$ kfod op=patchlvl

7.4 DBCA

Oracle 19c RAC on Linux 7.6安装手册 Oracle 19c RAC on Linux安装手册.docx

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI