rhel7.6平台Oracle19c数据库集群部署文档1–PC服务器主机准备(202008)

2 篇文章 0 订阅
1 篇文章 0 订阅

rhel7.6平台Oracle19c数据库集群文档1–PC服务器主机准备20200807-commit

第1章 前言

1.1 编写目的

文档旨在对ORACLE19CRAC集群的安装、配置操作的进行详细具体的说明,指导实施人员正确快速完成系统部署工作。

1.2 文档说明

1、 红色粗体表示注意事项;

2、 斜体表示示例;

3、 {}中内容为必选参数;

4、 []中内容为可选参数,多个可选参数间用“|”分隔;

5、 所有操作步骤加边框;

1.3 参考文档

第2章 安装前准备工作

2.1硬件和操作系统

服务设备:华三(DL580G9)服务器(2台) 4C128G

物理网卡:每个主机至少物理网卡4块,两两做绑定。

操作版本: rhel7.6操作系统版本。

2.2网络规划

项目RAC 节点一RAC 节点二
主机名testdb19c00testdb19c10
ILOxx.5.0.3xx.5.0.5
Private IP地址 ( ens32)192.168.0.1192.168.0.2
Public IP地址 ( ens33)xx.1.1.240xx.1.1.241
Public-vip地址( ens33)xx.1.1.242xx.1.1.243
SCAN_IP (ens33)xx.1.1.244
SCAN_NAMEscan-ora19racdb

2.3 存储规划

ASM磁盘共享磁盘空间,空间磁盘的字符设备名称各节点必须一致。初始至少分配5块磁盘:

3块用于SYS磁盘组,每个5GB。

4块用于生产数据DATA磁盘组,每块50GB。

1块用于ARCH归档日志磁盘组,每块50GB。

共享 磁盘路径 ASM 磁盘名称 ASM 磁盘组名称 大小 冗余
/dev/haweidiskc asm_01 OCR 5GB External
/dev/haweidiskf asm_02 5GB
/dev/haweidiskg asm_03 5GB
/dev/haweidiska asm_04 DATA 50GB External
/dev/haweidiskb asm_05 DATA 50GB external
/dev/haweidiskd asm_06 DATA 50GB external
/dev/haweidiske asm_07 DATA 50GB external
/dev/haweidiskh asm_08 ARCH 50GB external
/dev/haweidiski asm_09 ARCH 50GB external

2.4软件规划

操作系统Red Hat Enterprise Linux Server release 7.6
集群软件Oracle Clusterware 19.3.0
数据库软件Oracle Database EnterPrise 19.3.0

2.5软件介质

​ 下载红帽7.6软件介质

第3章 PC服务器初始

3.1启动模式设置

为安装红帽redhat7.6操作系统,必须设置华三(DL580G9)服务器为BIOS启动模式。进入到UEFI,将boot mode改成legacy bios mode。

操作步骤如下:

开机F9进入UEFI,选择system configuration。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CXGZMlhY-1596801378658)(file:///C:\Users\ADMINI~1.USE\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg)]

选择BIOS/Platform configuration (RBSU)

选择Boot Options

将Boot Mode改成legacy bios mode。

修改后保存退出,直接安装系统。

3.2配置raid

开机页面按F10(也可以在bios配置页面,选阵列卡进到raid配置页面),进阵列卡设置磁盘raid,配置raid,

需要注意首先创建系统所在的2块硬盘创建 raid 1,再建其他用途raid。

3.3安装前的准备

准备好Red Hat Enterprise Linux Server 7.6(64位)(自带KS脚本),刻录成光盘。

物理连接光驱到PC服务器。

第4章 安装配置操作系统

4.1安装系统

开机按F11

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GlrP1aba-1596801378663)(file:///C:\Users\ADMINI~1.USE\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg)]

选择引导,输入1。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dpZciIy9-1596801378666)(file:///C:\Users\ADMINI~1.USE\AppData\Local\Temp\msohtmlclip1\01\clip_image006.jpg)]

插入系统光盘到光驱,引导后,系统将自动引导并安装redhat7.6

4.2 基本配置

4.2.1 修改主机名

2个节点分别执行

# echo testdb19c0 > /etc/hostname

# echo testdb19c1 > /etc/hostname

4.2.2 配置yum源

如果缺少某些软件包,可以使用yum来安装,

首先加载Linux安装介质到系统的挂载点,

#mount /dev/cdrom /mnt (mount -t iso9660 /dev/cdrom /mnt)

然后进行以下操作安装软件包,

  1. 编辑yum

mount /dev/sr0 /mnt/

cat > /etc/yum.repos.d/local.repo <<EOF

[base]

name=base

baseurl=file:///media

enabled=1

gpgcheck=0

EOF

yum clean all

yum makecache

如果没有光驱可以将RHEL的安装ISO文件上传到服务器上,然后通过下列命令挂载ISO

mkdir /mnt/rhel76iso

mount -o loop -t iso9660 /root/rhel-server-7.6-x86_64-dvd.iso /mnt/rhel76iso

vi /etc/yum.repos.d/rhel-iso.repo

[ISO-DVD]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/rhel76iso

enabled=1

gpgcheck=0

4.2.3 安装系统扩展包

本系统需安装的扩展包

请根据实际需要选择相应的软件包版本。

根据Oracle给出的官方文档,Linux需要安装的软件包可以分为两个部分,

a.) 安装Oracle服务器软件,需要安装如下软件包,

