暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

oracle 11g rac dg 补丁升级 搭建演练

原创 Leo 2022-05-07
3709

1、系统准备

备注:1.2双节点执行

1.1、系统版本

[root@hisdb1 ~]# cat /etc/centos-release

CentOS Linux release 7.9.2009 (Core)

#准备两台虚拟机

1.2、移除虚拟嵌套

[root@hisdb1 ~]# yum remove libvirt-libs

#移除两节点虚拟嵌套功能

2、网络配置

备注:2.1-2.2 双节点执行

2.1、添加网卡

分别给两台主机添加1块网卡


启动系统

[root@hisdb1 ~]# nmcli con show

NAME                UUID                     TYPE      DEVICE

ens33               96baac06-d46a-4699-9db6-073fcd8bae3f  ethernet  ens33

Wired connection 1  e4b49ea7-f8f2-3f4c-a4a3-3414d182385c  ethernet  ens37

NAME                UUID                     TYPE      DEVICE

ens33               4ad32b07-a230-46d3-a172-97cd1955352e  ethernet  ens33

Wired connection 1  d0b249b5-1263-3de5-af4d-9b6b6945fbbb  ethernet  ens37


 

ens37缺少配置文件,拷贝ens33的

然后按如下修改:

[root@hisdb1 network-scripts]# cat ifcfg-ens37

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens37

UUID=e4b49ea7-f8f2-3f4c-a4a3-3414d182385c

DEVICE=ens37

ONBOOT=yes

IPADDR=192.168.11.125

HWADDR=00:0c:29:3d:aa:8a

PREFIX=24

#GATEWAY=192.168.133.2

#DNS1=192.168.133.2

IPV6_PRIVACY=no

 

# service network restart

注意:ens33与ens37中BOOTPROTO=none均需修改为static

2.2、修改hosts文件

# cat <<EOF>>/etc/hosts

#Public IP (ens33)

192.168.133.160 hisdb1

192.168.133.161 hisdb2

 

#Private IP (ens37)

192.168.11.125 hisdb1-priv

192.168.11.126 hisdb2-priv

 

#Virtual IP

192.168.133.162 hisdb1-vip

192.168.133.163 hisdb2-vip

 

#Scan IP

192.168.133.164 hisdb-scan

EOF

#此处公网和私网能ping通,其它三个不能ping通才正常

3、安装准备

备注:3.1-3.13两个节点执行

3.1、配置Yum源

