暂无图片
暂无图片
暂无图片
暂无图片
1
暂无图片

虚拟机条件下Oracle Linux7.4中安装Oracle 21c RAC Database(适用Oracle 19c,18c,12.1.0.2以上版本)

原创 juwl 2022-08-27
1657

1、硬件概述

虚拟机VMware workstation 16.2,双节点(node1,node2),每个节点配置2个cpu(2个内核),10G内存,80G硬盘,4块网卡;windows server 2012,4G内存,40G硬盘,作为DNS,DHCP和ISCSI服务器(三个OCR盘20G/个,一个DATA盘50G,一个FRA盘50G)。(关于windows server 2012R2的设置可自行查找相关资料。)

2、网络配置规划

一块网卡NAT,用于升级系统核心,下载Database Preinstallation包

一块网卡用于public连接及对外服务

一块网卡用于内部互联和ASM

一块网卡用于连接ISCSI服务器

3、操作系统

按照官方要求,Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4:4.1.12-124.53.1.el7uek.x86_64 or later。(最低只能支持12.1.0.2)

选择最小安装,安装语言选择了英文,又yum了Server with GUI安装,并升级到最新内核4.1.12-124.65.1.2.el7uek.x86_64。

Yum install -y kernel-uek-4.1.12-124.65.1.2.el7uek.x86_64

Yum install -y kernel-uek-devel-4.1.12-124.65.1.2.el7uek.x86_64

Yum grouplist

Yum -y groupinstall “Server with GUI”

4、Database Preinstallation包

       Yum install -y oracle-database-preinstall-21c(根据安装的版本选择预装包)

5、内核参数配置

已由预安装包完成。

6、相关服务设置

防火墙

# systemctl stop firewalld.service

# systemctl disable firewalld.service

# systemctl status firewalld.service

SELINUX

# sed -i "s/^SELINUX=.*/SELINUX=Permissive/" /etc/selinux/config

关闭ntp同步

# systemctl stop chronyd

# systemctl disable chronyd

# mv /etc/chrony.conf /etc/chrony.conf.bak

关闭avahi

# systemctl stop avahi-dnsconfd

# systemctl stop avahi-daemon

# systemctl disable avahi-dnsconfd

# systemctl disable avahi-daemon

关闭THP

已由oracle-database-preinstall-21c完成了

XWindow设置

export DISPLAY=192.168.70.1:0.0

服务器端启动Xmanager Passive模式

7、安装用户组及用户创建

oracle-database-preinstall-21c创建了用户组和Oracle用户,需要手工创建Grid用户及asmdba、asmoper、asmadmin组。

#groupadd -g 54327 asmdba

#groupadd -g 54328 asmoper

#groupadd -g 54329 asmadmin

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

# passwd oracle

# passwd grid

编辑profile

Node1:

# cat >>/home/grid/.bash_profile<<'EOF'

# grid Settings

export TMP=/tmp

export TMPDIR=$TMP

 

export ORACLE_HOSTNAME=$HOSTNAME

export ORACLE_BASE=/u01/app/grid

export GRID_HOME=/u01/app/21.3.0.0/grid

export DB_HOME=$ORACLE_BASE/product/21.3.0.0/db_1

 

export ORACLE_HOME=$GRID_HOME

export ORACLE_SID=+ASM1

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

 

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

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

EOF

 

# cat >> /home/oracle/.bash_profile <<'EOF'

# oracle Settings

export TMP=/tmp

export TMPDIR=$TMP

 

export ORACLE_HOSTNAME=$HOSTNAME

export ORACLE_UNQNAME=racdb

export ORACLE_BASE=/u01/app/oracle

export GRID_HOME=/u01/app/21.3.0.0/grid

 

export DB_HOME=$ORACLE_BASE/product/21.3.0.0/db_1

export ORACLE_HOME=$DB_HOME

export ORACLE_SID=racdb1

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

 

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

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

EOF

 

Node2:

# cat >>/home/grid/.bash_profile<<'EOF'

# grid Settings

export TMP=/tmp

export TMPDIR=$TMP

 

export ORACLE_HOSTNAME=$HOSTNAME

export ORACLE_BASE=/u01/app/grid

export GRID_HOME=/u01/app/21.3.0.0/grid

export DB_HOME=$ORACLE_BASE/product/21.3.0.0/db_1

 