1.) binutils-2.20.51.0.2-5.11.el6 (x86_64)

2.) compat-libstdc+±33-3.2.3-69.el6 (x86_64)

3.) glibc-2.12-1.7.el6 (x86_64)

4.) ksh-*.el6 (x86_64) <== any version of ksh is acceptable

5.) libaio-0.3.107-10.el6 (x86_64)

6.) libgcc-4.4.4-13.el6 (x86_64)

7.) libstdc+±4.4.4-13.el6 (x86_64)

8.) make-3.81-19.el6 (x86_64)

9.) compat-libcap1-1.10-1 (x86_64)

10.) gcc-4.4.4-13.el6 (x86_64)

11.) gcc-c+±4.4.4-13.el6 (x86_64)

12.) glibc-devel-2.12-1.7.el6 (x86_64)

13.) libaio-devel-0.3.107-10.el6 (x86_64)

14.) libstdc+±devel-4.4.4-13.el6 (x86_64)

15.) sysstat-9.0.4-11.el6 (x86_64)

b.)如果需要安装oracle 客户端,则需要安装如下软件包

1.) compat-libstdc+±33-3.2.3-69.el6 (i686)

2.) glibc-2.12-1.7.el6 (i686)

3.) glibc-devel-2.12-1.7.el6 (i686)

4.) libaio-0.3.107-10.el6 (i686)

5.) libaio-devel-0.3.107-10.el6 (i686)

6.) libgcc-4.4.4-13.el6 (i686)

7.) libstdc+±4.4.4-13.el6 (i686)

8.) libstdc+±devel-4.4.4-13.el6 (i686)

c.)如果需要在本地上使用ODBC功能,则需要安装 unixODBC/unixODBC-devel 软件包。

1.)unixODBC-2.2.14-11.el6.i686 or later

2.)unixODBC-devel-2.2.14-11.el6.i686 or later

4.2.4 补充操作系统包

yum groupinstall base

yum groupinstall chinese-support

yum groupinstall client-mgmt-tools

yum groupinstall core

yum groupinstall debugging

yum groupinstall basic-desktop

yum groupinstall fonts

yum groupinstall hardware-monitoring

yum groupinstall graphical-admin-tools

yum groupinstall input-methods

yum groupinstall internet-browser

yum groupinstall legacy-x

yum groupinstall network-file-system-client

yum groupinstall perl-runtime

yum groupinstall system-management-snmp

yum groupinstall server-platform

yum groupinstall server-policy

yum groupinstall performance

yum groupinstall x11

yum install pax

yum install python-dmidecode

yum install sgpio

yum install mtools

yum install lm_sensors

yum install iptraf

yum install dropwatch

yum install sdparm

yum install sg3_utils

yum install ipmitool

yum install strace

yum install ltrace

yum install kernel-doc

yum install ftp

yum install telnet

yum install OpenIPMI

yum install sysfsutils

yum install xinetd

yum install compat-libstdc+±296

yum install compat-libstdc+±33

yum install compat-libstdc+±33.i686

yum install libstdc++.i686

yum install pam.i686

yum install ksh

yum install expect

yum install ncompress

需要根据提示不断运行,直到没有属于y/N提示为止。

yum install cpuspeed.x86_64 1:1.5-22.el6

yum install quota.x86_64 1:3.17-23.el6

yum install Red_Hat_Enterprise_Linux-Release_Notes-6-zh-CN.noarch 0:7-2.1.el6

yum install Red_Hat_Enterprise_Linux-Release_Notes-6-zh-TW.noarch 0:7-2.1.el6

