Tag: 18c

  • Grid Infrastructure 18c ตอน 5 (ตอนจบภาคติดตั้ง)

    • ตอนนี้จะมาติดตั้ง oracle database 18c
    • เข้าระบบด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่ง (จากครั้งที่แล้วยังเหลือ disk อีก 2 ลูก)
    grid_env
    sqlplus / as sysasm
    • ต่อด้วยคำสั่ง SQL ต่อไปนี้
    CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/oracleasm/disks/DISK5'
           ATTRIBUTE 'compatible.asm'='18.0','compatible.rdbms'='18.0';
    CREATE DISKGROUP reco EXTERNAL REDUNDANCY DISK '/dev/oracleasm/disks/DISK6'
           ATTRIBUTE 'compatible.asm'='18.0','compatible.rdbms'='18.0';
    exit;
    • ได้ดังรูป
    • เริ่มติดตั้ง database
    db_env
    cd $ORACLE_HOME
    ./runInstaller
    • ได้ดังรูป
    Select Configuration Option
    • Set Up Software Only
    • กด Next ได้ดังรูป
    • เลือก Oracle Real Application Clusters database installation ได้ดังรูป
    • กด Next ได้ดังรูป
    • เลือก Standard Edition 2 กด Next
    • กด Next
    • กด Next
    • รอแป๊บ
    • กด Install
    • รอจนมีหน้าต่างใหม่ว่า
    • เปิด Terminal แล้วพิมพ์คำสั่งต่อไปนี้ ที่ rac1 และ rac2
    sudo /u01/app/oracle/product/18.0.0.0/db_1/root.sh
    • กลับไปที่หน้าต่าง Execute Configuration Scripts กด OK
    • กด Close
    • ต่อไปสร้าง database ด้วยคำสั่ง
    dbca
    • จะได้
    • เลือก Create a database กด Next
    • กด Next
    • เลือกดังรูปกด Next
    • กด Next
    • ตั้ง Global database name และ SID Prefix เอาเครื่องหมายถูกหน้า Create Container database ออก กด Next
    • คลิก Browse…
    • เลือก DATA กด OK
    • กด Next
    • คลิกเลือก Specify Fast Recovery Area Browse ไฟล์เลือก +MGMT ช่อง Fast Recovery Area size: เป็นขนาด HDD–10%
    • กด Next
    • ปรับแต่ง memory ตามความเหมาะสม คลิกช่อง Sizing ปรับจำนวนโปรเซส
    • กดช่อง Character sets
    • เลือกตามรูป กด Next
    • กด Next
    • ตั้ง Password กด Next
    • กด Next
    • รอแป๊บ
    • กด Finish
    • รอระหว่างนี้ไปพักได้
    • กด Close
    • เสร็จ

    สิ่งที่ต้องหาข้อมูลเพิ่มเติม

    • disk group ต่างๆ ไว้ทำอะไร และอาจปรับลดให้เหลือเฉพาะ disk group เดียว จะได้มีเนื้อที่มากขึ้นกว่าตอนนี้ ที่มีแค่ 1TB
    • automatic start/stop server
      • ตอนนี้ทำเสร็จไม่สามารถ restart ได้เพราะทำไม่เป็น
    • ทำแค่ how to ติดตั้งเพียงอย่างเดียวจึงได้เพียงเท่านี้
    • จบขอให้สนุก
  • Grid Infrastructure 18c ตอน 4

    • โหมดแทบ จะ next technology
    • เข้าระบบด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่งต่อไปนี้
    grid_env
    cd $ORACLE_HOME
    ./gridSetup.sh
    • จะได้ดังรูป
    Select Configuration Option
    • เลือก Configure Oracle Grid Infrastructure for New Cluster กด Next
    • จะได้ดังรูป
    Select Cluster Configuration
    • เลือก Configure an Oracle Standalone Cluster กด Next
    • จะได้ดังรูป
    Grid Plug and Play Information
    • เลือก Create Local SCAN
    • แก้ชื่อให้ตรงกับที่ขอจดกับ DNS (rac-scan) ดังรูป
    Grid Plug and Play Information
    • กด Next จะได้ดังรูป
    Cluster Node Information
    • ให้กด Add… เพื่อเพิ่ม rac2 ดังรูป
    Cluster Nod Information
    • กด Next จะได้ดังรูป
    Specify Network Interface Usage
    • ให้เปลี่ยนเป็นตามรูป (ซึ่งตัวอย่างนี้ใช้ iSCSI)
    Specify Network Interface Usage
    • กด Next จะได้ดังรูป
    Storage Option Information
    • เลือก Configure ASM using block devices กด Next
    • จะได้
    Grid Infrastructure Management Repository Option
    • เลือก Yes กด Next
    • ได้ดังรูป
    Create ASM Disk Group
    • เปลี่ยน Disk Discovery Path เป็น /dev/oracleasm/disks/* โดยการคลิก Change Discovery Path…
    Change Disk Discovery
    • คลิก Specify Failure Groups… กรอกและเลือกดังรูป กด OK
    Failure Groups
    • ในส่วนของ Redundancy เลือก Normal
    • ในช่อง Select Disks เลือก Disk 3 ลูก ระบุ Failure Group ต่างกัน Group ตามที่สร้างไว้
    Create ASM Disk Group
    • กด Next จะได้ดังรูป
    GIMR Data Disk Group
    • เลือก External และ disk 1 ลูก
    GIMR Data Disk Group
    • กด Next จะได้
    Specify ASM Password
    • เลือก Use same passwords for these accounts แล้ว ตั้ง password
    Specify ASM Password
    • กด Next ได้ดังรูป
    Failure Isolation Support
    • เลือก Do not use Intelligent Platform Management Interface (IPMI) กด Next ได้ดังรูป
    Specify Management Options
    • กด Next แล้วเลือกดังรูป dba, oper, asmoper
    Privileged Operating System Groups
    • จะได้ดังรูป
    Specify Installation Location
    • กด Next ได้ดังรูป
    Oracle Grid Infrastructure 18c Installer
    • เลือก Yes ได้ดังรูป
    • กด Next ได้ดังรูป
    Root script execution configuration
    • กด next ได้ดังรูป
    Perform Prerequisite Checks
    Summary
    • กด Install ได้ดังรูป
    • รอจนกระทั่ง
    Execute Configuration Scripts
    • ให้รันคำสั่งต่อไปนี้ ใน terminal เริ่มจาก rac1 แล้วต่อด้วย rac2
    sudo /u01/app/oraInventory/orainstRoot.sh
    orainstRoot.sh
    sudo /u01/app/18.0.0.0/grid/root.sh
    • กด enter 1 ครั้งแล้วรอ ให้สคริปต์ทำงานไปจนกว่าจะเสร็จ โดยสังเกตด้วยต้องไม่มีคำว่า Fail เลย
    • เมื่อครบทั้ง 2 คำสั่งที่ rac1 แล้ว ให้ทำซ้ำที่ rac2 อาจสั่งไปจาก rac1 ก็ได้
    ssh rac2
    • เมื่อสั่งคำสั่งครบทั้ง 2 เครื่องแล้วให้กลับมา rac1 แล้วกด OK ได้รูป
    Oracle Grid Infrastructure 18c Installer – Step 18 of 19
    • พักดื่มน้ำปัสสาวะได้ เนื่องจากค่อนข้างนาน
    • กลับมากด Close ได้เลย
    Finish
    • ต่อไปติดตั้ง database ตอน 5 ใกล้ละๆ
    https://sysadmin.psu.ac.th/2021/01/27/grid-infrastructure-18c-5/
  • Grid Infrastructure 18c ตอน 2

    • ตอนสองจัดการ Shared disk
      • ล็อคอินด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่ง ต่อไปนี้ เพื่อเป็น root เมื่อถามรหัสผ่าน ให้ใส่รหัสผ่านของ oracle
    sudo -i
    • ตรวจสอบว่ามีแฟ้ม /etc/multipath.conf หรือไม่ หากไม่มีให้สั่งคำสั่งต่อไปนี้
    mpathconf --enable
    systemctl start multipathd
    systemctl enable multipathd
    • ตรวจสอบ shared disk ด้วยคำสั่ง
    ls -l /dev/mapper/mpath?
    shared disk
    • จะเห็นว่ามี mpatha ถึง mpathf
    • สร้าง partition บน mpatha ถึง mpathf ด้วยคำสั่ง
    fdisk  /dev/mapper/mpatha
    • สร้าง partition ใหม่ตามขั้นตอนเดิม n แล้ว enter 4 ครั้ง แล้วกด w แล้ว enter ทำจนครบ ถึง mpathf
    • เนื่องจากเป็น shared disk แบ่ง partition ที่เดียวก็จะได้ทั้งสองเครื่อง ที่ rac2 เข้าระบบด้วย oracle แล้วเป็น root ด้วยคำสั่ง
    sudo -i
    • แล้วพิมพ์คำสั่งต่อไปนี้เพื่อ update ตาราง partition
    partprobe
    • กลับมาที่ rac1 ติดตั้ง oracleasm-support และ kmod-oracleasm ด้วยคำสั่ง
    yum install -y kmod-oracleasm oracleasm-support
    • ตั้งค่า oracleasm ด้วยคำสั่ง
     oracleasm configure -i
    • แล้วกรอกตามภาพ
    oracleasm configure
    • โหลด kernel module ด้วยคำสั่ง
    oracleasm init

    ได้ผลดังภาพ

    oracleasm
    • ทำซ้ำอีกครั้งที่ rac2
    • กลับมา rac1 พิมพ์คำสั่งต่อไปนี้เพื่อสร้าง oracleasm disk โดย DISK* คือขื่อ disk
    oracleasm createdisk DISK1 /dev/mapper/mpatha1
    oracleasm createdisk DISK2 /dev/mapper/mpathb1
    oracleasm createdisk DISK3 /dev/mapper/mpathc1
    oracleasm createdisk DISK4 /dev/mapper/mpathd1
    oracleasm createdisk DISK5 /dev/mapper/mpathe1
    oracleasm createdisk DISK6 /dev/mapper/mpathf1
    • ที่ rac2 พิมพ์คำสั่ง
    oracleasm scandisks
    oracleasm scandisks
    • ที่ rac1 terminal พิมพ์ exit
      • พิมพ์ oracleasm listdisks
    • ที่ rac2 terminal พิมพ์ exit
      • พิมพ์ oracleasm listdisks
    oracleasm listdisks
    • ต้องได้ผลเหมือนกันทั้งสองเครื่อง
    • จบจัดการ shared disk
    https://sysadmin.psu.ac.th/2021/01/19/grid-infrastructure-3/
  • Grid infrastructure 18c ตอน 1

    รอบนี้จะมาติดตั้ง 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
      • เลือกติดตั้งดังรูปได้แก่
        • 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 a disk
    Add iSCSI
    • กด Add iSCSI Target…
    • ใส่ IP Address ของ iSCSI และ iSCSI Initiator Name ที่ได้จาก iSCSI Admin
    ADD iSCSI STORAGE TARGET
    • กด Start Discovery
    • ทำเครื่องหมายถูกหน้าดิสก์ที่ขึ้นมาทั้งหมด
    ADD iSCSI STORAGE TARGET
    • กด Log In จะได้
    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
      • swap 16GB
    Manual Portioning
    • กด Done ได้ดังรูป
    • กด 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
    • ปิด 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 อีกเครื่อง
    https://sysadmin.psu.ac.th/2021/01/18/grid-infrastructure-18c-2/