export ORACLE_HOME=$GRID_HOME

export ORACLE_SID=+ASM2

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

 

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

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

EOF

 

 

# cat >> /home/oracle/.bash_profile <<'EOF'

# oracle Settings

export TMP=/tmp

export TMPDIR=$TMP

 

export ORACLE_HOSTNAME=$HOSTNAME

export ORACLE_UNQNAME=racdb

export ORACLE_BASE=/u01/app/oracle

export GRID_HOME=/u01/app/21.3.0.0/grid

 

export DB_HOME=$ORACLE_BASE/product/21.3.0.0/db_1

export ORACLE_HOME=$DB_HOME

export ORACLE_SID=racdb2

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

 

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

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

EOF

 

8、修改/etc/security/limits.conf

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

#add for oracle by me

oracle   soft   nofile    1024

oracle   hard   nofile    65536

oracle   soft   nproc    16384

oracle   hard   nproc    16384

oracle   soft   stack    10240

oracle   hard   stack    32768

oracle   hard   memlock    134217728

oracle   soft   memlock    134217728

grid           soft          nofile          1024

grid           hard         nofile    65536

grid           soft          nproc    16384

grid           hard    nproc     16384

grid          soft     stack         10240

grid          hard    stack     32768

grid     soft    memlock      134217728

grid     hard          memlock 134217728

    EOF

9、创建安装目录

mkdir -p /u01/app/grid

mkdir -p /u01/app/21.3.0.0/grid

mkdir -p /u01/app/oracle/product/21.3.0.0/db_1

chown -R oracle:oinstall /u01/

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

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

chmod -R 775 /u01/


10、配置共享磁盘

# iscsiadm -m discovery -t sendtargets -p 192.168.236.110                             

# iscsiadm -m node -T  iqn.1991-05.com.microsoft:node-support-ocr1-target -p 192.168.236.110 -l          

#iscsiadm -m node -T  iqn.2006-01.com. microsoft:node-support-ocr2-target -p 192.168.236.110 -l 

#iscsiadm -m node -T  iqn.2006-01.com. microsoft:node-support-ocr3-target -p 192.168.236.110 -l 

#iscsiadm -m node -T  iqn.2006-01.com. microsoft:node-support-data-target -p 192.168.236.110 -l 

#iscsiadm -m node -T  iqn.2006-01.com. microsoft:node-support-fra-target -p 192.168.236.110 -l

 

# iscsiadm -m node -T iqn.1991-05.com.microsoft:node-support-data-target -p 192.168.236.110 --op update -n node.startup -v automatic

# iscsiadm -m node -T iqn.1991-05.com.microsoft:node-support-fra-target -p 192.168.236.110 --op update -n node.startup -v automatic   

# iscsiadm -m node -T iqn.1991-05.com.microsoft:node-support-ocr1-target -p 192.168.236.110 --op update -n node.startup -v automatic  

# iscsiadm -m node -T iqn.1991-05.com.microsoft:node-support-ocr2-target -p 192.168.236.110 --op update -n node.startup -v automatic

# iscsiadm -m node -T iqn.1991-05.com.microsoft:node-support-ocr3-target -p 192.168.236.110 --op update -n node.startup -v automatic

 

cd /dev/disk/by-path

ls -l *microsoft* | awk '{FS=" "; print $9 " " $10 " " $11}'

以上命令在node1和node2上均需执行,结果如下:

 

Node1:

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0 -> ../../sdd

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0-part1 -> ../../sdd1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0-part2 -> ../../sdd2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0 -> ../../sdb

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0-part1 -> ../../sdb1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0-part2 -> ../../sdb2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0 -> ../../sde

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0-part1 -> ../../sde1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0-part2 -> ../../sde2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0 -> ../../sdf

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0-part1 -> ../../sdf1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0-part2 -> ../../sdf2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0 -> ../../sdc

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0-part1 -> ../../sdc1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0-part2 -> ../../sdc2

 

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

360003ff44dc75adc809d4aef5d003bee                 (fra)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdc

360003ff44dc75adc8027916a930edb26                 (ocr3)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdd

360003ff44dc75adc946198bcbec843a9                                  (data)

#/usr/lib/udev/scsi_id -g -u -d /dev/sde

360003ff44dc75adc95486d04fd5ca62b                                 (ocr1)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdf

