Grid Infrastructure 18c ตอน 2

ตอนสองจัดการ Shared disk ล็อคอินด้วยผู้ใช้ oracle เปิด terminal พิมพ์คำสั่ง ต่อไปนี้ เพื่อเป็น root เมื่อถามรหัสผ่าน ให้ใส่รหัสผ่านของ oracle ตรวจสอบว่ามีแฟ้ม /etc/multipath.conf หรือไม่ หากไม่มีให้สั่งคำสั่งต่อไปนี้ ตรวจสอบ shared disk ด้วยคำสั่ง จะเห็นว่ามี mpatha ถึง mpathf สร้าง partition บน mpatha ถึง mpathf ด้วยคำสั่ง สร้าง partition ใหม่ตามขั้นตอนเดิม n แล้ว enter 4 ครั้ง แล้วกด w แล้ว enter ทำจนครบ ถึง mpathf เนื่องจากเป็น shared disk แบ่ง partition ที่เดียวก็จะได้ทั้งสองเครื่อง ที่ rac2 เข้าระบบด้วย oracle แล้วเป็น root ด้วยคำสั่ง แล้วพิมพ์คำสั่งต่อไปนี้เพื่อ update ตาราง partition กลับมาที่ rac1 ติดตั้ง oracleasm-support และ kmod-oracleasm ด้วยคำสั่ง ตั้งค่า oracleasm ด้วยคำสั่ง แล้วกรอกตามภาพ โหลด kernel module ด้วยคำสั่ง ได้ผลดังภาพ ทำซ้ำอีกครั้งที่ rac2 กลับมา rac1 พิมพ์คำสั่งต่อไปนี้เพื่อสร้าง oracleasm disk โดย DISK* คือขื่อ disk ที่ rac2 พิมพ์คำสั่ง ที่ rac1 terminal พิมพ์ exit พิมพ์ oracleasm listdisks ที่ rac2 terminal พิมพ์ exit พิมพ์ oracleasm listdisks ต้องได้ผลเหมือนกันทั้งสองเครื่อง จบจัดการ shared disk

Read More »

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 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

Read More »

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

ปัญหา พยายามใช้ expdp แล้วเกิด error UDE-31623: operation generated ORACLE error 31623ORA-31623: a job is not attached to this session via the specified handleORA-06512: at “SYS.DBMS_DATAPUMP”, line 3905ORA-06512: at “SYS.DBMS_DATAPUMP”, line 5203ORA-06512: at line 1 งานมา… เมื่อค้นข้อมูลไปเรื่อย ๆ จะพบว่าอาจเกี่ยวของกับการปรับแต่งค่าต่างๆ เกี่ยวกับ memory ซึ่งก็ได้ทำไปจริงนั่นคือการปรับ shared_pool_size ให้มีขนาดมากขึ้นทำให้หน่วยความจำสำหรับทำเรื่อง expdp ไม่พอ แก้ไขได้ด้วยการลดค่า shared_pool_size ลง ด้วยคำสั่ง เพื่อปรับขนาด shared_pool_size ให้เป็น 5GB และอาจต้องเพิ่ม streams_pool_size เพราะไม่ได้ลด shared_pool_size ให้เท่าเดิม เนื่องจากมีการเพิ่มหน่วยความจำของระบบให้มากขึ้นแล้ว ด้วยคำสั่ง เพื่อปรับ 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 handleUDI-31623: operation generated ORACLE error 31623 / ORA-31623

Read More »

Canonical Livepatch Service

Canonical Livepatch Service Apply critical kernel patches without rebooting. โฆษณา Fixes are applied automatically, without restarting your system Reduces downtime, keeping your Ubuntu LTS systems secureand compliant Included as part of all Ubuntu Advantage for Infrastructuresupport packages ใครควรใช้ เครื่อง ubuntu 16.04 ขึ้นไป เริ่มได้ เปิดเว็บ https://auth.livepatch.canonical.com/ เลือก Ubuntu user แล้วกดปุ่ม Get your Livepatch token ก็จะไปหน้านี้ กด Accept all and visit site ก็ให้ log in ให้เรียบร้อย หากยังไม่ได้สมัคร user ของ Ubuntu one ก็ให้เลือก I don’t have an Ubuntu One account เพื่อสร้าง account หลังจากกด Create account ให้ไปเช็คเมล์ที่ใช้ลงทะเบียนแล้วกด verify ก็จะได้หน้าที่มี Token สำหรับลงทะเบียน ติดตั้งโปรแกรมชื่อ canonical-livepatch ด้วยคำสั่ง เมื่อติดตั้งเสร็จได้ผลลัพธ์ว่า canonical-livepatch 9.5.5 from Canonical✓ installed แล้วต่อด้วยคำสั่ง copy จากในเว็บได้เลย โดย $TOKEN คือค่าที่ได้จากในหน้าเว็บ ก็จะได้ผลว่าประมาณว่า Successfully enabled device. Using machine-token: xxxxxxxxxxx เสร็จ!!! แบบง่ายๆ และงงๆ และสำหรับ 1 email address สามารถใช้ token เดียวกันได้ 3 เครื่อง สำหรับผู้ใช้ฟรี!! ตั้งแต่ใช้มาประมาณ 1 ปีครึ่ง ก็ไม่รู้ว่ามีอัพเดตอะไรบ้างเหมือนกัน กรั่กๆ ตรวจสอบสถานะของ canonical-livepatch ด้วยคำสั่ง ก็จะได้ประมาณว่า จบขอให้สนุก อ้างอิง https://ubuntu.com/security/livepatch

