รอบนี้จะมาติดตั้ง Oracle grid infrastructure 18c กัน
สิ่งที่ต้องเตรียม
Vmware 2 เครื่อง โดยแต่ละเครื่องมีคุณสมบัติดังนี้ (ปรับลดตามความเหมาะสมได้)2 CPU 64 core 128 GB Memory HDD 2 ลูก Shared Storage ครั้งนี้เลือกใช้ iSCSI 6 ลูกลูกละ 1TB Network Card 3 ใบ IP address โดย 4 IP วงเดียวกัน 3 IP สำหรับชื่อเรียกใน DNS วงเดียวกันกับ 4 IP แรก 2 IP คนละวงrac1 1 IP สำหรับการ์ดใบแรก เป็น IP ประจำเครื่อง หรือเรียก Public IP (ens192) rac2 1 IP สำหรับการ์ดใบแรก เป็น IP ประจำเครื่อง หรือเรียก Public IP (ens192) rac1-vip 1 IP เป็น virtual IP ไม่ต้องใส่ในการ์ดแลน วงเดียวกันกับ IP ประจำเครื่อง เรียก Virtual IP rac2-vip 1 IP เป็น virtual IP ไม่ต้องใส่ในการ์ดแลน วงเดียวกันกับ IP ประจำเครื่อง เรียก Virtual IP rac-scan 3 IP ต้องจดชื่อนี้ใน DNS ด้วยโดยจดเป็น round robin วงเดียวกันกับ IP ประจำเครื่อง เรียก Scan name rac1-priv 1 IP สำหรับการ์ดใบที่สอง เป็น IP สำหรับคุยกันเองใน cluster คนละวงกับ IP ประจำเครื่อง เรียก Private IP (ens224) วงเดียวกับ rac2-priv rac2-priv 1 IP สำหรับการ์ดใบที่สอง เป็น IP สำหรับคุยกันเองใน cluster คนละวงกับ IP ประจำเครื่อง เรียก Private IP (ens224) วงเดียวกับ rac1-priv rac1-storage 1 IP สำหรับเชื่อมต่อ iSCSI ติดต่อผู้ดูแล iSCSI (ens256) *** rac2-storage 1 IP สำหรับเชื่อมต่อ iSCSI ติดต่อผู้ดูแล iSCSI (ens256) *** Download Software Oracle Enterprise Linux 7.9เลือกติดตั้งดังรูปได้แก่Date & Time เลือก Timezone ที่ถูกต้อง Asia/Bangkok Keyboard English (US), Thai Software Selection เลิอกเป็น Server with GUI KDUMP เลือก Disabled Security Policy เลือก ปิด เป็น No profile selectd ตั้งค่า network ตามที่เขียนข้างบน
ขั้นตอนแบ่งดิสก์ เริ่มการจัดการ iSCSI ในขั้นตอนนี้
Device Selection
Add iSCSI
กด Add iSCSI Target… ใส่ IP Address ของ iSCSI และ iSCSI Initiator Name ที่ได้จาก iSCSI Admin
ADD iSCSI STORAGE TARGET
กด Start Discovery ทำเครื่องหมายถูกหน้าดิสก์ที่ขึ้นมาทั้งหมด
ADD iSCSI STORAGE TARGET
Installation Destination
กดเลือกทั้งหมดแล้วกด Done จะได้
INSTALLATION DESTINATION
เลือกเฉพาะ disk ขนาด 300GB และเลือก I will configure partitioning กด Done
INSTALLATION DESTINATION
ตอนแบ่ง Partition เลือกเป็น LVM/boot 1GB file /boot/efi 200MB (default) เนื่องจากเลือก boot แบบ efi / 282.8 GB file system ext4
Manual Portioning
กด Accept Changes กด Begin Installation
ขั้นตอนสร้าง User สร้างตามรูป
Configuration
คลิก Advanced… คลิกถูกในช่องสี่เหลี่ยมทั้งสองช่อง พิมพ์ 54321 ทั้งสองช่อง ในช่อง Add user to the following groups: เปลี่ยนเป็นดังนี้
wheel,oinstall(54321),oper(54322),dba(54323),backupdba(54324),dgdba(54325)
,kmdba(54326),asmdba(54327), asmoper(54328),asmadmin(54329),racdba(54330)
รอจนติดตั้งเสร็จ reboot ทำแบบเดียวกันที่ rac2 เริ่มการตั้งค่าที่ rac1 ล็อคอินด้วยผู้ใช้ oracle เปิด terminal แล้วพิมพ์คำสั่งต่อไปนี้ จะขึ้นให้ใส่ password ให้ใส่ password ของ oracle
sudo -i
แก้ไขไฟล์ host ด้วยคำสั่ง
vi /etc/hosts
<IP-address> <fully-qualified-machine-name> <machine-name>
ปิด selinux แก้ไขแฟ้ม /etc/selinux/config
vi /etc/selinux/config
เปลี่ยน SELINUX=enforcing เป็น SELINUX=permissive
setenforce Permissive
systemctl stop firewalld
systemctl disable firewalld
systemctl enable chronyd
systemctl restart chronyd
chronyc -a 'burst 4/4'
chronyc -a makestep
ติดตั้งซอฟท์แวร์ที่จำเป็นสำหรับ Oracle 18c
yum install oracle-database-preinstall-18c -y
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install zlib-devel.i686 -y
yum update -y
systemctl stop libvirtd.service
systemctl disable libvirtd.service
fdisk /dev/sdb
กด n แล้ว enter แล้วกด enter 4 ครั้ง กด t แล้ว enter แล้วเลือก 31 กด enter กด w enter สร้าง sdb1 ให้เป็น LVM Physical volume
pvcreate /dev/sdb1
สร้าง LVM volume group ชื่อ vg_u01
vgcreate vg_u01 /dev/sdb1
สร้าง LVM logical volume group ชื่อ lv_u01 ใน volume group ที่ชื่อ vg_u01 โดยให้มีขนาดทั้งหมดที่มีอยู่ใน vg_u01
lvcreate -n lv_u01 -l 100%FREE vg_u01
format LVM logical volume group lv_u01 เป็นแบบ ext4 มี Label ว่า u01
mkfs.ext4 -L u01 /dev/vg_u01/lv_u01
mkdir /u01
แก้ไขแฟ้ม /etc/fstab เพิ่มบรรทัดต่อไปนี้ต่อท้าย
LABEL=u01 /u01 ext4 defaults 1 1
สั่งให้ mount /u01 ด้วยคำสั่ง
mount -a
ตรวจสอบว่า mount ได้หรือไม่
df -h
จบการจัดการ disk 1TB ต่อมาสร้างโฟลเดอร์ ที่จำเป็นสำหรับ grid infrastructure และ oracle database
mkdir -p /u01/app/18.0.0.0/grid
mkdir -p /u01/app/oracle/product/18.0.0.0/db_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
พิมพ์ logout เพื่อออกจาก user root แล้วกลับเป็น user oracle สร้างโฟลเดอร์ /home/oracle/scripts
mkdir -p /home/oracle/scripts
สร้างแฟ้ม /home/oracle/scripts/setEnv.sh มีข้อความว่า โดย rac1.x.x.x คือชื่อเต็มของ rac1 หรือ rac2 ตามเครื่องที่ทำ ORACLE_SID ก็ต้องเป็น regist1 สำหรับ rac1 และ regist2 สำหรับ rac2
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=rac1.x.x.x #เปลี่ยน
export ORACLE_UNQNAME=regist #เปลี่ยน
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/18.0.0.0/grid
export DB_HOME=\$ORACLE_BASE/product/18.0.0.0/db_1
export ORACLE_HOME=\$DB_HOME
export ORACLE_SID=regist1 #เปลี่ยน
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
alias grid_env='. /home/oracle/scripts/grid_env'
alias db_env='. /home/oracle/scripts/db_env'
EOF
เพิ่ม script /home/oracle/scripts/setEnv.sh ให้ทำงานทุกครั้งที่ Login
cat >> /home/oracle/.bashrc <<EOF
. /home/oracle/scripts/setEnv.sh
EOF
สร้างแฟ้ม /home/oracle/scripts/grid_env และแฟ้ม /home/oracle/scripts/db_env ด้วยคำสั่ง
cat > /home/oracle/scripts/grid_env <<EOF
export ORACLE_SID=+ASM1
export ORACLE_HOME=\$GRID_HOME
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/scripts/db_env <<EOF
export ORACLE_SID=regist1
export ORACLE_HOME=\$DB_HOME
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
reboot ด้วยคำสั่งต่อไปนี้ หากขึ้นให้ใส่ password ให้กรอก password ของ oracle
sudo reboot
https://sysadmin.psu.ac.th/2021/01/18/grid-infrastructure-18c-2/