360003ff44dc75adcafd16451a026311b                        (ocr2)

 

Node2:

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0 -> ../../sdd

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0-part1 -> ../../sdd1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-data-target-lun-0-part2 -> ../../sdd2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0 -> ../../sde

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0-part1 -> ../../sde1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-fra-target-lun-0-part2 -> ../../sde2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0 -> ../../sdb

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0-part1 -> ../../sdb1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr1-target-lun-0-part2 -> ../../sdb2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0 -> ../../sdf

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0-part1 -> ../../sdf1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr2-target-lun-0-part2 -> ../../sdf2

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0 -> ../../sdc

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0-part1 -> ../../sdc1

ip-192.168.236.110:3260-iscsi-iqn.1991-05.com.microsoft:node-support-ocr3-target-lun-0-part2 -> ../../sdc2

 

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

360003ff44dc75adc95486d04fd5ca62b                 (ocr1)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdc

360003ff44dc75adc8027916a930edb26                 (ocr3)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdd

360003ff44dc75adc946198bcbec843a9                                  (data)

/usr/lib/udev/scsi_id -g -u -d /dev/sde

360003ff44dc75adc809d4aef5d003bee                                 (fra)

#/usr/lib/udev/scsi_id -g -u -d /dev/sdf

360003ff44dc75adc97e401425db6e098                                (ocr2)

 

所有节点:vi /etc/udev/rule.d/99-oracle-asmdevices.rules

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id -g -u -d /dev/$parent",RESULT=="360003ff44dc75adc809d4aef5d003bee",SYMLINK+="asm-fra",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id -g -u -d /dev/$parent",RESULT=="360003ff44dc75adc946198bcbec843a9",SYMLINK+="asm-data",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id -g -u -d /dev/$parent",RESULT=="360003ff44dc75adc95486d04fd5ca62b",SYMLINK+="asm-ocr1",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id -g -u -d /dev/$parent",RESULT=="360003ff44dc75adcafd16451a026311b",SYMLINK+="asm-ocr2",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",SUBSYSTEM=="block",PROGRAM="/usr/lib/udev/scsi_id -g -u -d /dev/$parent",RESULT=="360003ff44dc75adc8027916a930edb26",SYMLINK+="asm-ocr3",OWNER="grid",GROUP="asmadmin",MODE="0660"

 

12.1.0.2需要增加两块盘。总容量最低要80G。


11、解压缩安装文件

su - grid

unzip LINUX.X64_213000_grid_home.zip -d $ORACLE_HOME

 

su – oracle

unzip LINUX.X64_213000_db_home.zip  -d $ORACLE_HOME

12、配置互信

可安装时用安装程序设置。

或su - grid

$ORACLE_HOME/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts "node1 node2" -advanced -noPromptPassphrase

 

su – oracle

$ORACLE_HOME/oui/prov/resources/scripts/sshUserSetup.sh -user oracle -hosts "node1 node2" -advanced -noPromptPassphrase

 

13、安装前的验证

 

yum localinstall /u01/app/21.3.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm

$/u01/app/21.3.0.0/grid/runcluvfy.sh stage -pre crsinst -n "node1,node2" -verbose

 

提示kmod版本低,swap小。

两节点都需操作。

 下载kmod-20-28及kmod-libs-20.28文件

rpm -Uvh kmod-*

 

新建10G磁盘分区作为swap分区
1.以root身份进入控制台(登录系统),输入
# swapoff -a #停止所有的swap分区

2. 用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。

3. # mkswap /dev/sdb2 #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名

4. # swapon /dev/sdb2 #启动新的swap分区

5. 为让系统启动时能自动启用这个交换分区,编辑/etc/fstab,加入下面一行
/dev/sdb2 swap swap defaults 0 0



后续就是安装界面。从略。

已验证,此过程也适用于oracle 19C,18C,12.1.0.2以上版本的安装。(18c、12.1.0.2

检查会遇到PRVG-330的错误,netstat -aptn查看端口53,kill掉进程,可以通过。安装也可顺利完成

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

评论

墨天轮-雪宝君
暂无图片
2年前
评论
暂无图片 0
❤️您好,您的文章中有sql语句,可以查看Markdown手册后更改:https://www.modb.pro/db/181712。
2年前
暂无图片 点赞
评论