bash
复制代码
安装rhel 7.9
做快照
mkdir F:\vm\ora19c\asmdisk\
cd /d C:\Program Files (x86)\VMware\VMware Workstation\
.\vmware-vdiskmanager.exe -c -s 2GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-ocr1.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-ocr2.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-ocr3.vmdk"
.\vmware-vdiskmanager.exe -c -s 5GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-data1.vmdk"
.\vmware-vdiskmanager.exe -c -s 5GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-data2.vmdk"
.\vmware-vdiskmanager.exe -c -s 5GB -a lsilogic -t 2 "F:\vm\ora19c\asmdisk\share-data3.vmdk"
虚拟机上增加共享磁盘 选择现有设备 设置在scsi1下
编辑虚拟机vmx文件,增加
scsi1.virtualDev = "lsilogic"
scsi1.present = "TRUE"
scsi1:1.fileName = "F:\vm\ora19c\asmdisk\share-vote.vmdk"
scsi1:1.present = "TRUE"
scsi1:2.fileName = "F:\vm\ora19c\asmdisk\share-data1.vmdk"
scsi1:2.present = "TRUE"
scsi1:0.fileName = "F:\vm\ora19c\asmdisk\share-dcr.vmdk"
scsi1:0.present = "TRUE"
scsi1:3.fileName = "F:\vm\ora19c\asmdisk\share-data2.vmdk"
scsi1:3.present = "TRUE"
scsi1:4.fileName = "F:\vm\ora19c\asmdisk\share-data3.vmdk"
scsi1:4.present = "TRUE"
scsi1:5.fileName = "F:\vm\ora19c\asmdisk\share-data4.vmdk"
scsi1:5.present = "TRUE"
scsi1.sharedBus = "virtual"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE"
虚拟机配置两块网卡
cat >> /etc/hosts <<EOF
192.168.0.141 db01
192.168.0.142 db02
192.168.0.143 db01-vip
192.168.0.144 db02-vip
192.168.0.145 db-scan
10.0.0.1 db01-priv
10.0.0.2 db02-priv
EOF
cat << EOF >/etc/yum.repos.d/a.repo
[server]
name=ISO
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
getenforce
setenforce 0
iptables -F
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
cat /etc/selinux/config
getenforce
export SCSI=/usr/lib/udev/scsi_id
for i in `cat /proc/partitions | awk {'print $4'} |sort|grep sd|tail -6`;
do val=`/sbin/blockdev --getsize64 /dev/$i` ; val2=`expr $val / 1073741824`;
echo "/dev/$i: $val2 `$SCSI -gud /dev/$i`" ; done
rm -fr /tmp/a.rules
j=$2;
for i in ` cat /proc/partitions | awk {'print $4'} |sort|grep sd|tail -6 ` ;
do
j=$(($j+1))
echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`$SCSI -gud /dev/$i`\", SYMLINK+=\"asmdisk/DATA$j\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\" " >> /tmp/a.rules ;
done
cat /tmp/a.rules
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2950c1b3f698f8f75a829340a2a", SYMLINK+="asmdisk/OCR1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29365d078da71a21b7a76f61c19", SYMLINK+="asmdisk/OCR2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29b4e99ea31ca23526672322f35", SYMLINK+="asmdisk/OCR3", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29eca961f5c5459ef1a2997a16c", SYMLINK+="asmdisk/DATA1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29c665fc2aa0ec63d5737403350", SYMLINK+="asmdisk/DATA2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c295bcfb2aaa1a2d675e1f036680", SYMLINK+="asmdisk/DATA3", OWNER="grid", GROUP="asmadmin", MODE="0660"
groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
groupadd -g 1004 asmadmin
groupadd -g 1005 asmdba
groupadd -g 1006 asmoper
useradd -u 1100 -g oinstall -G dba,oper,asmdba oracle
useradd -u 1101 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
echo "Oracle_123"|passwd --stdin oracle
echo "Grid_123"|passwd --stdin grid
chage -M 9999 oracle
chage -M 9999 grid
mkdir -p /u01/app/19/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/19/db_1
chown -R grid:oinstall /u01/app
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app
## 修改介质目录权限 ##
chmod -R 775 /u01/soft
chown -R grid:oinstall /u01/soft
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens38
sed -i "s/ens33/ens38/g" ifcfg-ens38
sed -i "s/192.168.32.11/10.34.61.13/g" ifcfg-ens38
sed -i "s/192.168.32.22/10.34.61.49/g" ifcfg-ens38
sed -i "s/GATEWAY=192.168.32.2/GATEWAY=192.168.0.1/g" ifcfg-ens38
sed -i "s/ONBOOT=no/ONBOOT=yes/g" ifcfg-ens3?
sed -i "/UUID/c UUID=$(uuidgen)" /etc/sysconfig/network-scripts/ifcfg-ens38
systemctl restart network
nmcli d
启动虚拟机
nmcli c up ens33
nmcli c up ens34
mobaxerm登录两个主机,开启Multi模式
sed -i "s/X11Forwarding no/X11Forwarding yes/g" /etc/ssh/sshd_config
systemctl restart sshd
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
systemctl stop firewalld; systemctl disable firewalld
hostnamectl set-hostname dsc1
date -s "2026-11-25 22:59:10"
cat >> /home/grid/.bash_profile << EOF
# Oracle Grid 19c Environment
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19/grid
export TEMP=/tmp
export TMPDIR=/tmp
export LIBPATH=\$ORACLE_HOME/lib:\$ORACLE_HOME/lib32
export NLS_LANG=american_america.AL32UTF8
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$ORACLE_HOME/lib:\$ORACLE_HOME/lib32:
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$ORACLE_HOME/jdk/jre/lib:\$ORACLE_HOME/network/lib:\$ORACLE_HOME/rdbms/lib
export CLASSPATH=\$ORACLE_HOME/jre:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib:\$ORACLE_HOME/network/jlib
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:.
umask 022
stty erase ^H
EOF