Read More »

How to apache2 HTTP/2

วันนี้อัพเกรตเครื่อง licensing เป็น 20.04.1 เลยมาดูว่ามีอะไรที่ควรเปลี่ยนอีกบ้าง ก็มี HTTP/2 นี่ละ ออกมาหลายปีแล้วยังไม่ได้เริ่มใช้งาน เท่าที่ตรวจสอบเว็บเซิร์ฟเวอร์ฝั่ง windows เป็น http/2 เกือบหมดแล้ว https://thanwa.medium.com/http-2-คืออะไร-แตกต่างจาก-http-1-1-อย่างไร-5dfb14e46ae4 HTTP/1.1 และ HTTP/2 ต่างกันอย่างไร เริ่มได้ ตรวจสอบก่อนว่า server ใช้ http/2 หรือไม่ทำได้โดยใช้ web developer tool บน web browser เช่น Firefox กด F12 คลิกหัวข้อ Network ซึ่งในครั้งแรกจะไม่สามารถดูได้ว่าใช้ http/2 แล้วหรือไม่ ให้คลิกขวาดังรูป แล้วเลือก Protocol จะได้เป็น จะเห็น http/1.1 ในช่อง Protocol ถ้าเป็น http/2 จะได้ดังภาพ ขั้นตอนต่อไปนี้ทำบน Ubuntu 20.04.1 อาจใช้ได้กับ 18.04.x ด้วยเช่นกัน เริ่มด้วยการเปิด module ของ apache2 ที่ชื่อ http2 ด้วยคำสั่ง เมื่อตรวจสอบแฟ้ม /etc/apache2/mods-enabled/http2.conf (ด้วย editor ที่ชื่นชอบ) จะพบว่ามีข้อความต่อไปนี้อยู่แล้ว โดยปกติ Http/1 จะถูกเรียกใช้ก่อนเสมอ เว้นแต่ว่า web browser นั้นจะรองรับ http/2 แต่เราต้องการ http/2 ถูกเลือกก่อนจึงต้องกำหนดตามนั้น แต่ web browser ก็มีการเลือก Protocol เองด้วยเพื่อเป็นการบังคับให้เลือก ตามลำดับของ server ให้ใส่ข้อความต่อไปนี้เพิ่มลงไป *** จากการทดสอบพบว่า web browser สมัยใหม่เลือก http/2 ก่อนอยู่แล้ว ไม่จำเป็นต้องใส่ก็ได้ เพราะงั้นแค่เปิดดูแล้วก็ออกจากแฟ้ม รีสตาร์ท apache2 ด้วยคำสั่ง ตรวจสอบว่า เป็น http/2 แล้วหรือไม่ด้วยคำสั่ง ได้ผลดังภาพ แปลว่า http/2 ทำงานแล้ว ทีนี้เว็บเรามันทำด้วย mod_php ต้องเปลี่ยนมาใช้ PHP-FPM ติดตั้ง php7.4-fpm เพิ่มด้วยคำสั่ง ปิดการใช้งาน mod_php ด้วยคำสั่ง ปิดการใช้งาน apache mpm_prefork ด้วยคำสั่ง หลังจากนั้นเปิด การทำงานของ mpm_event, proxy_fcgi และ setenvif เปิดการทำงานของ php7.4-fpm ด้วยคำสั่ง ให้ php7.4-fpm ทำงานทุกครั้งที่รีสตาร์ท เปิดการทำงานของ php7.4-fpm ใน apache2 เริ่มการทำงานของ apache2 ใหม่ ทดสอบว่าเป็น http/2 แล้วด้วยคำสั่ง ได้ผลดังภาพ จริงๆ ตรวจสอบด้วย web browser ก็ได้ แต่อยากอวด command line จบขอให้สนุก อ้างอิง https://httpd.apache.org/docs/2.4/howto/http2.html

Read More »