[root@hisdb1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

devtmpfs                 3.8G     0  3.8G   0% /dev

tmpfs                    3.9G     0  3.9G   0% /dev/shm

tmpfs                    3.9G   21M  3.8G   1% /run

tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup

/dev/mapper/centos-root   90G  4.6G   86G   6% /

/dev/sda1                2.0G  185M  1.9G  10% /boot

tmpfs                    781M     0  781M   0% /run/user/0

tmpfs                    781M   48K  781M   1% /run/user/1000

/dev/sr0                 4.4G  4.4G     0 100% /run/media/liujun/CentOS 7 x86_64

[root@hisdb1 ~]# mount /dev/sr0 /mnt

[root@hisdb1 yum.repos.d]# cat <<EOF>>/etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///mnt

gpgcheck=0

enabled=1

EOF

[root@hisdb1 yum.repos.d]# yum makecache

3.2、安装依赖包

[root@hisdb1 yum.repos.d]# yum groupinstall -y "Server with GUI"

yum install -y bc \

binutils \

compat-libcap1 \

compat-libstdc++-33 \

gcc \

gcc-c++ \

elfutils-libelf \

elfutils-libelf-devel \

glibc \

glibc-devel \

ksh \

libaio \

libaio-devel \

libgcc \

libstdc++ \

libstdc++-devel \

libxcb \

libX11 \

libXau \

libXi \

libXtst \

libXrender \

libXrender-devel \

make \

net-tools \

nfs-utils \

smartmontools \

sysstat \

e2fsprogs \

e2fsprogs-libs \

fontconfig-devel \

expect \

unzip \

openssh-clients \

readline* \

tigervnc* \

psmisc --skip-broken

#手动上传并安装依赖包:pdksh-5.2.14-37.el5.x86_64.rpm和compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

[root@hisdb1 yum.repos.d]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

[root@hisdb1 yum.repos.d]# rpm -e ksh-20120801-143.el7_9.x86_64

[root@hisdb1 yum.repos.d]# rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

检查依赖包安装情况

# rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline | grep "not installed"

注意:package ksh is not installed

说明:安装gi/db时不会因缺少此包报警

3.3、关闭防火墙

# systemctl status firewalld.service

# systemctl stop firewalld.service

# systemctl disable firewalld.service

3.4、禁用selinux

将SELINUX修改为disabled

[root@hisdb1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

[root@hisdb1 ~]# cat /etc/selinux/config

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

注意:需重启主机,才能生效

3.5、关闭ntp和chrony服务

从oracle 11gR2 rac开始使用Cluster Time Synchronization Service(CTSS)同步各节点的时间.

此处关闭NTP、chrony服务,Oracle会自动启用ctssd进程.

systemctl stop ntpd

systemctl disable ntpd.service

mv /etc/ntp.conf /etc/ntp.conf.bak

systemctl disable chronyd

systemctl stop chronyd

mv /etc/chrony.conf /etc/chrony.conf_bak

3.6、关闭透明大页和numa

备注:关闭透明大页和numa,重启生效

[root@hisdb1 ~]# cat /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

[root@hisdb1 ~]# sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub

[root@hisdb1 ~]# cat /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never numa=off"

GRUB_DISABLE_RECOVERY="true"

[root@hisdb1 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64

Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-954f0e9a62d9487e8bcb8e8598b71fab

Found initrd image: /boot/initramfs-0-rescue-954f0e9a62d9487e8bcb8e8598b71fab.img

done

重启前参数

[root@hisdb1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

[root@hisdb1 ~]# cat /proc/cmdline

BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8

[root@hisdb1 ~]#

重启后结果

[root@hisdb1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

[root@hisdb1 ~]# cat /proc/cmdline

BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never numa=off

3.7、avahi-daemon配置

[root@hisdb1 ~]# yum install -y avahi*

[root@hisdb1 ~]# systemctl stop avahi-daemon.socket

[root@hisdb1 ~]# systemctl stop avahi-daemon.service

[root@hisdb1 ~]# pgrep -f avahi-daemon | awk '{print "kill -9 "$2}'

配置NOZEROCONF=yes

[root@hisdb1 ~]# cat <<EOF>>/etc/sysconfig/network                

NOZEROCONF=yes

EOF

查看状态

[root@hisdb1 ~]# systemctl status avahi-daemon.socket

[root@hisdb1 ~]# systemctl status avahi-daemon.service

3.8、修改/etc/sysctl.conf文件

# cat <<EOF>>/etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 8181829631

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

net.ipv4.conf.ens33.rp_filter = 1

net.ipv4.conf.ens37.rp_filter = 2

EOF

# /sbin/sysctl -p

3.9、修改用户限制

[root@hisdb1 ~]# cat <<EOF>>/etc/security/limits.conf

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

oracle soft nproc 2047

oracle hard nproc 16384

oracle hard memlock 134217728

oracle soft memlock 134217728

 

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

grid soft nproc 2047

grid hard nproc 16384

EOF

3.10、修改/etc/pam.d/login文件

[root@hisdb1 ~]# cat <<EOF>>/etc/pam.d/login

session required pam_limits.so

session required /lib64/security/pam_limits.so

EOF

3.11、创建用户、用户组、目录

创建组

/usr/sbin/groupadd -g 54321 oinstall

/usr/sbin/groupadd -g 54322 dba

/usr/sbin/groupadd -g 54323 oper

/usr/sbin/groupadd -g 54324 backupdba

/usr/sbin/groupadd -g 54325 dgdba

/usr/sbin/groupadd -g 54326 kmdba

/usr/sbin/groupadd -g 54327 asmdba

/usr/sbin/groupadd -g 54328 asmoper

/usr/sbin/groupadd -g 54329 asmadmin

/usr/sbin/groupadd -g 54330 racdba

创建用户

/usr/sbin/useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid

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

修改密码

echo "oracle" |passwd oracle --stdin

echo "grid" |passwd grid --stdin

创建目录

mkdir -p /u01/app/11.2.0/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/11.2.0/db

mkdir -p /u01/app/oraInventory

mkdir -p /backup

mkdir -p /home/oracle/scripts

chown -R oracle:oinstall /backup

chown -R oracle:oinstall /home/oracle/scripts

chown -R grid:oinstall /u01

chown -R grid:oinstall /u01/app/grid

chown -R grid:oinstall /u01/app/11.2.0/grid

chown -R grid:oinstall /u01/app/oraInventory

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

3.12、用户环境变量

grid用户:

$ cat <<EOF>>/home/grid/.bash_profile

umask 022

export TMP=/tmp

export TMPDIR=\$TMP

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export ORACLE_TERM=xterm

export TNS_ADMIN=\$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export ORACLE_SID=+ASM1

export PATH=/usr/sbin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

alias sas='sqlplus / as sysasm'

export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

EOF

 

$ source .bash_profile

注意:节点2为+ASM2 

oracle用户:

$ cat <<EOF>>/home/oracle/.bash_profile

umask 022

export TMP=/tmp

export TMPDIR=\$TMP

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db

export ORACLE_TERM=xterm

export TNS_ADMIN=\$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export ORACLE_SID=orcl1

export PATH=/usr/sbin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

alias sas='sqlplus / as sysdba'

export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

EOF

 

$ source .bash_profile

注意:节点2 为orcl2

3.13、修改/etc/profile文件

# vim /etc/profile

末尾添加:

         if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

                 if [ $SHELL = "/bin/ksh" ]; then

                       ulimit -p 16384

                       ulimit -n 65536

                 else

                       ulimit -u 16384 -n 65536

                 fi

            umask 022

         fi

# source /etc/profile

备注:此为设置系统限制

4、共享存储

说明:4.1-4.4有说明在具体某个节点执行.

4.1、磁盘规划:

5块OCR HIGH 2g;5块DATA EXTERN 20g;3块FRA EXTERN 20g

4.2、节点1添加共享磁盘






按如上依次添加规划好的磁盘


4.3、节点2添加共享磁盘





按如上依次在节点2添加共享磁盘.


修改两台主机的.vmx文件后再开启主机.

.vmx文件添加如下内容:

disk.locking = "FALSE"

disk.EnableUUID = "TRUE"

4.4、分区

在节点1将新加磁盘进行分区.

[root@hisdb1 ~]# lsblk -p

NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

/dev/sda                      8:0    0  100G  0 disk

├─/dev/sda1                   8:1    0    1G  0 part /boot

└─/dev/sda2                   8:2    0   99G  0 part

  ├─/dev/mapper/centos-root 253:0    0   91G  0 lvm  /

  └─/dev/mapper/centos-swap 253:1    0    8G  0 lvm  [SWAP]

/dev/sdb                      8:16   0    2G  0 disk

/dev/sdc                      8:32   0    2G  0 disk

/dev/sdd                      8:48   0    2G  0 disk

/dev/sde                      8:64   0    2G  0 disk

/dev/sdf                      8:80   0    2G  0 disk

/dev/sdg                      8:96   0   20G  0 disk

/dev/sdh                      8:112  0   20G  0 disk

/dev/sdi                      8:128  0   20G  0 disk

/dev/sdj                      8:144  0   20G  0 disk

/dev/sdk                      8:160  0   20G  0 disk

/dev/sdl                      8:176  0   20G  0 disk

/dev/sdm                      8:192  0   20G  0 disk

/dev/sdn                      8:208  0   20G  0 disk

/dev/sr0                     11:0    1  4.4G  0 rom

如上所示,sdb至sdn为新添加磁盘

[root@hisdb1 ~]# fdisk /dev/sdb

….

备注:在节点1对其依次进行分区.

[root@hisdb1 ~]# partprobe

[root@hisdb2 ~]# partprobe

查看分区结果:

[root@hisdb1 ~]# lsblk -p

NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

/dev/sda                      8:0    0  100G  0 disk

├─/dev/sda1                   8:1    0    1G  0 part /boot

└─/dev/sda2                   8:2    0   99G  0 part

  ├─/dev/mapper/centos-root 253:0    0   91G  0 lvm  /

  └─/dev/mapper/centos-swap 253:1    0    8G  0 lvm  [SWAP]

/dev/sdb                      8:16   0    2G  0 disk

└─/dev/sdb1                   8:17   0    2G  0 part

/dev/sdc                      8:32   0    2G  0 disk

└─/dev/sdc1                   8:33   0    2G  0 part

/dev/sdd                      8:48   0    2G  0 disk

└─/dev/sdd1                   8:49   0    2G  0 part

/dev/sde                      8:64   0    2G  0 disk

└─/dev/sde1                   8:65   0    2G  0 part

/dev/sdf                      8:80   0    2G  0 disk

└─/dev/sdf1                   8:81   0    2G  0 part

/dev/sdg                      8:96   0   20G  0 disk

└─/dev/sdg1                   8:97   0   20G  0 part

/dev/sdh                      8:112  0   20G  0 disk

└─/dev/sdh1                   8:113  0   20G  0 part

/dev/sdi                      8:128  0   20G  0 disk

└─/dev/sdi1                   8:129  0   20G  0 part

/dev/sdj                      8:144  0   20G  0 disk

└─/dev/sdj1                   8:145  0   20G  0 part

/dev/sdk                      8:160  0   20G  0 disk

└─/dev/sdk1                   8:161  0   20G  0 part

/dev/sdl                      8:176  0   20G  0 disk

└─/dev/sdl1                   8:177  0   20G  0 part

/dev/sdm                      8:192  0   20G  0 disk

└─/dev/sdm1                   8:193  0   20G  0 part

/dev/sdn                      8:208  0   20G  0 disk

└─/dev/sdn1                   8:209  0   20G  0 part

/dev/sr0                       11:0    1  4.4G  0 rom 

5、multipath

备注:5.1-5.5两个节点执行

5.1、安装multipath

[root@hisdb1 ~]# yum -y install device-mapper*

[root@hisdb1 ~]# mpathconf --enable --with_multipathd y

5.2、查看共享盘的scsi_id

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb

36000c297e45a74ea0f0f58a9bf98eafb

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc

36000c29b67c9e82b79efdeffb976d1aa

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd

36000c2909afffec66ade2cb7b421d361

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde

36000c29015fb39901bd7c7d53323958a

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdf

36000c29274ba7e27f8b02e0efc71871f

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdg

36000c29c341e450a39465523f1989529

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdh

36000c2973f202d5a1fb9f2983ef7a167

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdi

36000c299b266dc61e7775b7d2190cbd1

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdj

36000c29a1ec6c3f7cf920096c4ddc321

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdk

36000c298fb2c6148db7a3a76e8d2b0fa

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdl

36000c294b4df2d4f991ee961c5ba943c

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdm

36000c295266c6da08606eff3d7590893

[root@hisdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdn

36000c29398bd25d7bda9b1672ea3d2b4

5.3、配置multipath

wwid值为上面获取的scsi_id,alias可自定义.

[root@hisdb1 ~]# cat <<EOF>/etc/multipath.conf

defaults {

    user_friendly_names yes

}

 

blacklist {

  devnode "^sda"

}

 

multipaths {

  multipath {

  wwid "36000c297e45a74ea0f0f58a9bf98eafb"

  alias ocr01

  }

  multipath {

  wwid "36000c29b67c9e82b79efdeffb976d1aa"

  alias ocr02

  }

  multipath {

  wwid "36000c2909afffec66ade2cb7b421d361"

  alias ocr03

  }

  multipath {

  wwid "36000c29015fb39901bd7c7d53323958a"

  alias ocr04

  }

  multipath {

  wwid "36000c29274ba7e27f8b02e0efc71871f"

  alias ocr05

  }

  multipath {

  wwid "36000c29c341e450a39465523f1989529"

  alias data01

  }

  multipath {

  wwid "36000c2973f202d5a1fb9f2983ef7a167"

  alias data02

  }

  multipath {

  wwid "36000c299b266dc61e7775b7d2190cbd1"

  alias data03

  }

  multipath {

  wwid "36000c29a1ec6c3f7cf920096c4ddc321"

  alias data04

  }

  multipath {

  wwid "36000c298fb2c6148db7a3a76e8d2b0fa"

  alias data05

  }

  multipath {

  wwid "36000c294b4df2d4f991ee961c5ba943c"

  alias fra01

  }

  multipath {

  wwid "36000c295266c6da08606eff3d7590893"

  alias fra02

  }

  multipath {

  wwid "36000c29398bd25d7bda9b1672ea3d2b4"

  alias fra03

  }

}

EOF

5.4、激活multipath多路径

[root@hisdb1 ~]# multipath -F

[root@hisdb1 ~]# multipath -v2

[root@hisdb1 ~]# multipath -ll

data01 (36000c29c341e450a39465523f1989529) dm-23 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:6:0  sdg 8:96  active ready running

ocr02 (36000c29b67c9e82b79efdeffb976d1aa) dm-15 VMware, ,VMware Virtual S

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:2:0  sdc 8:32  active ready running

fra03 (36000c29398bd25d7bda9b1672ea3d2b4) dm-12 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:14:0 sdn 8:208 active ready running

ocr01 (36000c297e45a74ea0f0f58a9bf98eafb) dm-2 VMware, ,VMware Virtual S

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:1:0  sdb 8:16  active ready running

fra02 (36000c295266c6da08606eff3d7590893) dm-10 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:13:0 sdm 8:192 active ready running

fra01 (36000c294b4df2d4f991ee961c5ba943c) dm-8 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:12:0 sdl 8:176 active ready running

mpatha (36000c29070ff67056a025a83380ed941) dm-14 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:15:0 sdo 8:224 active ready running

data05 (36000c298fb2c6148db7a3a76e8d2b0fa) dm-6 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:11:0 sdk 8:160 active ready running

data04 (36000c29a1ec6c3f7cf920096c4ddc321) dm-4 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:10:0 sdj 8:144 active ready running

ocr05 (36000c29274ba7e27f8b02e0efc71871f) dm-21 VMware, ,VMware Virtual S

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:5:0  sdf 8:80  active ready running

data03 (36000c299b266dc61e7775b7d2190cbd1) dm-27 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:9:0  sdi 8:128 active ready running

ocr04 (36000c29015fb39901bd7c7d53323958a) dm-19 VMware, ,VMware Virtual S

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:4:0  sde 8:64  active ready running

data02 (36000c2973f202d5a1fb9f2983ef7a167) dm-25 VMware, ,VMware Virtual S

size=20G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:8:0  sdh 8:112 active ready running

ocr03 (36000c2909afffec66ade2cb7b421d361) dm-17 VMware, ,VMware Virtual S

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='service-time 0' prio=1 status=active

  `- 0:0:3:0  sdd 8:48  active ready running

[root@hisdb1 ~]# lsblk -p

NAME                        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT

/dev/sda                      8:0    0  100G  0 disk 

├─/dev/sda1                   8:1    0    1G  0 part  /boot

└─/dev/sda2                   8:2    0   99G  0 part 

  ├─/dev/mapper/centos-root 253:0    0   91G  0 lvm   /

  └─/dev/mapper/centos-swap 253:1    0    8G  0 lvm   [SWAP]

/dev/sdb                      8:16   0    2G  0 disk 

└─/dev/mapper/ocr01         253:2    0    2G  0 mpath

  └─/dev/mapper/ocr01p1     253:3    0    2G  0 part 

/dev/sdc                      8:32   0    2G  0 disk 

└─/dev/mapper/ocr02         253:15   0    2G  0 mpath

  └─/dev/mapper/ocr02p1     253:16   0    2G  0 part 

/dev/sdd                      8:48   0    2G  0 disk 

└─/dev/mapper/ocr03         253:17   0    2G  0 mpath

  └─/dev/mapper/ocr03p1     253:18   0    2G  0 part 

/dev/sde                      8:64   0    2G  0 disk 

└─/dev/mapper/ocr04         253:19   0    2G  0 mpath

  └─/dev/mapper/ocr04p1     253:20   0    2G  0 part 

/dev/sdf                      8:80   0    2G  0 disk 

└─/dev/mapper/ocr05         253:21   0    2G  0 mpath

  └─/dev/mapper/ocr05p1     253:22   0    2G  0 part 

/dev/sdg                      8:96   0   20G  0 disk 

└─/dev/mapper/data01        253:23   0   20G  0 mpath

  └─/dev/mapper/data01p1    253:24   0   20G  0 part 

/dev/sdh                      8:112  0   20G  0 disk 

└─/dev/mapper/data02        253:25   0   20G  0 mpath

  └─/dev/mapper/data02p1    253:26   0   20G  0 part 

/dev/sdi                      8:128  0   20G  0 disk 

└─/dev/mapper/data03        253:27   0   20G  0 mpath

  └─/dev/mapper/data03p1    253:28   0   20G  0 part 

/dev/sdj                      8:144  0   20G  0 disk 

└─/dev/mapper/data04        253:4    0   20G  0 mpath

  └─/dev/mapper/data04p1    253:5    0   20G  0 part 

/dev/sdk                      8:160  0   20G  0 disk 

└─/dev/mapper/data05        253:6    0   20G  0 mpath

  └─/dev/mapper/data05p1    253:7    0   20G  0 part 

/dev/sdl                      8:176  0   20G  0 disk 

└─/dev/mapper/fra01         253:8    0   20G  0 mpath

  └─/dev/mapper/fra01p1     253:9    0   20G  0 part 

/dev/sdm                      8:192  0   20G  0 disk 

└─/dev/mapper/fra02         253:10   0   20G  0 mpath

  └─/dev/mapper/fra02p1     253:11   0   20G  0 part 

/dev/sdn                      8:208  0   20G  0 disk 

└─/dev/mapper/fra03         253:12   0   20G  0 mpath

  └─/dev/mapper/fra03p1     253:13   0   20G  0 part 

/dev/sdo                      8:224  0   20G  0 disk 

└─/dev/mapper/mpatha        253:14   0   20G  0 mpath

/dev/sr0                     11:0    1  4.4G  0 rom  

6、asmlib

说明:6.1-6.5 中除6.4均在双节点执行.

6.1、文件上传

sftp> cd /root

sftp> lcd F:\package\asmlib\el7

sftp> lls

kmod-oracleasm-2.0.8-21.0.1.el7.x86_64.rpm  oracleasm-support-2.1.11-2.el7.x86_64.rpm

oracleasmlib-2.0.12-1.el7.x86_64.rpm

sftp> put *.rpm

6.2、安装asmlib

[root@hisdb1 ~]# rpm -ivh oracleasm-support-2.1.11-2.el7.x86_64.rpm

[root@hisdb1 ~]# rpm -ivh kmod-oracleasm-2.0.8-21.0.1.el7.x86_64.rpm

[root@hisdb1 ~]# rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm

6.3、配置asmlib

[root@dbserver ~]# /usr/sbin/oracleasm configure -i

Configuring the Oracle ASM library driver.

 

This will configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determine whether the driver is

loaded on boot and what permissions it will have.  The current values

will be shown in brackets ('[]').  Hitting <ENTER> without typing an

answer will keep that current value.  Ctrl-C will abort.

 

Default user to own the driver interface []: grid

Default group to own the driver interface []: asmadmin

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

 

Load the new Oracle ASMLib specific to OL7

 

[root@dbserver ~]# /usr/sbin/oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module "oracleasm": oracleasm

Configuring "oracleasm" to use device physical block size

Mounting ASMlib driver filesystem: /dev/oracleasm

6.4、创建asm磁盘

说明:此步仅在节点1执行

[root@hisdb1 ~]# oracleasm createdisk data01 /dev/mapper/data01p1

[root@hisdb1 ~]# oracleasm createdisk data02 /dev/mapper/data02p1

[root@hisdb1 ~]# oracleasm createdisk data03 /dev/mapper/data03p1

[root@hisdb1 ~]# oracleasm createdisk data04 /dev/mapper/data04p1

[root@hisdb1 ~]# oracleasm createdisk data05 /dev/mapper/data05p1

[root@hisdb1 ~]# oracleasm createdisk fra01 /dev/mapper/fra01p1

[root@hisdb1 ~]# oracleasm createdisk fra02 /dev/mapper/fra02p1

[root@hisdb1 ~]# oracleasm createdisk fra03 /dev/mapper/fra03p1

[root@hisdb1 ~]# oracleasm createdisk ocr01 /dev/mapper/ocr01p1

[root@hisdb1 ~]# oracleasm createdisk ocr02 /dev/mapper/ocr02p1

[root@hisdb1 ~]# oracleasm createdisk ocr03 /dev/mapper/ocr03p1

[root@hisdb1 ~]# oracleasm createdisk ocr04 /dev/mapper/ocr04p1

[root@hisdb1 ~]# oracleasm createdisk ocr05 /dev/mapper/ocr05p1

6.5、验证磁盘

[root@hisdb1 ~]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

[root@hisdb1 ~]# oracleasm listdisks

DATA01

DATA02

DATA03

DATA04

DATA05

FRA01

FRA02

FRA03

OCR01

OCR02

OCR03

OCR04

OCR05

[root@hisdb1 ~]# oracleasm querydisk DATA01

Disk "DATA01" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk DATA02

Disk "DATA02" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk DATA03

Disk "DATA03" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk DATA04

Disk "DATA04" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk DATA05

Disk "DATA05" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk FRA01

Disk "FRA01" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk FRA02

Disk "FRA02" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk FRA03

Disk "FRA03" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk OCR01

Disk "OCR01" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk OCR02

Disk "OCR02" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk OCR03

Disk "OCR03" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk OCR04

Disk "OCR04" is a valid ASM disk

[root@hisdb1 ~]# oracleasm querydisk OCR05

Disk "OCR05" is a valid ASM disk

[root@hisdb1 ~]# ls -ltr /dev/oracleasm/disks

total 0

brw-rw---- 1 grid asmadmin 253, 24 May  1 20:37 DATA01

brw-rw---- 1 grid asmadmin 253, 26 May  1 20:37 DATA02

brw-rw---- 1 grid asmadmin 253, 28 May  1 20:37 DATA03

brw-rw---- 1 grid asmadmin 253,  5 May  1 20:37 DATA04

brw-rw---- 1 grid asmadmin 253,  7 May  1 20:38 DATA05

brw-rw---- 1 grid asmadmin 253,  9 May  1 20:38 FRA01

brw-rw---- 1 grid asmadmin 253, 11 May  1 20:38 FRA02

brw-rw---- 1 grid asmadmin 253, 13 May  1 20:38 FRA03

brw-rw---- 1 grid asmadmin 253,  3 May  1 20:38 OCR01

brw-rw---- 1 grid asmadmin 253, 16 May  1 20:38 OCR02

brw-rw---- 1 grid asmadmin 253, 18 May  1 20:38 OCR03

brw-rw---- 1 grid asmadmin 253, 20 May  1 20:38 OCR04

brw-rw---- 1 grid asmadmin 253, 22 May  1 20:38 OCR05

 

[root@hisdb2 ~]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

Instantiating disk "OCR01"

Instantiating disk "OCR02"

Instantiating disk "OCR04"

Instantiating disk "OCR05"

Instantiating disk "OCR03"

Instantiating disk "DATA01"

Instantiating disk "DATA03"

Instantiating disk "DATA04"

Instantiating disk "FRA01"

Instantiating disk "DATA05"

Instantiating disk "FRA02"

Instantiating disk "FRA03"

Instantiating disk "DATA02"

[root@hisdb2 ~]# oracleasm listdisks

DATA01

DATA02

DATA03

DATA04

DATA05

FRA01

FRA02

FRA03

OCR01

OCR02

OCR03

OCR04

OCR05

7、软件安装包

节点1执行

# mkdir /soft

上传安装介质到/soft目录

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip

解压安装介质

cd /soft

unzip -q p13390677_112040_Linux-x86-64_1of7.zip

unzip -q p13390677_112040_Linux-x86-64_2of7.zip

unzip -q p13390677_112040_Linux-x86-64_3of7.zip

授权目录

# chown -R oracle:oinstall /soft/database

# chown -R grid:oinstall /soft/grid

双节点执行

root用户下,cvuqdisk安装

cd /soft/grid/rpm

rpm -ivh cvuqdisk-1.0.9-1.rpm

传输到节点二安装

scp cvuqdisk-1.0.9-1.rpm hisdb2:/tmp

rpm -ivh /tmp/cvuqdisk-1.0.9-1.rpm

8、互信

# cd /soft/grid/sshsetup

节点1执行

#./sshUserSetup.sh -user grid  -hosts "hisdb1 hisdb2" -advanced exverify –confirm

#./sshUserSetup.sh -user oracle  -hosts "hisdb1 hisdb2" -advanced exverify –confirm

测试互信

双节点执行

grid用户:

[grid@hisdb1 ~]$ ssh hisdb1 date

Sun May  1 22:19:53 CST 2022

[grid@hisdb1 ~]$ ssh hisdb2 date

Sun May  1 22:20:00 CST 2022

[grid@hisdb1 ~]$ ssh hisdb1-priv date

The authenticity of host 'hisdb1-priv (192.168.11.125)' can't be established.

ECDSA key fingerprint is SHA256:Y+ZiUQ4WyQ0jaZXki4By/P3WgPp7TRhWWcZK7dRPB5g.

ECDSA key fingerprint is MD5:55:a1:46:4c:43:d0:5b:1b:f6:94:99:5e:eb:8c:aa:b8.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hisdb1-priv,192.168.11.125' (ECDSA) to the list of known hosts.

Sun May  1 22:20:14 CST 2022

[grid@hisdb1 ~]$ ssh hisdb1-priv date

Sun May  1 22:20:20 CST 2022

[grid@hisdb1 ~]$ ssh hisdb2-priv date

The authenticity of host 'hisdb2-priv (192.168.11.126)' can't be established.

ECDSA key fingerprint is SHA256:sKKvdjx/AxZXJXUxa0k/+QZn+727MII/X/asMEIuAYs.

ECDSA key fingerprint is MD5:1a:f0:44:b1:e9:88:d2:1c:3c:9d:26:45:da:6e:8b:be.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hisdb2-priv,192.168.11.126' (ECDSA) to the list of known hosts.

Sun May  1 22:20:29 CST 2022

[grid@hisdb1 ~]$ ssh hisdb2-priv date

Sun May  1 22:20:40 CST 2022

oracle用户

[oracle@hisdb1 ~]$ ssh hisdb1 date

Sun May  1 22:21:41 CST 2022

[oracle@hisdb1 ~]$ ssh hisdb2 date

Sun May  1 22:21:46 CST 2022

[oracle@hisdb1 ~]$ ssh hisdb1-priv date

The authenticity of host 'hisdb1-priv (192.168.11.125)' can't be established.

ECDSA key fingerprint is SHA256:Y+ZiUQ4WyQ0jaZXki4By/P3WgPp7TRhWWcZK7dRPB5g.

ECDSA key fingerprint is MD5:55:a1:46:4c:43:d0:5b:1b:f6:94:99:5e:eb:8c:aa:b8.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hisdb1-priv,192.168.11.125' (ECDSA) to the list of known hosts.

Sun May  1 22:21:58 CST 2022

[oracle@hisdb1 ~]$ ssh hisdb1-priv date

Sun May  1 22:22:07 CST 2022

[oracle@hisdb1 ~]$ ssh hisdb2-priv date

The authenticity of host 'hisdb2-priv (192.168.11.126)' can't be established.

ECDSA key fingerprint is SHA256:sKKvdjx/AxZXJXUxa0k/+QZn+727MII/X/asMEIuAYs.

ECDSA key fingerprint is MD5:1a:f0:44:b1:e9:88:d2:1c:3c:9d:26:45:da:6e:8b:be.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hisdb2-priv,192.168.11.126' (ECDSA) to the list of known hosts.

Sun May  1 22:22:16 CST 2022

[oracle@hisdb1 ~]$ ssh hisdb2-priv date

Sun May  1 22:22:23 CST 2022

#需要达到不输入yes

9、安装Grid

备注:节点1执行,安装前重启系统.

[grid@hisdb1 ~]$ export DISPLAY=192.168.133.1:0.0

[grid@hisdb1 ~]$ cd /soft/grid

执行安装程序开始安装,加上jar包防止弹窗不显示问题

[grid@hisdb1 ~]$ ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

跳过版本更新






注意:scan名称必须与/etc/hosts中配置的scan名称保持一致.

配置grid用户节点间互信


注意:点击Add添加节点二,pubile hostname为hisdb2, virtual hostname为hisdb2-vip



依次点击setup、test开始互信







注意:OCR裁决盘这里冗余模式ExternalNormalHigh对应磁盘数量为1,3,5.









此处若直接运行脚本,在执行第二个时会出现如下报错:

Adding Clusterware entries to inittab

ohasd failed to start

Failed to start the Clusterware. Last 20 lines of the alert log follow:

2022-01-07 00:14:00.117:

[client(39969)]CRS-2101:The OLR was formatted using version 3.

原因:RHEL7使用systemd而不是initd运行进程和重启进程,而root.sh是通过传统的initd运行ohasd进程,此为Linux7安装11204版本,执行root.sh时存在的BUG,需要在执行root.sh前安装补丁18370031修复

18370031补丁安装(双节点执行)

上传补丁包

p18370031_112040_Linux-x86-64.zip

解压补丁包

cd /soft

unzip -q p18370031_112040_Linux-x86-64.zip

授权补丁包

chown -R grid:oinstall /soft/18370031

在grid用户下安装补丁

opatch napply -oh $ORACLE_HOME -local /soft/18370031 -silent  说明:执行过程中不用输入y

开始执行root脚本(双节点执行)

[root@hisdb1 soft]# /u01/app/oraInventory/orainstRoot.sh

[root@hisdb1 soft]# /u01/app/11.2.0/grid/root.sh



未配置DNS,忽略.


以上两个failed忽略,为软件bug.



gi安装完毕.

[grid@hisdb1 ~]$ crsctl stat res -t

--------------------------------------------------------------------------------

NAME           TARGET  STATE        SERVER                   STATE_DETAILS      

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.LISTENER.lsnr

               ONLINE  ONLINE       hisdb1                                      

               ONLINE  ONLINE       hisdb2                                       

ora.OCR.dg

               ONLINE  ONLINE       hisdb1                                      

               ONLINE  ONLINE       hisdb2                                      

ora.asm

               ONLINE  ONLINE       hisdb1                   Started            

               ONLINE  ONLINE       hisdb2                   Started            

ora.gsd

               OFFLINE OFFLINE      hisdb1                                      

               OFFLINE OFFLINE      hisdb2                                      

ora.net1.network

               ONLINE  ONLINE       hisdb1                                      

               ONLINE  ONLINE       hisdb2                                      

ora.ons

               ONLINE  ONLINE       hisdb1                                      

               ONLINE  ONLINE       hisdb2                                      

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.LISTENER_SCAN1.lsnr

      1        ONLINE  ONLINE       hisdb1                                      

ora.cvu

      1        ONLINE  ONLINE       hisdb1                                       

ora.hisdb1.vip

      1        ONLINE  ONLINE       hisdb1                                      

ora.hisdb2.vip

      1        ONLINE  ONLINE       hisdb2                                      

ora.oc4j

      1        ONLINE  ONLINE       hisdb1                                      

ora.scan1.vip

      1        ONLINE  ONLINE       hisdb1

10、配置asm磁盘

备注:节点1执行,创建DATA、FRA磁盘组.

[grid@hisdb1:/home/grid]$ export DISPLAY=192.168.133.1:0.0

[grid@hisdb1:/home/grid]$ asmca


点击OK创建DATA



按如上方法创建FRA,然后点击exit.


ASMCMD> lsdg

State    Type    Rebal  Sector  Block  AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name

MOUNTED  EXTERN  N  512   4096  1048576    102395   102292       0          102292              0             N  DATA/

MOUNTED  EXTERN  N  512   4096  1048576     61437    61338       0           61338              0             N  FRA/

MOUNTED  HIGH     N  512   4096  1048576     10235     8979       4094         1628              0             Y  OCR/

11、安装DB

备注:节点1执行

[oracle@hisdb1 database]$ export DISPLAY=192.168.133.1:0.0

执行安装程序开始安装,加上jar包防止弹窗不显示问题

[oracle@hisdb1 database]$ ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

不接受oracle更新邮件





点击setup开始,成功之后点击test.








说明:如果打算使用hosts文件进行SCAN名称解析,并且ping命令返回正确的SCAN VIP,则可以忽略该错误并继续前进.

[root@hisdb1 ~]# ping hisdb-scan

PING hisdb-scan (192.168.133.164) 56(84) bytes of data.

64 bytes from hisdb-scan (192.168.133.164): icmp_seq=1 ttl=64 time=0.030 ms




Linux7安装11204版本,oracle软件安装过程中报错:ins_emagent.mk,需要修改文件/sysman/lib/ins_emagent.mk来修复

节点1执行以下命令,然后点击继续

$ vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL-lnnz11)


[root@hisdb1 ~]# /u01/app/oracle/product/11.2.0/db/root.sh 双节点执行root.sh脚本.


至此,DB软件成功安装

12、创建数据库实例

[oracle@hisdb1:/home/oracle]$ export DISPLAY=192.168.133.1:0.0

[oracle@hisdb1:/home/oracle]$ dbca









开启闪回区,建库后可随时关闭,

此处注意开启归档,因为后面要建dg,生产环境一般都要开归档.




注意:如果使用自动管理内存,建议使用70%物理内存,前提是/etc/shm要和物理内存一样大.block默认8K,进程数增加到1500.


选择数据库字符集,默认为AL32UTF8








DB实例创建完成,持续时间23:40- 0:30. 

13、201020补丁

现对rac两节点打201020补丁 指导网址:https://cdn.modb.pro/db/210288

指导网址适用环境:11.2.0.4 rac+11.2.0.4 dataguard(无asm),rac采用标准安装,数据文件、参数文件、控制文件、归档、redo、undo都保存在asm中,grid和oracle软件安装在每个节点的本地磁盘.

13.1、节点1补丁

备注:打补丁rac无需停服务,只需停对应节点数据库.

13.1.1、停服务

$ srvctl stop instance -d orcl -n hisdb1

$ lsnrctl stop
检查残留进程:ps -ef|grep oracle,停ogg.

13.1.2、安装目录备份

[root@hisdb1 ~]# tar -zcvPf oraclebase.tar.gz /u01/app/oracle >/dev/null

[root@hisdb1 ~]# tar -zcvPf oraInventory.tar.gz /u01/app/oraInventory >/dev/null

[root@hisdb1 ~]# tar -zcvPf gridbase.tar.gz /u01/app/grid >/dev/null

[root@hisdb1 ~]# tar -zcvPf gridhome.tar.gz /u01/app/11.2.0/grid >/dev/null

13.1.3、Opatch处理

sftp> cd /tmp

sftp> lcd F:\installmedium\11g

sftp> put p6880880_112000_Linux-x86-64.zip

[grid@hisdb1 tmp]$ unzip -q -o p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

[oracle@hisdb1 tmp]$ unzip -q -o p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

OPatch版本:

[grid@hisdb1 recover]$ opatch version

OPatch Version: 11.2.0.3.28

 

OPatch succeeded.

[oracle@hisdb1 ~]$ opatch version

OPatch Version: 11.2.0.3.28

 

OPatch succeeded.

说明:OPatch版本至少需要11.2.0.3.23,但不能跨大版本,即11g不能使用12c的OPatch

13.1.4、PSU处理

[root@hisdb1 ~]# mkdir /recover

[root@hisdb1 /]# chown -R grid:oinstall /recover

sftp> cd /home/grid

sftp> lcd F:\installmedium\11g

sftp> put p31718723_112040_Linux-x86-64.zip

[grid@hisdb1 ~]$ unzip -q p31718723_112040_Linux-x86-64.zip -d /recover

13.1.5、环境检查

分别切换到grid和oracle用户执行以下命令来检查opatch是否支持对当前数据库打补丁

[oracle@hisdb1 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

[grid@hisdb1 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

13.1.6、检查psu补丁

检查psu补丁是否有冲突

注:必须在psu解压后的目录中执行此命令

[grid@hisdb1 31718723]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

[grid@hisdb1 31718723]$ $ORACLE_HOME/OPatch/opatch prereq CheckActiveFilesAndExecutables -ph ./

注意:标黄命令报错暂不管,很多文档并未执行,不影响补丁的升级.

Oracle Interim Patch Installer version 11.2.0.3.28

Copyright (c) 2022, Oracle Corporation.  All rights reserved.

 

PREREQ session

 

Oracle Home       : /u01/app/11.2.0/grid

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/11.2.0/grid/oraInst.loc

OPatch version    : 11.2.0.3.28

OUI version       : 11.2.0.4.0

Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2022-05-03_13-10-14PM_1.log

 

Invoking prereq "checkactivefilesandexecutables"

 

Prereq "checkActiveFilesAndExecutables" is not executed.

 

The details are:

No patch location specified.

 

OPatch failed with error code 2

说明:如果有安装EM,oracle用户需停止dbconsole服务

$ <ORACLE_HOME>/bin/emctl stop dbconsole

13.1.7、补丁升级

说明:rac环境需使用root用户来打补丁

可以先做预演,提早发现异常:

[root@hisdb1 ~]# /u01/app/11.2.0/grid/OPatch/opatch auto /recover/31718723/ -oh /u01/app/11.2.0/grid,/u01/app/oracle/product/11.2.0/db -report

无异常,打gi补丁 (15:55-16:05):

[root@hisdb1 ~]# /u01/app/11.2.0/grid/OPatch/opatch auto /recover/31718723/ -oh /u01/app/11.2.0/grid

有时打完gi补丁后,has服务未自动启动成功,此时需手动启动

[grid@hisdb1 ~]$ crsctl check crs

[grid@hisdb1 ~]$ crsctl check has --如果has服务未启动,则将其启动,然后继续打oracle补丁

[grid@hisdb1 ~]$ crsctl start has

打db补丁(16:09-16:33)

[root@hisdb1 ~]# /u01/app/oracle/product/11.2.0/db/OPatch/opatch auto /recover/31718723/ -oh /u01/app/oracle/product/11.2.0/db

13.1.8、验证

[grid@hisdb1 ~]$ opatch lspatches

29509309;ACFS Patch Set Update : 11.2.0.4.190716 (29509309)

31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)

29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)

 

OPatch succeeded.

[oracle@hisdb1 ~]$ opatch lspatches

31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)

29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)

 

OPatch succeeded.

13.1.9、db启动

在升级第二个节点补丁前,可以将第一个节点数据库启动

[oracle@hisdb1 ~]$ srvctl start instance -d orcl -n hisdb1

[oracle@hisdb1 ~]$ srvctl status instance -d orcl -n hisdb1

Instance orcl1 is running on node hisdb1

13.2、节点2补丁

说明:节点1补丁升级结束后,再升级其它节点补丁,不可同时进行.

13.2.1、停服务

$ srvctl stop instance -d orcl -n hisdb2

$ lsnrctl stop
检查残留进程:ps -ef|grep oracle,停ogg.

13.2.2、安装目录备份

[root@hisdb1 ~]# tar -zcvPf oraclebase.tar.gz /u01/app/oracle >/dev/null

[root@hisdb1 ~]# tar -zcvPf oraInventory.tar.gz /u01/app/oraInventory >/dev/null

[root@hisdb1 ~]# tar -zcvPf gridbase.tar.gz /u01/app/grid >/dev/null

[root@hisdb1 ~]# tar -zcvPf gridhome.tar.gz /u01/app/11.2.0/grid >/dev/null

13.2.3、Opatch处理

节点2上传补丁包 psu opatch

sftp> cd /tmp

sftp> lcd F:\installmedium\11g

sftp> put p6880880_112000_Linux-x86-64.zip

[grid@hisdb2 tmp]$ unzip -q -o p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

[oracle@hisdb2 tmp]$ unzip -q -o p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

13.2.4、PSU处理

[root@hisdb2 ~]# mkdir /recover

[root@hisdb2 /]# chown -R grid:oinstall /recover

sftp> cd /home/grid

sftp> lcd F:\installmedium\11g

sftp> put p31718723_112040_Linux-x86-64.zip

[grid@hisdb2 tmp]$ unzip -q p31718723_112040_Linux-x86-64.zip -d /recover

13.2.5、补丁升级

打gi补丁PSU (16:50-17:00)

[root@hisdb2 recover]# /u01/app/11.2.0/grid/OPatch/opatch auto /recover/31718723/ -oh /u01/app/11.2.0/grid/

[grid@hisdb2 ~]$ crsctl check crs

[grid@hisdb2 ~]$ crsctl check has --如果has服务未启动,则将其启动,然后继续打oracle补丁

[grid@hisdb2 ~]$ crsctl start has

打db补丁(17:03-17:09)

[root@hisdb2 recover]# /u01/app/oracle/product/11.2.0/db/OPatch/opatch auto /recover/31718723/ -oh /u01/app/oracle/product/11.2.0/db

验证:

[grid@hisdb2 ~]$ opatch lspatches

29509309;ACFS Patch Set Update : 11.2.0.4.190716 (29509309)

31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)

29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)

 

[oracle@hisdb2 ~]$ /u01/app/oracle/product/11.2.0/db/OPatch/opatch lspatches

31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)

29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)

14、dg搭建

14.1、移除虚拟嵌套

[root@hisdb1 ~]# yum remove libvirt-libs


14.2、网卡配置

ifcfg-ens33做如下修改,主要是bootproto

[root@hisdg network-scripts]# cat ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=d2440d99-31de-4cd9-a767-68486090592f

DEVICE=ens33

ONBOOT=yes

IPADDR=192.168.133.168

PREFIX=24

GATEWAY=192.168.133.2

DNS1=192.168.133.2

IPV6_PRIVACY=no

[root@hisdg network-scripts]# service network restart

14.3、配置Yum源

[root@hisdg ~]# mount /dev/sr0 /mnt

mount: /dev/sr0 is write-protected, mounting read-only

[root@hisdg ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

devtmpfs                 3.8G     0  3.8G   0% /dev

tmpfs                    3.9G     0  3.9G   0% /dev/shm

tmpfs                    3.9G   13M  3.8G   1% /run

tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup

/dev/mapper/centos-root   91G  4.3G   87G   5% /

/dev/sda1               1014M  185M  830M  19% /boot

tmpfs                    781M   48K  781M   1% /run/user/1000

/dev/sr0                 4.4G  4.4G     0 100% /mnt

tmpfs                    781M     0  781M   0% /run/user/0

[root@hisdg ~] # cat <<EOF>>/etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///mnt

gpgcheck=0

enabled=1

EOF

[root@hisdg ~]# # yum makecache

14.4、安装依赖包

[root@hisdg ~]# yum groupinstall -y "Server with GUI"

yum install -y bc \

binutils \

compat-libcap1 \

compat-libstdc++-33 \

gcc \

gcc-c++ \

elfutils-libelf \

elfutils-libelf-devel \

glibc \

glibc-devel \

ksh \

libaio \

libaio-devel \

libgcc \

libstdc++ \

libstdc++-devel \

libxcb \

libX11 \

libXau \

libXi \

libXtst \

libXrender \

libXrender-devel \

make \

net-tools \

nfs-utils \

smartmontools \

sysstat \

e2fsprogs \

e2fsprogs-libs \

fontconfig-devel \

expect \

unzip \

openssh-clients \

readline* \

tigervnc* \

psmisc --skip-broken

#手动上传并安装依赖包:pdksh-5.2.14-37.el5.x86_64.rpm和compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

[root@hisdg ~]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

[root@hisdg ~]# rpm -e ksh-20120801-143.el7_9.x86_64

[root@hisdg ~]# rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

检查依赖包安装情况

# rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline | grep "not installed"

注意:package ksh is not installed  对后面安装无影响

14.5、关闭防火墙

# systemctl status firewalld.service

# systemctl stop firewalld.service

# systemctl disable firewalld.service

14.6、禁用selinux

将SELINUX修改为disabled

[root@hisdb1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

[root@hisdb1 ~]# cat /etc/selinux/config

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

注意:需重启主机,才能生效

14.7、修改/etc/sysctl.conf文件

# cat <<EOF>>/etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 8181829631

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

net.ipv4.conf.ens33.rp_filter = 1

EOF

# /sbin/sysctl -p

14.8、修改用户限制

[root@hisdg ~]# cat <<EOF>>/etc/security/limits.conf

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

oracle soft nproc 2047

oracle hard nproc 16384

oracle hard memlock 134217728

oracle soft memlock 134217728

EOF

14.9、修改/etc/pam.d/login文件

[root@hisdg ~]# cat <<EOF>>/etc/pam.d/login

session required pam_limits.so

session required /lib64/security/pam_limits.so

EOF

14.10、创建用户、用户组、目录

创建组

/usr/sbin/groupadd -g 54321 oinstall

/usr/sbin/groupadd -g 54322 dba

/usr/sbin/groupadd -g 54323 oper

创建用户

/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle

修改密码

echo "oracle" |passwd oracle --stdin

创建目录

mkdir -p /u01/app/oracle/product/11.2.0/db

chown -R oracle:oinstall /u01/app/

chmod -R 775 /u01

mkdir -p /u01/app/oraInventory

chown -R oracle:oinstall /u01/app/oralnventory

chmod -R 775 /u01/app/oralnventory

14.11、设置oracle用户环境变量

oracle用户:

$ cat <<EOF>>/home/oracle/.bash_profile

umask 022

export TMP=/tmp

export TMPDIR=\$TMP

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db

export ORACLE_TERM=xterm

export TNS_ADMIN=\$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export ORACLE_SID=orcldg

export PATH=/usr/sbin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH

alias sas='sqlplus / as sysdba'

export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '

EOF

 

$ source .bash_profile

14.12、修改/etc/profile文件

# cat <<EOF>>/etc/profile

         if [ \$USER = "oracle" ]; then

                 if [ \$SHELL = "/bin/ksh" ]; then

                       ulimit -p 16384

                       ulimit -n 65536

                 else

                       ulimit -u 16384 -n 65536

                 fi

            umask 022

fi

EOF

 

# source /etc/profile

备注:此为设置系统限制

14.13、上传安装包

# mkdir -p /u01/setup/db

sftp> cd /u01/setup/db

sftp> lcd F:\installmedium\11g

sftp> put p13390677_112040_Linux-x86-64_1of7.zip

sftp> put p13390677_112040_Linux-x86-64_2of7.zip

# chown -R oracle:oinstall /u01/setup/db

[oracle@hisdg db]$ unzip -q p13390677_112040_Linux-x86-64_1of7.zip

[oracle@hisdg db]$ unzip -q p13390677_112040_Linux-x86-64_2of7.zip

14.14、开始安装

$ export DISPLAY=192.168.133.1:0.0

$ ./runInstaller













$ vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL-lnnz11)



# /u01/app/oraInventory/orainstRoot.sh

# /u01/app/oracle/product/11.2.0/db/root.sh


DB软件安装完毕.

14.15添加监听

[oracle@hisdg ~]$ netca









监听安装成功.

14.16、主库配置

节点1配置:

SQL> select log_mode,force_logging from v$database;

 

LOG_MODE     FOR

------------ ---

ARCHIVELOG   NO

SQL> alter database force logging;

 

Database altered.

SQL> select log_mode,force_logging from v$database;

 

LOG_MODE     FOR

------------ ---

ARCHIVELOG   YES

SQL> show parameter config

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

dg_broker_config_file1               string          /u01/app/oracle/product/11.2.0

                                                                       /db/dbs/dr1orcl.dat

dg_broker_config_file2               string          /u01/app/oracle/product/11.2.0

                                                                       /db/dbs/dr2orcl.dat

log_archive_config                   string

设置dg配置

SQL> alter system set log_archive_config='dg_config=(orcl,orcldg)';

 

System altered.

设置本地归档路径

SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=orcl' sid='*';

 

System altered.

设置归档目的地为备库

SQL> alter system set log_archive_dest_2='service=orcldg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcldg' sid='*';

 

System altered.

将对应归档状态开启

SQL> alter system set log_archive_dest_state_1='enable';

SQL> alter system set log_archive_dest_state_2='enable';

SQL> show parameter standby

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

standby_archive_dest                 string      ?/dbs/arch

standby_file_management              string      MANUAL

SQL> select group#,bytes/1024/1024 as M from v$standby_log;

 

no rows selected

设置文件管理模式为自动

说明:如果不设置,主库创建数据文件后,备库不会自动创建

SQL> alter system set standby_file_management=AUTO;

 

System altered.

 

SQL> show parameter standby

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

standby_archive_dest                 string      ?/dbs/arch

standby_file_management              string      AUTO

SQL> show parameter spfile

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      +DATA/orcl/spfileorcl.ora

两节点tns配置

[oracle@hisdb1 admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hisdb-scan)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

orcldg =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.133.168)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcldg)

    )

  )

#蓝色为增加部分,若备库hosts文件没有添加scan ip,如:192.168.133.164 hisdb-scan,那么tns文件中需使用备库的ip 192.168.133.168,勿使用备库主机名.

拷贝口令文件、pfile、tns文件到备库对应位置

SQL> create pfile='/home/oracle/pfile.ora' from spfile;

[oracle@hisdb1 ~]$ scp pfile.ora oracle@192.168.133.168:/u01/app/oracle/product/11.2.0/db/dbs

[oracle@hisdb1 dbs]$ scp orapworcl1 oracle@192.168.133.168:/u01/app/oracle/product/11.2.0/db/dbs

[oracle@hisdb1 admin]$ scp tnsname.ora oracle@192.168.133.168:/u01/app/oracle/product/11.2.0/db/network/admin

确定要创建的standby日志组数

SQL> select thread#,group#,members,bytes/1024/1024 as M from v$log;

 

   THREAD#     GROUP#    MEMBERS   M

---------- ---------- ---------- ----------

         1          1          2         50

         1          2          2         50

         2          3          2         50

         2          4          2         50

因此在备库需要添加4(组)*2(节点数)+1=9组standby日志.

14.17、备库配置

14.17.1、备库重命名密码文件

[oracle@hisdg dbs]$ ll

total 12

-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora

-rw-r-----. 1 oracle oinstall 1536 May  2 15:44 orapworcl1

-rw-r--r--. 1 oracle oinstall 1662 May  2 15:42 pfile.ora

[oracle@hisdg dbs]$ mv orapworcl1 orapworcldg

14.17.2、修改参数文件

[oracle@hisdg dbs]$ vi pfile.ora

[oracle@hisdg dbs]$ cat pfile.ora

*.audit_trail='db'

*.cluster_database=false

*.compatible='11.2.0.4.0'

*.db_block_size=8192

*.db_domain=''

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.log_archive_format='%t_%s_%r.dbf'

*.open_cursors=300

*.pga_aggregate_target=817889280

*.processes=1500

*.sessions=1655

*.sga_target=2453667840

*.standby_file_management='AUTO'

*.audit_file_dest='/u01/app/oracle/admin/orcldg/adump'

*.undo_tablespace='UNDOTBS1'

*.db_name='orcl'

*.db_unique_name='orcldg'

*.db_recovery_file_dest='/u01/app/fast_recovery_area'

*.db_recovery_file_dest_size=6005194752

*.log_archive_config='dg_config=(orcl,orcldg)'

*.log_archive_dest_1='location=/u01/app/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=orcldg'

*.log_archive_dest_2='service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'

*.log_archive_dest_state_1='enable'

*.log_archive_dest_state_2='enable'

*.remote_login_passwordfile='exclusive'

*.fal_client='orcldg'

*.fal_server='orcl'

*.control_files='/u01/app/controlfile/control01.ctl'

*.db_file_name_convert='+DATA/orcl/datafile/','/u01/app/oradata/'

*.log_file_name_convert='+DATA/orcl/onlinelog/','/u01/app/oradata/','+FRA/orcl/onlinelog/','/u01/app/oradata/','+DATA/orcl/controlfile/','/u01/app/controlfile/'

14.17.3、创建相应文件目录

根据修改的参数文件,为备库创建相应的文件目录:

[oracle@hisdg dbs]$ mkdir -p /u01/app/oracle

[oracle@hisdg dbs]$ mkdir -p /u01/app/oracle/admin/orcldg/adump

[oracle@hisdg dbs]$ mkdir -p /u01/app/fast_recovery_area

[oracle@hisdg dbs]$ mkdir -p /u01/app/controlfile/

[oracle@hisdg dbs]$ mkdir -p /u01/app/oradata/

[oracle@hisdg dbs]$ mkdir -p /u01/app/controlfile/

14.17.4、修改监听配置文件

[oracle@hisdg admin]$ cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

   (SID_LIST =

      (SID_DESC =

         (GLOBAL_DBNAME = orcldg)

         (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db)

         (SID_NAME = orcldg)

      )

   )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.133.168)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

ADR_BASE_LISTENER = /u01/app/oracle

#蓝色为添加部分,修改后重启监听.

14.17.5、启动备库到nomount

备库以参数文件启动到nomount状态.

SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0/db/dbs/pfile.ora'

SQL> create spfile from pfile='/u01/app/oracle/product/11.2.0/db/dbs/pfile.ora';

SQL> shutdown immediate

SQL> startup nomount

14.17.6、验证tns

主库:

ping 192.168.133.168

tnsping orcldg

备库:

ping 192.168.133.160

tnsping orcl

 

14.17.6.1、主库验证

[oracle@hisdb1 ~]$ sqlplus sys/oracle_4U@orcldg as sysdba

SQL> show parameter db_unique_name

 

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

db_unique_name                       string                            orcldg

[oracle@hisdb1 ~]$ sqlplus sys/oracle_4U@orcl as sysdba

SQL> show parameter db_unique_name

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_unique_name                       string      orcl

14.17.6.2、备库验证

[oracle@hisdg ~]$ sqlplus sys/oracle_4U@orcldg as sysdba

SQL> show parameter db_unique_name

 

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

db_unique_name                       string                            orcldg

[oracle@hisdg ~]$ sqlplus sys/oracle_4U@orcl as sysdba

SQL> show parameter db_unique_name

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_unique_name                       string      orcl

14.17.7、复制数据库

[oracle@hisdg ~]$ rman target sys/oracle_4U@orcl auxiliary sys/oracle_4U@orcldg

 

Recovery Manager: Release 11.2.0.4.0 - Production on Mon May 2 21:33:58 2022

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORCL (DBID=1631367904)

connected to auxiliary database: ORCL (not mounted)

RMAN> duplicate target database for standby nofilenamecheck from active database;

14.17.8、创建standby log

备库创建standby_log,open备库开启实时应用

SQL> alter database add standby logfile thread 1 group 5 '/u01/app/oradata/standby15.log' size 50M;

SQL> alter database add standby logfile thread 1 group 6 '/u01/app/oradata/standby16.log' size 50M;

SQL> alter database add standby logfile thread 1 group 7 '/u01/app/oradata/standby17.log' size 50M;

SQL> alter database add standby logfile thread 2 group 8 '/u01/app/oradata/standby28.log' size 50M;

SQL> alter database add standby logfile thread 2 group 9 '/u01/app/oradata/standby29.log' size 50M;

SQL> alter database add standby logfile thread 2 group 10 '/u01/app/oradata/standby210.log' size 50M;

SQL> alter database open;

SQL> alter database recover managed standby database using current logfile disconnect from session;

14.17.9、验证

查看备库读写状态

SQL> select open_mode,database_role from v$database;

 

OPEN_MODE            DATABASE_ROLE

-------------------- ----------------

READ ONLY WITH APPLY PHYSICAL STANDBY

主库切换日志,查看备库日志情况

主库:

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            98

备库:

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            98

主库切换日志:

SQL> alter system archive log current;

 

System altered.

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            99

备库:

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            99

主库创建表并在两个节点分别插入数据,在备库查询

主库执行:

SQL> create table test(id number);

 

Table created.

节点一插入数据:

SQL> insert into test values (1);

 

1 row created.

 

SQL> commit;

 

Commit complete.

在备库查询:

SQL> select * from test;

 

        ID

----------

         1

节点二插入数据:

SQL> insert into test values (2);

 

1 row created.

 

SQL> commit;

 

Commit complete.

在备库查询:

SQL> select * from test;

 

        ID

----------

         1

         2

DG同步验证成功

15、备库补丁升级

说明:此为非asm单机oracle环境,使用oracle用户打补丁.

15.1、补丁包上传

sftp> cd /tmp

sftp> lcd F:\installmedium\11g

sftp> put p6880880_112000_Linux-x86-64.zip

sftp> cd /home/oracle

sftp> lcd F:\installmedium\11g\11.2.0.4.201020

sftp> put p31537677_112040_Linux-x86-64.zip

[oracle@hisdg dbs]$ $ORACLE_HOME/OPatch/opatch lspatches

There are no Interim patches installed in this Oracle Home.

15.2、备份目录

[root@hisdb1 ~]# tar -zcvPf oraclebase.tar.gz /u01/app/oracle >/dev/null

[root@hisdb1 ~]# tar -zcvPf oraInventory.tar.gz /u01/app/oraInventory >/dev/null

15.3、处理升级包

[oracle@hisdg tmp]$ unzip -q -o p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

[oracle@hisdg db]$ $ORACLE_HOME/OPatch/opatch version

OPatch Version: 11.2.0.3.28

 

OPatch succeeded.

[root@hisdg /]# mkdir /recover

[root@hisdg /]# chown -R oracle:oinstall /recover

[oracle@hisdg ~]# unzip -q p31537677_112040_Linux-x86-64.zip –d /recover

15.4、检查

检查opatch是否能正常应用补丁.

[oracle@hisdg ~]$ cd /recover/31537677

[oracle@hisdg ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

15.5、停相关服务

sql > alter database recover managed standby database cancel;

sql > shutdown immediate

[oracle@hisdg OPatch]$ lsnrctl stop

检查是否存在残留进程:ps -ef|grep oracle
如果有ogg,也需要将ogg全部停掉

15.6、安装补丁

[oracle@hisdg OPatch]$ ./opatch apply /recover/31537677

……

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

/bin/ld: warning: -z lazyload ignored.

/bin/ld: warning: -z nolazyload ignored.

 

 

Composite patch 31537677 successfully applied.

OPatch Session completed with warnings.

Log file location: /u01/app/oracle/product/11.2.0/db/cfgtoollogs/opatch/opatch2022-05-02_16-19-56PM_1.log

OPatch completed with warnings.

15.7、验证

[oracle@hisdg OPatch]$ $ORACLE_HOME/OPatch/opatch lspatches

31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)


 

OPatch succeeded.

说明:正常情况此处还应有29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)此补丁包.

这是因为备库还没搭建成功就开始补丁升级造成.

15.8、启动备库

启动dg、监听、开启同步进程

lsnrctl start

sqlplus / as sysdba

startup

alter database recover managed standby database using current logfile disconnect from session;


15.9、备库应用以及补丁情况

SQL> select process,status,sequence# from v$managed_standby;

 

PROCESS   STATUS        SEQUENCE#

--------- ------------ ----------

ARCH      CLOSING              30

ARCH      CLOSING             115

ARCH      CONNECTED             0

ARCH      CLOSING              28

RFS       IDLE                  0

RFS       IDLE                  0

RFS       IDLE                  0

RFS       IDLE                  0

RFS       IDLE                  0

RFS       IDLE                116

RFS       IDLE                 31

 

PROCESS   STATUS        SEQUENCE#

--------- ------------ ----------

MRP0      APPLYING_LOG         31

 

12 rows selected.

 

SQL> col action for a20

SQL> col version for a20

SQL> col bundle_series for a20

SQL> col comments for a20

SQL> set line 200

SQL> select ACTION,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;

 

ACTION               VERSION              BUNDLE_SERIES        COMMENTS

-------------------- -------------------- -------------------- --------------------

APPLY                11.2.0.4             PSU                  Patchset 11.2.0.2.0

APPLY                11.2.0.4             PSU                  PSU 11.2.0.4.201020

SQL> r

  1* select action_time,action,namespace,version,bundle_series,id from registry$history

 

ACTION_TIME    ACTION    NAMESPAC   VERSION  BUNDLE_SERIES       ID

------------------------------ -------------------- -------------------- -------------------- -------------------- ----------

02-MAY-22 12.26.48.318059 AM APPLY SERVER  11.2.0.4  PSU               0

03-MAY-22 05.17.43.269545 PM APPLY SERVER  11.2.0.4   PSU              201020

16、更新信息

rac主节点更新字典

[oracle@hisdb1 ~]$ cd $ORACLE_HOME/rdbms/admin

[oracle@hisdb1 admin]$ sqlplus / as sysdba

SQL> @catbundle.sql psu apply

….

2    (action_time, action,

3     namespace, version, id,

4     bundle_series, comments)

5  VALUES

处理无效对象

SQL> @utlrp.sql

如果有使用catalog,更新rman catalog

$ rman catalog username/password@alias

RMAN> UPGRADE CATALOG;


说明:本次rac+dg+补丁实验结束,如果条件允许,所有环境重启一次.






最后修改时间:2022-05-07 23:27:16
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论