รอบนี้จะมาติดตั้ง Oracle grid infrastructure 18c กัน
สิ่งที่ต้องเตรียม
- Vmware 2 เครื่อง โดยแต่ละเครื่องมีคุณสมบัติดังนี้ (ปรับลดตามความเหมาะสมได้)
- 2 CPU 64 core
 - 128 GB Memory
 - HDD 2 ลูก 
- 300GB
 - 1TB
 
 - 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
 - Grid Infrastructure 18c
 - Oracle Database 18c
 - โหลดได้ที่ https://edelivery.oracle.com
 
 - 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 ในขั้นตอนนี้
 

- กด Add a disk
 

- กด Add iSCSI Target…
 - ใส่ IP Address ของ iSCSI และ iSCSI Initiator Name ที่ได้จาก iSCSI Admin
 
- กด Start Discovery
 - ทำเครื่องหมายถูกหน้าดิสก์ที่ขึ้นมาทั้งหมด
 
- กด Log In จะได้
 

- กดเลือกทั้งหมดแล้วกด Done จะได้
 
- เลือกเฉพาะ disk ขนาด 300GB และเลือก I will configure partitioning กด Done
 

- ตอนแบ่ง Partition เลือกเป็น LVM
- /boot 1GB file
 - /boot/efi 200MB (default) เนื่องจากเลือก boot แบบ efi
 
- / 282.8 GB file system ext4
 
- swap 16GB
 
 

- กด Done ได้ดังรูป
 

- กด Accept Changes
 - กด Begin Installation
 

- ขั้นตอนสร้าง User สร้างตามรูป
 


- คลิก 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
- ปิด firewall ด้วยคำสั่ง
 
systemctl stop firewalld systemctl disable firewalld
- เปิดการทำงานของ NTP
 
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
- ปรับปรุงรุ่นของ software
 
yum update -y
- ยกเลิก virbr0 interface
 
systemctl stop libvirtd.service systemctl disable libvirtd.service
- จัดการกับ disk ลูก 1TB
 
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
- สร้าง /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
- ทำซ้ำที่ rac2 อีกเครื่อง
 




Leave a Reply