Author: grianggrai.n

  • Webmail transformation!! #3

    เมื่อจะเลิกใช้ Squirrelmail มาใช้งาน Roundcube ก็ต้องมีเรื่องของการทำ Redirect และ Filter ด้วยซึ่งใน Roundcube (webmail2) มีวิธีการที่แตกต่างออกไปดังที่จะเล่าต่อไปนี้

    Redirect & Filter

    สำหรับผู้ใช้ใหม่ไม่เคยใช้ Squirrel mail (webmail เดิม) มาก่อน

    ที่ต้องระบุแบบนี้เพราะสำหรับคนที่เคยใช้ Squirrel mail มาก่อนส่วนมากจะ Redirect mail ไป gmail หมดแล้วดังนั้นจึงไม่มีความจำเป็นต้องทำตามขั้นตอนนี้

    1. Log In เข้าระบบให้เรียบร้อย
    Webmail
    1. คลิก Settings ด้านซ้ายมือ
    Settings
    1. จะได้ดังภาพ
    Settings
    1. เลือก Filters
    Filters
    1. ได้ดังภาพ
    Filters
    1. มองไปด้านขวามีคำว่า Create คลิก Create ได้ดังภาพ
    Create Filter
    1. กรอกข้อมูลและเลือกดังนี้
    Filter

    โดย username.s คือ username ของท่าน หากต้องการเก็บเมล์ไว้ที่ PSU E-mail ด้วยให้คลิกเครื่องหมาย ท้ายช่อง แล้วเลือก Keep message in Inbox เพิ่มดังนี้แล้วคลิก Save

    Keep message in Inbox

    ในกรณีที่ Keep message in Inbox อาจจะต้องเข้ามาดูที่เว็บเมล์บ้างเป็นระยะ ๆ เพื่อป้องกันเมล์เต็มนะครับ

    1. หลังคลิก Save จะได้ดังภาพ
    Gmail
    1. หรือหากต้องการ Redirect mail ไปที่อื่น ๆ อีกก็สามารถสร้างเพิ่มอีกโดยคลิก Create และตั้งค่าแบบเดิมแต่เปลี่ยนที่อยู่อีเมล เช่น
    more filters

    โดย Filter จะทำจากบนลงล่าง

    1. สามารถตั้งกฎเพื่อกรองอีเมลสแปมได้เช่นกัน โดยปกติอีเมลของมหาวิทยาลัยจะทำเครื่องหมายไว้หน้าอีเมลที่เข้าข่ายอีเมลสแปมอยู่แล้วคือมีค่ำว่า [SPAM?]: อยู่ใน Subject สามารถตั้งกฎให้ลบได้ดังภาพ
    Spam Filter

    Filter นี้จะทำการลบอีเมลทุกฉบับที่มีคำว่า [SPAM?:] ถูกลบทิ้งไปอยู่ใน Trash

    Trash

    ควรตรวจสอบอีเมลในโฟลเดอร์ Trash ก่อน Empty Trash ทุกครั้ง การล้างโฟรเดอร์ Trash ทำได้โดยคลิกโฟลเดอร์ Trash แล้วคลิกที่ ที่อยู่หลัง username ของท่านแล้วเลือก Empty ดังภาพ ซึ่งอีเมลทั้งหมดที่ถูกลบและ Spam จะโดนล้างไปหมดในคราวเดียวกันดังนั้นควรตรวจสอบว่ามีอีเมลที่ไม่ใช่ Spam ปะปนไปหรือไม่ก่อนกดล้างโฟลเดอร์นะครับ

    Empty Trash

    และควรลบอีเมลที่ไม่ใช้แล้วเสมอ ๆ เพื่อป้องกันโควต้าเต็มนะครับ

    Delete
    1. จบขอให้สนุก…
  • Webmail transformation!! #1

    คุยก่อน

    webmail.psu.ac.th อยู่กับเรามา… นานมากแล้วจนปัจจุบันนี้แทบจะคุยไม่รู้เรื่องแล้วค้นหาด้วยภาษาไทย แท้ ๆ ก็ไม่ได้ ก็คงถึงเวลาต้องไป ที่ชอบๆ สักที

    พุทโธธรรมโมสังโข!!!

    เร็ว ๆ นี้สำนักนวตกรรมดิจิทัลและระบบอัจฉะริยะจะประกาศใช้งาน webmail ตัวใหม่ ที่ได้เปิดให้ทดสอบใช้งานมาระยะหนึ่งแล้วอย่างเป็นทางการ โดยสามารถเข้าใช้งานผ่าน https://webmail2.psu.ac.th ซึ่งต่อไปจะกลายเป็น https://webmail.psu.ac.th ผลกระทบถึงท่าน ๆ ทั้งหลาย… ดังนี้

    1. ถ้าก่อนหน้านี้ใช้ https://webmail.psu.ac.th มาตลอดไม่เคยใช้ gmail เลย ก็ไม่กระทบอะไรนอกจากรูปร่างหน้าตาที่เปลี่ยนไป มาก… ถึงมากที่สุด
    2. ถ้าอ่านเมล์ที่ gmail.com เป็นหลักก็ไม่กระทบอะไรมากนัก
    3. ถ้ามีความต้องการตั้งค่า filter เพิ่มเติมก็จะกระทบมากเนื่องจากวิธีการเปลี่ยนแปลงจากเดิมค่อนข้างมาก

    เริ่มต้นการใช้งาน

    1. เปิดเว็บ https://webmail2.psu.ac.th จะได้หน้าตาประมาณนี้ (อาจมีการเปลี่ยนแปลงเมื่อประกาศใช้จริง)
    webmail2 start page
    1. ล็อคอินเข้าระบบให้เรียบร้อยจะได้หน้าตานี้
    Webmail2 Inbox
    1. ทดสอบค้นหาภาษาไทย คลิกในช่อง Search… ที่อยู่บล็อกกลาง
    Search…

    ลองค้นหาคำว่า “สถานะ” แล้วกด enter สิ่งที่ได้ก็ตามภาพนะครับ

    Keywords
    1. การค้นหาสามารถกำหนดเงื่อนไขได้ว่าจะให้ไปค้นหา คำ ๆ นั้น ในส่วนไหนของอีเมล์ ไม่ว่าจะเป็น Subject อย่างเดียว From อย่างเดียว หรือ เนื้อความในอีเมล์ ทำได้โดยคลิกที่ ที่อยู่หลังรูปซองจดหมายที่ช่อง Search… เมื่อคลิกจะได้ดังภาพ
    Search criteria

    จะเห็นว่ามีตัวเลือกมากมายว่าอยู่ที่เราเลือกไม่ว่าจะเป็น subject from to cc bcc body entire message ทั้งยังสามารถระบุช่วงเวลาที่ต้องการค้นหาหรือ กำหนด โฟลเดอร์ของเมล์ที่ต้องการค้นหาได้ด้วย แต่ทั้งนี้ทั้งนั้นหากกำหนดเงื่อนไขในการค้นหาเยอะ และมีจดหมายจำนวนมากการค้นหาก็อาจกินเวลานานได้

    1. การย้ายบ้านจาก webmail.psu.ac.th มายัง webmail2.psu.ac.th สิ่งที่ผู้ใช้ต้องทำเองคือการย้ายข้อมูลรายชื่อผู้ติดต่อ หรือที่เรียกว่า Address book นั่นเอง
    2. Log in เข้าระบบที่ https://webmail.psu.ac.th
    webmail.psu.ac.th
    1. เมื่อ log in เข้ามาแล้วคลิกที่ Addresses
    Addresses
    1. จะได้ดังภาพ ซึ่งเป็นการแสดงรายชื่อผู้ติดต่อที่มีทั้งหมด ทั้งยังสามารถ export ออกมาได้ด้วย
    Address
    1. เมื่อต้องการจะ export เลื่อนจอลงมาด้านล่างในส่วนของ Address book export
    Address book export
    1. คลิก Export to CSV File จะเป็นการ download รายชื่อทั้งหมดออกมาเก็บไว้ในไฟล์ .csv ก็ให้เซฟไว้ในที่ที่หาเจอนะครับ
    2. กลับมาที่ https://webmail2.psu.ac.th หาก session expire ไปแล้วให้ล็อคอินใหม่
    Your session is invalid or expired.
    1. เมื่อล็อคอินเข้ามาได้ให้คลิก Contacts ที่อยู่ด้านซ้ายมือ
    Contacts
    1. จะได้ดังภาพ
    Contacts
    1. คลิกปุ่ม Import ด้านขวามือ
    Import
    1. จะได้หน้าต่าง Import contacts
    Import contacts
    1. ก็ให้กด Browse ไปยังไฟล์ที่เซฟก็ไว้จากข้อ 10.
    Import contacts
    1. คลิก Import จะได้หน้าสรุปว่า นำเข้าสำเร็จกี่รายชื่อใครบ้าง หลังจากนั้นคลิก x ได้เลย
    Successfully imported
    1. จะได้รายชื่อผู้ติดต่อไว้ใน webmail2 เรียบร้อย *หมายเหตุเพิ่มเติม อีเมลแอดเดรสของรายชื่อผู้ติดต่อนั้นต้องมีอยู่จริงเท่านั้นจึงสามารถนำเข้าได้นะครับ
    Contacts
    1. สำหรับพาร์ท 1 ก็ขอจบไว้เพียงเท่านี้รอพาร์ทต่อไปครับ ขอให้สนุก
  • 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 ตอน 3

    downloaded 
    • ไฟล์ที่ download จาก https://edelivery.oracle.com จะมี 2 ไฟล์คือ
      • V978967-01.zip คือ ไฟล์ติดตั้ง database
      • V978971-01.zip คือ ไฟล์ติดตั้ง grid infrastructure
      • download ไฟล์มาเก็บไว้ที่ /home/oracle/Downloads ของ rac1 เครื่องเดียว
    • เข้าระบบด้วย ผู้ใช้ oracle เปิด terminal
    • unzip
    db_env
    cd $ORACLE_HOME
    unzip /home/oracle/Downloads/V978967-01.zip
    grid_env
    cd $ORACLE_HOME
    unzip /home/oracle/Downloads/V978971-01.zip
    • สร้าง User Equivalence (Key-Based Authentication) ระหว่าง rac1 และ rac2
    ssh-keygen -t rsa #enter ผ่านไปเรื่อยๆ จนได้ prompt $
    • จากนั้นตามด้วยคำสั่ง
    ssh-copy-id rac2
    • พิมพ์ yes แล้วใส่รหัสผ่านของ rac2
    • ทดสอบ
    ssh rac2 date
    • ต้องได้ผลลัพธ์ประมาณว่า
    ssh rac2 date
    • ทำซ้ำที่ rac2
    ssh rac1 date
    • ติดตั้ง cvuqdisk.rpm ด้วยคำสั่ง
    sudo rpm -iUvh /u01/app/18.0.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
    • ส่งไฟล์ cvuqdisk-1.0.10-1.rpm ไปให้ rac2
    scp /u01/app/18.0.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm rac2:/home/oracle
    • ติดตั้ง cvuqdisk ที่ rac2 ด้วยคำสั่ง
    sudo rpm -iUvh cvuqdisk-1.0.10-1.rpm
    • สั่งคำสั่งต่อไปนี้ ที่ rac1 และ rac2
    sudo systemctl stop avahi-daemon.socket
    sudo systemctl disable avahi-daemon
    • สั่งคำสั่งต่อไปนี้ที่ rac1
    grid_env
    cd /u01/app/18.0.0.0/grid/
    ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
    • ต้องได้ผลเป็น PASSED ทั้งหมด
    • จบเตรียมเครื่อง
    https://sysadmin.psu.ac.th/2021/01/21/grid-infrastructure-%e0%b8%95%e0%b8%ad%e0%b8%99-4/
  • 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/

  • ORA-31623: a job is not attached to this session via the specified handle

    • ปัญหา
      • พยายามใช้ expdp แล้วเกิด error

    UDE-31623: operation generated ORACLE error 31623
    ORA-31623: a job is not attached to this session via the specified handle
    ORA-06512: at “SYS.DBMS_DATAPUMP”, line 3905
    ORA-06512: at “SYS.DBMS_DATAPUMP”, line 5203
    ORA-06512: at line 1

    งานมา…
    • เมื่อค้นข้อมูลไปเรื่อย ๆ จะพบว่าอาจเกี่ยวของกับการปรับแต่งค่าต่างๆ เกี่ยวกับ memory ซึ่งก็ได้ทำไปจริงนั่นคือการปรับ shared_pool_size ให้มีขนาดมากขึ้นทำให้หน่วยความจำสำหรับทำเรื่อง expdp ไม่พอ
    • แก้ไขได้ด้วยการลดค่า shared_pool_size ลง ด้วยคำสั่ง
    SQL> alter system set shared_pool_size=5G scope=both;
    • เพื่อปรับขนาด shared_pool_size ให้เป็น 5GB
    • และอาจต้องเพิ่ม streams_pool_size เพราะไม่ได้ลด shared_pool_size ให้เท่าเดิม เนื่องจากมีการเพิ่มหน่วยความจำของระบบให้มากขึ้นแล้ว ด้วยคำสั่ง
    SQL> alter system set streams_pool_size=128M scope=both;
    • เพื่อปรับ streams_pool_size ให้เป็น 128MB
    • และยังมี parameter บางตัวที่อาจเกี่ยวข้อง เช่น db_cache_size เป็นต้น
    • แต่ในครั้งนี้ปรับแค่สองอย่าง คือ shared_pool_size และ streams_pool_size ก็สามารถแก้ปัญหานี้ได้
    • จบ
    • ขอให้สนุก

    อ้างอิง

    ORA-31623: a job is not attached to this session via the specified handle
    UDI-31623: operation generated ORACLE error 31623 / ORA-31623