วันศุกร์ที่ 29 กันยายน พ.ศ. 2566

InnoDB กับ Lock wait timeout exceeded!

 ผมใช้ innoDB  ใน MySQL แล้วเจอข้อความ error นี้

Lock wait timeout exceeded; try restarting  transaction

1 thought on “InnoDB กับ Lock wait timeout exceeded!”

  1. ubuntu
    Path::::: /etc/mysql/my.cnf
    sudo nano /etc/mysql/my.cnf

    วิธีแก้คือไปเพิ่มใน my.cnf หรือ my.ini
    innodb_log_file_size = 100M
    file นี้มันเก็บ transaction ไว้ default ของมันแค่ 5mb
    มันไม่พอต้องเพิ่ม

    สมมุติสเปกเครื่องเซิร์ฟเวอร์ CPU 4 core  RAM 4 GB)

    # InnoDB Settings
    default_storage_engine          = InnoDB
    innodb_buffer_pool_instances    = 1     # Use 1 instance per 1GB of InnoDB pool size
    innodb_buffer_pool_size         = 1G    # Use up to 70-80% of RAM
    innodb_file_per_table           = 1
    innodb_flush_log_at_trx_commit  = 0
    innodb_flush_method             = O_DIRECT
    innodb_log_buffer_size          = 8M
    innodb_log_file_size            = 256M
    innodb_stats_on_metadata        = 0
    

    คำสั่งคิวรีที่ใช้ตรวจสอบค่าที่เหมาะสมของ innodb_buffer_pool_size

    SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
    (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
    FROM information_schema.tables WHERE engine='InnoDB') A;
    

    เมื่อใช้ดาต้าเบสไปได้ 1-2 สัปดาห์ ให้ใช้คำสั่งคิวรีนี้เพื่อใช้ตรวจสอบว่าหน่วยความจำ GB จริงที่ถูกใช้โดย InnoDB Data ใน InnoDB Buffer Pool ในขณะนี้ถูกใช้งานไปเท่าไร

    SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
    (SELECT variable_value PagesData
    FROM information_schema.global_status
    WHERE variable_name='Innodb_buffer_pool_pages_data') A,
    (SELECT variable_value PageSize
    FROM information_schema.global_status
    WHERE variable_name='Innodb_page_size') B;
    

    และมีค่าอื่นๆ อีกเช่น

    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 1M
    

    เสร็จแล้วให้บักทึก และ Restart การทำงาน MySql/Mariadb ใหม่อีกครั้ง

    แนะนำบทความเพื่อศึกษาเพิ่มเติม : Tuning MySQL : สำรวจตัวเองและเข้าใจตัวแปร



วันเสาร์ที่ 9 กันยายน พ.ศ. 2566

Backup VMware ESXI6.7

 Custom Pocy Regis  ///เป็นวิธีที่เสถียรมากที่สุด
--Datastore---> .VMDK.File----->Regis.VMX
https://www.youtube.com/watch?v=qU5HMZveN9E

--ไปที่เก็บ Datastore  Browser
--เลือกโฟลเดอร์ที่เก็บ vm
--หา 2 ไฟล์ 
   * 1.  .vmdk
   * 2. . vmx   // ไฟล์ Rergister


--สร้างโฟลเดอร์ ที่จะเก็บ Image

วันอังคารที่ 22 สิงหาคม พ.ศ. 2566

New E-claim API 16F

 โครงสร้าง API 16 แฟ้ม
เอกสารประกอบการพัฒนา API SPEC สำหรับผู้พัฒนานะครับ รายละเอียดทั้งหมด อยู่ในลิงค์ >> https://www.nhso.go.th/downloads/208
https://drive.google.com/drive/folders/1-WaEEfFtHknVwADgD9Y2WseC9SQ96ifR
1330 กด 5 กด 3 นะคะ 

วันพุธที่ 16 สิงหาคม พ.ศ. 2566

ไฟฟ้าดับ

วันที 24 กันยายน 2566 เวลา  16.00  น.  การไฟฟ้าม่วง  จะขอดับไฟ  ทุกระบบ  เพื่อทำการเปลี่ยนสายที่เสื่อมสภาพ  ตรงบริเวณข้างห้องคลอด      เป็นเวลา  20  นาที  