4.2.5 安装缺失的软件包

rpm -qa bc binutils compat-libcap1 compat-libstdc++ elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc+±devel libxcb make net-tools targetcli smartmontools sysstat gcc gcc-c++ gcc-info gcc-locale gcc48 gcc48-info gcc48-locale gcc48-c++

yum install bc gcc gcc-c++  binutils  make gdb cmake  glibc ksh \
elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel  \
libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat \
libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb \
net-tools nfs-utils compat-libcap1 compat-libstdc++  smartmontools  targetcli \
python python-configshell python-rtslib python-six  unixODBC \ unixODBC-devel

4.2.6 查系统软件包

rpm -q --qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n’ bc \

binutils \

compat-libcap1 \

compat-libstdc+±33 \

glibc \

glibc-devel \

ksh \

libaio \

libaio-devel \

libX11 \

libXau \

libXi \

libXtst \

libXrender-devel \

libXrender \

libgcc \

libstdc++ \

libstdc+±devel \

libxcb \

make \

nfs-utils \

net-tools \

python \

python-configshell \

python-rtslib \

python-six \

smartmontools \

sysstat \

targetcli

共41个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N7we4D1l-1596801378669)(file:///C:\Users\ADMINI~1.USE\AppData\Local\Temp\msohtmlclip1\01\clip_image007.jpg)]

4.2.7 升级Linux内核修复补丁包!!!

RedHat7.*的镜像文件中没有compat-libstdc包,需要手动安装

compat-libstdc+±33-3.2.3-72.el7.i686.rpm

compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm

4.3 存储配置及识别

4.3.1 划分存储

划分SAN存储给两节点共享。

\1. 首先查看多路径软件是否安装:

# rpm -aq |grep -i multipath

device-mapper-1.02.149-8.el7.x86_64

device-mapper-event-libs-1.02.149-8.el7.x86_64

device-mapper-libs-1.02.149-8.el7.x86_64

device-mapper-persistent-data-0.7.3-3.el7.x86_64

device-mapper-event-1.02.149-8.el7.x86_64

device-mapper-multipath-0.4.9-123.el7.x86_64

device-mapper-multipath-libs-0.4.9-123.el7.x86_64

\2. 如未安装,请安装(在安装盘的Packages中):

device-mapper-multipath

device-mapper

或运行yum install -y device-mapper device-mapper-multipath

\3. 如已安装,请执行如下命令:

mpathconf --enbale

在/etc下生成配置文件:multipath.conf

\4. 启动多路径:

service multipathd start

或systemctl start mutipath.service

\5. 查看启动状态:

service multipathd status

或systemctl status mutipath.service

4.3.2 识别共享存储

\4. 执行powermt命令识别POWERPATH设备

查看WWN地址:cat /sys/class/fc_host/host*/port_name

查看HBA状态:# systool -c fc_host -v

扫盘命令:echo “- - -” > /sys/class/scsi_host/host0/scan 或重启服务器

查看磁盘: fdisk –l

查看磁盘多路径:multipath -ll

聚合后磁盘如下:

# fdisk –l |grep dev

Disk /dev/haweidiskc: 5368 MB, 5368709120 bytes

Disk /dev/haweidiskf: 5368 MB, 5368709120 bytes

Disk /dev/haweidiskg: 5368 MB, 5368709120 bytes

Disk /dev/haweidiska: 53.7 GB, 53687091200 bytes

Disk /dev/haweidiskb: 53.7 GB, 53687091200 bytes

Disk /dev/haweidiskd: 53.7 GB, 53687091200 bytes

Disk /dev/haweidiske: 53.7 GB, 53687091200 bytes

Disk /dev/haweidiskh: 53.7 GB, 53687091200 bytes

Disk /dev/haweidiski: 53.7 GB, 53687091200 bytes

4.4 设置时区及时间

本系统服务器为NTP 客户端。

4.5 网络配置

4.5.1 主机名及网关

修改主机名,配置IP地址

#sed -i '$a\HOSTNAME=testdb19c0 /etc/hostname

#cp /etc/sysconfig/network /etc/sysconfig/network.date +%Y%m%d.bak

#echo “NOZEROCONF=yes” >> /etc/sysconfig/network

#sed -i ‘/HOSTNAME/d’ /etc/sysconfig/network

4.5.2 主机名解析

cat >> /etc/hosts <<EOF

#public

xx.1.1.240 testdb19c0

xx.1.1.241 testdb19c1

#public-vip

xx.1.1.242 testdb19c0-vip

xx.1.1.243 testdb19c1-vip

#prive-ip

192.168.0.1 testdb19c0-pri

192.168.0.2 testdb19c1-pri

#scan-ip

xx.1.1.244 scan-testdb19cdb

EOF

4.5.3 网卡绑定

可以使用#ethtool -p ethX 20命令来让网口持续亮灯闪烁20秒,以此来判断物理网口在系统中对应的设备名。

启用网卡绑定模块:

​ ens4f0 ens5f0 cat /etc/modprobe.d/bonding.conf cat /etc/sysconfig/network-scripts/ifcfg-ens4f0 cat /etc/sysconfig/network-scripts/ifcfg-ens5f0 echo “alias bond1 bonding”>>/etc/modprobe.d/bonding.conf export v_BOND1=/etc/sysconfig/network-scripts/ifcfg-bond1 echo “DEVICE=bond1” > v B O N D 1 e c h o " B O O T P R O T O = n o n e " > > v_BOND1 echo "BOOTPROTO=none" >> vBOND1echo"BOOTPROTO=none">>v_BOND1 echo “ONBOOT=yes” >> v B O N D 1 e c h o " N E T M A S K = 255.255.255.0 " > > v_BOND1 echo "NETMASK=255.255.255.0" >> vBOND1echo"NETMASK=255.255.255.0">>v_BOND1 echo “IPADDR=192.168.0.2” >> v B O N D 1 e c h o " U S E R C T L = n o " > > v_BOND1 echo "USERCTL=no" >> vBOND1echo"USERCTL=no">>v_BOND1 echo "BONDING_OPTS=“mode=1 miimon=100"” >> v B O N D 1 u n s e t v B O N D 1 e x p o r t v E T H 1 = / e t c / s y s c o n f i g / n e t w o r k − s c r i p t s / i f c f g − e n s 4 f 0 e c h o " D E V I C E = e n s 4 f 0 " > v_BOND1 unset v_BOND1 export v_ETH1=/etc/sysconfig/network-scripts/ifcfg-ens4f0 echo "DEVICE=ens4f0" > vBOND1unsetvBOND1exportvETH1=/etc/sysconfig/networkscripts/ifcfgens4f0echo"DEVICE=ens4f0">v_ETH1 echo “BOOTPROTO=none” >> v E T H 1 e c h o " O N B O O T = y e s " > > v_ETH1 echo "ONBOOT=yes" >> vETH1echo"ONBOOT=yes">>v_ETH1 echo “MASTER=bond1” >> v E T H 1 e c h o " S L A V E = y e s " > > v_ETH1 echo "SLAVE=yes" >> vETH1echo"SLAVE=yes">>v_ETH1 echo “USERCTL=no” >> v E T H 1 u n s e t v E T H 1 e x p o r t v E T H 2 = / e t c / s y s c o n f i g / n e t w o r k − s c r i p t s / i f c f g − e n s 5 f 0 e c h o " D E V I C E = e n s 5 f 0 " > v_ETH1 unset v_ETH1 export v_ETH2=/etc/sysconfig/network-scripts/ifcfg-ens5f0 echo "DEVICE=ens5f0" > vETH1unsetvETH1exportvETH2=/etc/sysconfig/networkscripts/ifcfgens5f0echo"DEVICE=ens5f0">v_ETH2 echo “BOOTPROTO=none” >> v E T H 2 e c h o " O N B O O T = y e s " > > v_ETH2 echo "ONBOOT=yes" >> vETH2echo"ONBOOT=yes">>v_ETH2 echo “MASTER=bond1” >> v E T H 2 e c h o " S L A V E = y e s " > > v_ETH2 echo "SLAVE=yes" >> vETH2echo"SLAVE=yes">>v_ETH2 echo “USERCTL=no” >>$v_ETH2 unset v_ETH2

创建第二个配置文件,请将*号替换成实际分配的地址:

​ ens4f1 ens5f1 cat /etc/modprobe.d/bonding.conf cat /etc/sysconfig/network-scripts/ifcfg-ens4f1 cat /etc/sysconfig/network-scripts/ifcfg-ens5f1 echo “alias bond2 bonding”>>/etc/modprobe.d/bonding.conf export v_bond2=/etc/sysconfig/network-scripts/ifcfg-bond2 echo “DEVICE=bond2” > v b o n d 2 e c h o " B O O T P R O T O = n o n e " > > v_bond2 echo "BOOTPROTO=none" >> vbond2echo"BOOTPROTO=none">>v_bond2 echo “ONBOOT=yes” >> v b o n d 2 e c h o " N E T M A S K = 255.255.255.0 " > > v_bond2 echo "NETMASK=255.255.255.0" >> vbond2echo"NETMASK=255.255.255.0">>v_bond2 echo “IPADDR=xx.1.1.241” >> v b o n d 2 e c h o " U S E R C T L = n o " > > v_bond2 echo "USERCTL=no" >> vbond2echo"USERCTL=no">>v_bond2 echo "BONDING_OPTS=“mode=1 miimon=100"” >> v b o n d 2 u n s e t v b o n d 2 e x p o r t v E T H 1 = / e t c / s y s c o n f i g / n e t w o r k − s c r i p t s / i f c f g − e n s 4 f 1 e c h o " D E V I C E = e n s 4 f 1 " > v_bond2 unset v_bond2 export v_ETH1=/etc/sysconfig/network-scripts/ifcfg-ens4f1 echo "DEVICE=ens4f1" > vbond2unsetvbond2exportvETH1=/etc/sysconfig/networkscripts/ifcfgens4f1echo"DEVICE=ens4f1">v_ETH1 echo “BOOTPROTO=none” >> v E T H 1 e c h o " O N B O O T = y e s " > > v_ETH1 echo "ONBOOT=yes" >> vETH1echo"ONBOOT=yes">>v_ETH1 echo “MASTER=bond2” >> v E T H 1 e c h o " S L A V E = y e s " > > v_ETH1 echo "SLAVE=yes" >> vETH1echo"SLAVE=yes">>v_ETH1 echo “USERCTL=no” >> v E T H 1 u n s e t v E T H 1 e x p o r t v e n s 4 f 1 = / e t c / s y s c o n f i g / n e t w o r k − s c r i p t s / i f c f g − e n s 5 f 1 e c h o " D E V I C E = e n s 5 f 1 " > v_ETH1 unset v_ETH1 export v_ens4f1=/etc/sysconfig/network-scripts/ifcfg-ens5f1 echo "DEVICE=ens5f1" > vETH1unsetvETH1exportvens4f1=/etc/sysconfig/networkscripts/ifcfgens5f1echo"DEVICE=ens5f1">v_ens4f1 echo “BOOTPROTO=none” >> v e n s 4 f 1 e c h o " O N B O O T = y e s " > > v_ens4f1 echo "ONBOOT=yes" >> vens4f1echo"ONBOOT=yes">>v_ens4f1 echo “MASTER=bond2” >> v e n s 4 f 1 e c h o " S L A V E = y e s " > > v_ens4f1 echo "SLAVE=yes" >> vens4f1echo"SLAVE=yes">>v_ens4f1 echo “USERCTL=no” >>$v_ens4f1 unset v_ens4f1 cat /proc/net/bonding/bond2 ifdown ethxx 测试 cat /proc/net/bonding/bond1 ifdown ethxx 测试

4.6 系统参数配置

4.6.1 内核参数设置

配置linux内核参数

vi /etc/sysctl.conf

\1. fs.aio-max-nr = 1048576

\2. fs.file-max = 6815744

\3. #kernel.shmall = 2097152

\4. #kernel.shmmax = 4294967295

\5. kernel.shmall = 4294967296

\6. kernel.shmmax = 12640516096

\7. kernel.shmmni = 4096

\8. kernel.sem = 250 32000 100 xx

\9. net.ipv4.ip_local_port_range = 9000 65500

\10. net.core.rmem_default = 262144

\11. net.core.rmem_max = 4194304

\12. net.core.wmem_default = 262144

\13. net.core.wmem_max = 1048576

用root用户执行sysctl -p 使修改生效。

(使用静默标准脚本进行安装的环境,可不执行如下步骤)

#sed -i ‘s/timeout=5/timeout=3/’ /boot/grub/grub.conf

#sed -i ‘s/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t60/’ /etc/login.defs

#sed -i ‘s/PASS_MIN_LEN\t5/PASS_MIN_LEN\t8/’ /etc/login.defs

#echo ‘PS1="\u@\h:\w>"’ >> /etc/profile

#echo “TMOUT=120” >> /etc/profile

#echo “export PS1 TMOUT” >> /etc/profile

#sed -i ‘s/umask 002/umask 022/’ /etc/bashrc

#sed -i ‘s/umask 002/umask 022/’ /etc/csh.cshrc

#sed -i ‘s/umask 002/umask 022/’ /etc/profile

#echo -e “options ipv6 disable=1” >> /etc/modprobe.d/ipv6.conf

#sed -i ‘/required pam_env.so/ a auth required pam_tally2.so deny=10 unlock_time=300’ /etc/pam.d/system-auth

#sed -r -e “1,/^password\srequisite\spam_cracklib.so/{s/(password.*type=$)/\1 minlen=8 minclass=2/}” -i /etc/pam.d/system-auth

#sed -r -e “1,/^password\ssufficient\spam_unix.so/{s/(password.*use_authtok$)/\1 remember=10/}” -i /etc/pam.d/system-auth

#sed -i ‘s/^start on control-alt-delete/#start on control-alt-delete/’ /etc/init/control-alt-delete.conf

#sed -i ‘s/id:5/id:3/’ /etc/inittab

修改limits.conf 文件

vi /etc/security/limits.conf

在文件最下面加入以下内容:

cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft memlock 3145728

oracle hard memlock 3145728

oracle soft stack 10240

oracle hard stack 32768

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 65536

grid hard nofile 65536

grid soft memlock 3145728

grid hard memlock 3145728

grid soft stack 10240

grid hard stack 32768

#signaturelevin

EOF

4.7 系统服务配置

部署完成后主机!

4.8 创建卷组及文件系统

4.8.1 创建逻辑卷

Oracle安装目录文件系统空间 /home/db/oracle 30GB本地硬盘

grid安装目录文件系统空间 /home/db/grid 80GB本地硬盘

lvcreate -L 80G -n vg00l3000 vg00

lvcreate -L 30G -n vg00l3100 vg00

mkfs.ext4 /dev/vg00/vg00l3000

mkfs.ext4 /dev/vg00/vg00l3100

mkdir -p /home/db/grid

mkdir -p /home/db/oracle

cp /etc/fstab /etc/fstab.date +%Y%m%d.bak

echo “/dev/vg00/vg00l3000 /home/db/grid ext4 defaults 0 0”>>/etc/fstab

echo “/dev/vg00/vg00l3100 /home/db/oracle ext4 defaults 0 0”>>/etc/fstab

mount /home/db/grid

mount /home/db/oracle

mkdir -p /home/db/grid

mkdir -p /home/db/oracle

chown -R grid:oinstall /home/db/grid/

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

chmod -R 755 /home/db

4.9 配置用户环境

4.9.1 新增数据库用户

角色权限
oinstall安装和升级oracle软件
dbasysdba创建、删除、修改、启动、关闭数据库,切换日志归档模式,备份恢复数据库
opersysoper启动、关闭、修改、备份、恢复数据库,修改归档模式
asmdbasysdba自动存储管理管理ASM实例
asmopersysoper自动存储管理启动、停止ASM实例
asmadminsysasm挂载、卸载磁盘组,管理其他存储设备
backupdbasysbackup启动关闭和执行备份恢复(12c)
dgdbasysdg管理Data Guard(12c)
kmdbasyskm加密管理相关操作
racdbarac管理

新建用户组

# 检查并创建用户组

# groupadd -g 301 oinstall

# groupadd -g 302 dba

# groupadd -g 303 oper

# groupadd -g 304 backupdba

# groupadd -g 305 dgdba

# groupadd -g 306 kmdba

# groupadd -g 307 asmdba

# groupadd -g 308 asmoper

# groupadd -g 309 asmadmin

# groupadd -g 310 racdba

#新建oracle用户

$ useradd -u 501 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle -d /home/db/oracle

#新建grid用户

$ useradd -u 500 -g oinstall -G asmadmin,asmdba,asmoper,dba grid -d /home/db/grid

用户创建完成后,必须重新登录修改密码(可与原密码相同),否则稍后配置SSH时无法通过。

echo “oracle” |passwd --stdin oracle

echo “grid” |passwd --stdin grid

4.9.2 新增数据库用户文件系统

lvcreate -L 80G -n vg00l3000 vg00

lvcreate -L 30G -n vg00l3100 vg00

mkfs.ext4 /dev/vg00/vg00l3000

mkfs.ext4 /dev/vg00/vg00l3100

mkdir -p /home/db/grid

mkdir -p /home/db/oracle

cp /etc/fstab /etc/fstab.date +%Y%m%d.bak

echo “/dev/vg00/vg00l3000 /home/db/grid ext4 defaults 0 0”>>/etc/fstab

echo “/dev/vg00/vg00l3100 /home/db/oracle ext4 defaults 0 0”>>/etc/fstab

mount /home/db/grid

mount /home/db/oracle

mkdir -p /home/db/grid

mkdir -p /home/db/oracle

chown -R grid:oinstall /home/db/grid/

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

chmod -R 755 /home/db

4.9.3 配置GRID用户环境变量

su - grid

$ vi .bash_profile

export ORACLE_BASE=/home/db/grid/base

export ORACLE_SID=+ASM1 #根据所在主机修改,部分为ASM2

umask 022

export ORACLE_HOME=/home/db/grid/product/19.3.0

export LD_LIBRARY_PATH=: O R A C L E H O M E / l i b : ORACLE_HOME/lib: ORACLEHOME/lib:ORACLE_HOME/lib32

export LIBPATH=$LD_LIBRARY_PATH

export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:ORACLE_HOME/OPatch:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/java5/bin:$PATH

export PS1=‘ L O G N A M E @ ′ ‘ h o s t n a m e ‘ : ′ LOGNAME@'`hostname`:' LOGNAME@hostname:PWD’’$ ’

if [ -t 0 ]; then

stty intr ^C

fi

4.9.4 配置ORACLE用户环境变量

su - oracle

$ vi .bash_profile

export ORACLE_BASE=/home/db/oracle

export ORACLE_SID=testdb1 #根据所在主机修改,部分为testdb2

umask 022

export ORACLE_HOME=$ORACLE_BASE/product/19.3.0

export GRID_HOME=/home/db/grid/product/19.3.0

export LD_LIBRARY_PATH=: O R A C L E H O M E / l i b : ORACLE_HOME/lib: ORACLEHOME/lib:ORACLE_HOME/lib32

export LIBPATH=$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:ORACLE_HOME/OPatch: G R I D H O M E / b i n : / u s r / b i n : / e t c : / u s r / s b i n : / u s r / u c b : / u s r / j a v a 5 / b i n : GRID_HOME/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/java5/bin: GRIDHOME/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/java5/bin:PATH

export PS1=‘ L O G N A M E @ ′ ‘ h o s t n a m e ‘ : ′ LOGNAME@'`hostname`:' LOGNAME@hostname:PWD’’$ ’

if [ -t 0 ]; then

stty intr ^C

fi

4.9.5 配置/etc/hosts

注意/etc/hosts中必须包含内容如下:

127.0.0.1 localhost localhost .localdomain

RAC机器需要在/etc/hosts中配置各节点IP的别名,命名规则如下:

  1. Public IP:别名直接使用主机名,即uname –a中返回的机器名;

  2. Private IP:别名为机器标识名-pri{n},机器标识名为不包括前三个字符的主机名(前三个字符用于标识主机位置、用途),如主机名为bj1ocrdb01,机器标识名为ocrdb01。n表示私有IP序号,1或2。11g要求配置两个私有IP因此需要有序号标识。;

  3. Virtual IP:别名为机器标识名-vip。

  4. SCAN IP:别名为数据库实例名-scan。

在/etc/hosts中还必须按增加相应注释,标识出网卡地址用途 如下:

xx.1.1.240 testdb19c0

xx.1.1.241 testdb19c1

#public-vip

xx.1.1.242 testdb19c1-vip

xx.1.1.243 testdb19c2-vip

#prive-ip

192.168.0.1 testdb19c1-priv

192.168.0.2 testdb19c2-priv

#scan-ip

xx.1.1.244 scan-testdb19cdb

注意:名称须小写。

4.9.6 两个节点上的主机名配置

确认两个节点上的主机名,

# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME= testdbq300

GAETWAY=xx.xx.xx.xx

4.9.7 配置SSH信任关系

登录节点A

su - grid

$ mkdir -p ~/.ssh

$ ssh-keygen -t rsa; ssh-keygen -t dsa

$ cat /.ssh/*.pub>>/.ssh/authorized_keys

登录节点B

su - grid

$ mkdir -p ~/.ssh

$ ssh-keygen -t rsa; ssh-keygen -t dsa

$ cat /.ssh/*.pub>>/.ssh/authorized_keys

将节点A的/.ssh/authorized_keys内容添加到B节点/.ssh/authorized_keys文件中

将节点B的/.ssh/authorized_keys内容添加到A节点/.ssh/authorized_keys文件中

节点1、节点2分别执行

ssh testdb19c0 date

ssh testdb19c1 date

ssh testdb19c0-pri date

ssh testdb19c1-pri date

2配置oracle用户互信任关系

oracle用户执行

建立互信任关系:

登录节点A

su - oracle

oracle@testdbq300 /home/db/oracle$ mkdir ~/.ssh

oracle@testdbq300 /home/db/oracle/.ssh$ ssh-keygen -t rsa

oracle@testdbq300 /home/db/oracle/.ssh$ ssh-keygen -t dsa

登录节点B

su - oracle

oracle@testdbq310 /home/db/oracle/.ssh$ mkdir -p ~/.ssh

oracle@testdbq310 /home/db/oracle/.ssh$ ssh-keygen -t rsa

oracle@testdbq310 /home/db/oracle/.ssh$ ssh-keygen -t dsa

节点A\B合并authorized_keys文件内容

oracle@testdbq300 /home/db/oracle/.ssh$ cat /.ssh/*.pub>/.ssh/authorized_keys

oracle@testdbq300 /home/db/oracle/.ssh$ cat /.ssh/*.pub>>/.ssh/authorized_keys

oracle@testdbq300 /home/db/oracle/.ssh$ ssh testdbq310 cat /.ssh/id_dsa.pub>>/.ssh/authorized_keys

oracle@testdbq300 /home/db/oracle/.ssh$ scp ~/.ssh/authorized_keys testdbq310:~/.ssh/

节点1、节点2分别执行

ssh testdbq300 date

ssh testdbq310 date

ssh testdbq300-pri date

ssh testdbq310-pri date

4.10 创建共享物理磁盘

4.10.1 安装cvuqdisk软件包

如果没有 cvuqdisk,RAC集群就无法发现共享磁盘,当运行(手动运行或在 Oracle Grid Infrastructure 安装结束时自动运行)集群程序时,您会收到这样的错误消息:“Package cvuqdisk not installed”。

cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安装介质上的 rpm 目录中。可用root用户安装。

# cd ./cv/remenv/

# rpm -ivh cvuqdisk-1.0.10-1.rpm

4.10.2 识别ASM共享磁盘

不重启刷新磁盘列表

# fdisk -l |grep dev

Disk /dev/mapper/mpathk: 53.7 GB, 53687091200 bytes, 104857600 sectors

Disk /dev/mapper/mpathl: 53.7 GB, 53687091200 bytes, 104857600 sectors

Disk /dev/mapper/mpatha: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathb: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathc: 53.7 GB, 53687091200 bytes, 104857600 sectors

Disk /dev/mapper/mpathd: 53.7 GB, 53687091200 bytes, 104857600 sectors

Disk /dev/mapper/mpathe: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathf: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathg: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathh: 5368 MB, 5368709120 bytes, 10485760 sectors

Disk /dev/mapper/mpathi: 53.7 GB, 53687091200 bytes, 104857600 sectors

Disk /dev/mapper/mpathj: 53.7 GB, 53687091200 bytes, 104857600 sectors

固定设备名称和UUID

在节点1和节点2,分别固定设备名称并且赋予grid属性,执行如下命令,用来生成udev规则

1 取得DM_UUID

cd /dev/mapper

for i in ls mpath*;

do printf “%s %s\n” “ i " " i" " i""(udevadm info --query=all --name=/dev/mapper/$i |grep -i dm_uuid)”;

done

2 生成rules文件

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

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e005c6d265f4e3ae79f”,SYMLINK+=“asm_01”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e005d6d265f3eb28973”,SYMLINK+=“asm_02”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e005d6d265f6ad12a52”,SYMLINK+=“asm_03”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e001b6e265ff51f731f”,SYMLINK+=“asm_04”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e001b6e265f48c87d89”,SYMLINK+=“asm_05”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e005f6d265f3501561d”,SYMLINK+=“asm_06”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e00196e265f430e590c”,SYMLINK+=“asm_07”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e00196e265fd358a73e”,SYMLINK+=“asm_08”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e001a6e265fccae9dac”,SYMLINK+=“asm_09”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

KERNEL==“dm-*”,ENV{DM_UUID}==“mpath-36006016001f04e001a6e265f8b26a0f8”,SYMLINK+=“asm_10”,OWNER=“grid”,GROUP=“asmadmin”,MODE=“0660”

3重新加载udev

udevadm control --reload-rules

udevadm trigger

4查看asm磁盘

[root@rac1 ~]# ll /dev/asm*

在节点1和节点2,分别比对ASM设备的UUID

取得多路径融合的UUID

#udevadm info --query=all --name=/dev/mapper/mpatha | grep -i DM_UUID

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值