มีมีการแก้ไขไฟฟ้าจากการไฟฟ้า  เมื่อวันศุกร์ที่ 7 พฤษภาคม 2564 เวลา 16.00 น.

เพื่อเปลี่ยนเครื่องกำเนิดไฟฟ้าในโรงพยาบาล งดการจ่ายไฟฟ้าทุกจุด รวมใช้เวลาประมาณ 1 ชั่วโมง

- ก่อนการเชื่อมต่อ ทางช่างและผู้รับเหมาจะทดสอบระบบปั่นไฟฟ้าสำรอง ให้มั่นใจว่าเมื่อเชื่อมต่อระบบแล้วจะสามารถรองรับโหลดเครื่องใช้ไฟฟ้าและใช้งานได้ปกติ

- กำหนดการเชื่อมต่อระบบคือ วันศุกร์ที่ 7 พ.ค.2564 เวลา 16.00 น.

- ผู้รับเหมารับปากที่จะเชื่อมต่อให้เสร็จภายในเวลา 30 นาที 

- การเตรียมการของหน่วยงาน

o ก่อนดับไฟฟ้า บริหารจะประกาศให้ทุกหน่วยงานทราบ เพื่อเตรียมตัวล่วงหน้า 30 นาที

o ในช่วงเวลาที่ดับไฟฟ้าเพื่อเชื่อมต่อ ระบบ Mbase และ Internet จะใช้การไม่ได้

o หากไฟฟ้าดับเกินเวลา 30 นาที จะใช้ระบบบริการโดย OPD card ตามที่เคยฝึกซ้อม

** วันที่ 9 ตุลาคม 2565 ปิดระบบการจ่ายไฟฟ้าทั้งหมด

ตั้งแต่เวลา 11.30 น. -14.00 น  ใช้เวลา 2 ชั่งโมง 30 นาที

คุณชิตพันธ์ พิสุทธิโกศล ขึ้นเวร 

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ



**วันที่ 13 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่

ตั้งแต่เวลา 11.30 น. -13.00 น  คุณศุภมิตร สุทโธ  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง 30 นาที

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


**วันที่ 14 สิงหาคม 2566 ปิดระบบการจ่ายไฟฟ้าทั้งหมด เฉพาะตึกเวชปฏิบัติชั้น2 เนื่องจากเปลี่ยนเสาไฟใหม่ที่ต้องการยกให้สูงจากหลังคาตึกแพทย์แผนไทยที่กำลังสร้างใหม่  เปลี่ยนสายไฟที่เชื่อมเข้าตึกเวชปฏิบัติใหม่

ตั้งแต่เวลา 10.00 น. -11.00 น  คุณชาตรี บุญทา  ขึ้นเวร 

เครื่องสำรองไฟที่ห้องสำรองใช้งานได้ดี สามารถสำรองได้ เกิน 1 ชั่งโมง

ระบบเครือข่ายไม่มีการหยุดชะงักในช่วงเวลาที่ไฟฟ้าดับ


ตัวชี้วัด:ระบบเครือข่ายล่มเกิน15 นาที่โดยไม่ได้ตั้งใจ ตัวชี้วัดให้เป็น 0 คือไม่ไห้เกินขึ้น จากการเปรียบเทียบ5ปี

ทุกอย่างเป็น 0 เท่านั้น


วันพฤหัสบดีที่ 22 มิถุนายน พ.ศ. 2566

ตรวจสอบการจองห้อง

 https://www.thaicreate.com/php/forum/136259.html
http://sunzandesign.blogspot.com/2013/05/php-mysql-booking-room.html  คิวรี่ตรวจสอบ

โดยจะเขียน SQL เพื่อหาห้องว่างแบบเต็มๆ ได้ดังนี้

SELECT *
FROM tb_room
WHERE room_number NOT IN
(
SELECT
tb_booking_detail.room_num
FROM
tb_booking
INNER JOIN
tb_booking_detail on tb_booking.id = tb_booking_detail.ref_booking_id
WHERE
(date_start BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(date_end BETWEEN ‘2018–07–18’ AND ‘2018–07–22’)
OR
(‘2018–07–18’ BETWEEN date_start AND date_end)
OR
(‘2018–07–22’ BETWEEN date_start AND date_end )
)