แก้ไขคำเตือน “ฐานข้อมูลขาดดัชนีบางส่วน” ใน Nextcloud

คุณเปิดหน้าภาพรวมการดูแลระบบของ Nextcloud แล้วเห็นข้อความว่า “ฐานข้อมูลขาดดัชนีบางส่วน” คำเตือนนี้อาจปรากฏขึ้นหลังจากการอัปเกรด เนื่องจาก Nextcloud สามารถเพิ่มดัชนีใหม่ให้กับตารางที่มีอยู่ได้เมื่อเวลาผ่านไป และไม่ได้สร้างดัชนีเหล่านั้นโดยอัตโนมัติเสมอไปในฐานข้อมูลขนาดใหญ่ การขาดดัชนีอาจทำให้การสืบค้นฐานข้อมูลบางอย่างช้าลง วิธีแก้ไขที่รองรับคือocc db:add-missing-indicesคำสั่ง ในตัว

ก่อนที่จะเปลี่ยนแปลงสคีมา โปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้คำสั่งสำหรับการติดตั้ง Nextcloud ที่ถูกต้อง ทำการสำรองข้อมูลฐานข้อมูล และใช้ผู้ใช้ระบบปฏิบัติการของเว็บเซิร์ฟเวอร์ สำหรับเวอร์ชันที่คำสั่งรองรับ ให้ดูตัวอย่าง SQL ที่เสนอด้วยคำสั่ง จากนั้น--dry-runเรียกใช้การซ่อมแซมและตรวจสอบภาพรวมการดูแลระบบอีกครั้ง

คำเตือนนั้นหมายความว่าอย่างไร

ดัชนีฐานข้อมูลคือโครงสร้างที่ช่วยให้ฐานข้อมูลค้นหาแถวได้โดยไม่ต้องสแกนทั้งตาราง Nextcloud และแอปต่างๆ กำหนดดัชนีสำหรับตารางและฟิลด์ที่ใช้งาน เมื่อ Nextcloud เวอร์ชันใหม่กว่าหรือแอปเวอร์ชันใหม่กว่าเพิ่มดัชนีที่การติดตั้งที่มีอยู่ยังไม่มี หน้าผู้ดูแลระบบอาจรายงานความไม่ตรงกันนี้ ซึ่งเป็นคำเตือนเกี่ยวกับการบำรุงรักษาสคีมา ไม่ได้หมายความว่าฐานข้อมูลเสียหายหรือไฟล์ของผู้ใช้หายไปแต่อย่างใด

คู่มือการดูแลระบบของ Nextcloud ระบุว่าสามารถเพิ่มดัชนีได้ในภายหลัง รวมถึงเพื่อปรับปรุงประสิทธิภาพ และแนะนำให้ผู้ดูแลระบบเรียกใช้คำสั่ง `index` occ db:add-missing-indicesการเพิ่มดัชนีอาจใช้เวลานาน โดยเฉพาะอย่างยิ่งกับตารางขนาดใหญ่ และการโหลดฐานข้อมูลหรือพฤติกรรมการล็อกอาจแตกต่างกันไปตามเอนจินฐานข้อมูลและปริมาณงาน ควรวางแผนการเปลี่ยนแปลงในช่วงเวลาที่ไม่ค่อยมีการใช้งานหากอินสแตนซ์ของคุณกำลังยุ่งอยู่

ก่อนที่คุณจะเริ่มการซ่อมแซม

  • ตรวจสอบเส้นทางการติดตั้งและเวอร์ชันเรียกใช้คำสั่งจากไดเร็กทอรีที่มีoccสคริปต์ของการติดตั้งที่ต้องการ หรือระบุเส้นทางแบบเต็มของสคริปต์นั้น
  • สำรองข้อมูลฐานข้อมูลใช้ขั้นตอนการสำรองข้อมูลตามปกติสำหรับ MariaDB/MySQL, PostgreSQL หรือ SQLite ตรวจสอบให้แน่ใจว่าการสำรองข้อมูลเสร็จสมบูรณ์และคุณรู้วิธีการกู้คืนข้อมูล
  • ค้นหาผู้ใช้ HTTPใช้บัญชีที่รันเว็บเซิร์ฟเวอร์สำหรับ Nextcloud ตัวอย่างทั่วไปได้แก่www-dataบน Debian หรือ Ubuntu, apacheบน Fedora หรือ CentOS, httpบน Arch และwwwrunบน openSUSE การติดตั้งใช้งานของคุณอาจแตกต่างออกไป
  • ตรวจสอบตัวเลือกคำสั่งคู่มือการใช้งาน Nextcloud 35 เวอร์ชันเสถียรได้ระบุรายละเอียด--dry-runไว้ หากเวอร์ชันที่คุณติดตั้งไม่รู้จักตัวเลือกนี้ ให้ดูocc db:add-missing-indices --helpข้อมูลจากเวอร์ชันนั้นและข้ามการแสดงตัวอย่างไป แทนที่จะสันนิษฐานว่าตัวเลือกนั้นมีอยู่

คู่มือการสำรองข้อมูลอย่างเป็นทางการระบุฐานข้อมูล การกำหนดค่า ไดเร็กทอรีข้อมูล และส่วนประกอบการติดตั้งอื่นๆ ที่ควรเก็บรักษาไว้สำหรับการสำรองข้อมูลแบบเต็ม สำหรับการดำเนินการเกี่ยวกับสคีมานี้ อย่างน้อยที่สุดควรทำการสำรองข้อมูลฐานข้อมูลที่ผ่านการทดสอบแล้ว โดยใช้ขั้นตอนที่เหมาะสมสำหรับฐานข้อมูลของคุณ

ขั้นตอนที่ 1: เปิดเชลล์ในระบบติดตั้ง Nextcloud

สำหรับการติดตั้งบนระบบ Linux แบบดั้งเดิม ให้เชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH และเปลี่ยนไปยังไดเร็กทอรี Nextcloud โดยทั่วไปแล้ว เส้นทางใน Ubuntu จะเป็น/var/www/nextcloudแต่ให้ใช้เส้นทางบนเซิร์ฟเวอร์ของคุณ

cd /var/www/nextcloud
sudo -E -u www-data php occ status

ตรวจสอบให้แน่ใจว่าผลลัพธ์สถานะระบุถึงอินสแตนซ์ที่ติดตั้งไว้ตามที่คาดไว้ หากคุณใช้ไบนารี PHP ที่แตกต่างจากค่าเริ่มต้นของเชลล์สำหรับเว็บเซิร์ฟเวอร์phpให้ใช้เวอร์ชัน PHP ที่เข้ากันได้เดียวกันสำหรับoccการทำงานoccในฐานะผู้ใช้ HTTP จะช่วยรักษาสิทธิ์การเป็นเจ้าของไฟล์และสิทธิ์การเข้าถึงตามที่คาดไว้

ขั้นตอนที่ 2: ดูตัวอย่างการเปลี่ยนแปลงดัชนี

หากเวอร์ชันที่คุณติดตั้งรองรับ ให้ทำการทดสอบแบบจำลองก่อน:

sudo -E -u www-data php occ db:add-missing-indices --dry-run

การทดสอบแบบจำลองจะแสดงตัวอย่างคำสั่ง SQL โดยไม่นำไปใช้งานจริง อ่านผลลัพธ์และยืนยันว่าเกี่ยวข้องกับดัชนีที่หายไปที่คุณต้องการแก้ไข หากผลลัพธ์ระบุตารางหรือดัชนีที่คุณไม่รู้จัก ให้จดชื่อที่แน่นอนและตรวจสอบว่าแอปพลิเคชันที่เกี่ยวข้องได้รับการติดตั้งและเป็นเวอร์ชันล่าสุดหรือไม่ อย่าคัดลอกคำสั่ง SQL ที่แสดงตัวอย่างไปวางในคอนโซลฐานข้อมูลเพื่อใช้เป็นทางลัด

ขั้นตอนที่ 3: เพิ่มดัชนีที่ขาดหายไป

เมื่อการแสดงตัวอย่างเสร็จสิ้นและข้อมูลสำรองพร้อมแล้ว ให้เรียกใช้คำสั่งซ่อมแซมที่ระบุไว้ในเอกสาร:

sudo -E -u www-data php occ db:add-missing-indices

คำสั่งนี้จะตรวจสอบตารางฐานข้อมูลและสร้างดัชนีที่กำหนดไว้ในสคีมาแต่ไม่มีอยู่ในเวอร์ชันปัจจุบัน รอให้กระบวนการเสร็จสิ้น ในฐานข้อมูลขนาดใหญ่ กระบวนการนี้อาจใช้เวลานาน หลีกเลี่ยงการขัดจังหวะขณะที่กำลังเปลี่ยนแปลงสคีมา เอกสารของ Nextcloud ระบุว่าสามารถเรียกใช้คำสั่งนี้ได้ในขณะที่อินสแตนซ์ยังคงออนไลน์อยู่ โหมดบำรุงรักษาไม่ได้ระบุว่าเป็นข้อกำหนดเบื้องต้นสำหรับการซ่อมแซมเฉพาะนี้ ปฏิบัติตามกระบวนการควบคุมการเปลี่ยนแปลงของคุณเองหากจำเป็นต้องมีช่วงเวลาบำรุงรักษา

Docker และวิธีการติดตั้งประเภทอื่นๆ

ในการใช้งานแบบคอนเทนเนอร์ ให้รันoccภายในคอนเทนเนอร์แอปพลิเคชัน Nextcloud ไม่ใช่ในคอนเทนเนอร์ฐานข้อมูล ชื่อคอนเทนเนอร์และบริการอาจแตกต่างกัน ดังนั้นให้ตรวจสอบการใช้งานของคุณและแทนที่ด้วยชื่อที่ถูกต้อง สำหรับคอนเทนเนอร์ Docker ที่ชื่อnextcloudรูปแบบจะเป็นดังนี้:

docker exec --user www-data nextcloud php occ db:add-missing-indices

สำหรับ Docker Compose รูปแบบที่เกี่ยวข้องคือdocker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. การติดตั้งแบบแพ็กเกจบางอย่างใช้คำสั่งเฉพาะหรือผู้ใช้คอนเทนเนอร์ที่แตกต่างกัน โปรดใช้คำแนะนำสำหรับแพ็กเกจนั้นๆ โดยเฉพาะ อย่าคัดลอกชื่อคอนเทนเนอร์จากการตั้งค่าของผู้อื่นโดยไม่ตรวจสอบให้แน่ใจก่อน

หากคำสั่งล้มเหลวหรือคำเตือนยังคงอยู่

  • ไม่ได้รับอนุญาต:โปรดตรวจสอบผู้ใช้ HTTP และเส้นทางการติดตั้ง อย่าแก้ไขปัญหานี้โดยการเรียกใช้คำสั่งในฐานะ root เว้นแต่เอกสารประกอบการใช้งานของคุณจะกำหนดให้ใช้ตัวห่อหุ้มที่มีสิทธิ์พิเศษโดยเฉพาะ โดยทั่วไปแล้วกระบวนการ PHP ควรทำงานในฐานะผู้ใช้เว็บเซิร์ฟเวอร์
  • ข้อผิดพลาดในการเชื่อมต่อฐานข้อมูลหรือ PHP:ตรวจสอบบันทึกของ Nextcloud, สถานะการทำงานของบริการฐานข้อมูล, เวอร์ชัน PHP ที่กำหนดค่าไว้ และผลลัพธ์ของคำสั่ง แก้ไขปัญหาการเชื่อมต่อหรือปัญหาขณะทำงานก่อนที่จะเรียกใช้คำสั่ง schema อีกครั้ง
  • ข้อผิดพลาดเกี่ยวกับคีย์ซ้ำหรือดัชนีที่ไม่ซ้ำกัน:หยุดการทำงานและบันทึกข้อความแสดงข้อผิดพลาดทั้งหมดไว้ ข้อผิดพลาดนี้อาจบ่งชี้ถึงแถวที่มีข้อขัดแย้งซึ่งทำให้ไม่สามารถสร้างดัชนีที่ไม่ซ้ำกันได้ ระบุแอปและตารางที่ได้รับผลกระทบ ยืนยันเวอร์ชันของแอปและ Nextcloud และปรึกษาผู้ดูแลแอปหรือผู้ดูแลระบบที่คุ้นเคยกับฐานข้อมูลนั้น อย่าลบแถวหรือลบดัชนีโดยปราศจากการวินิจฉัยเฉพาะข้อมูลและการสำรองข้อมูล
  • ข้อความ "ไม่พบคำสั่ง" หรือตัวเลือกไม่รองรับ:โปรดตรวจสอบให้แน่ใจว่าคุณอยู่ในระบบ Nextcloud ที่ถูกต้อง และตรวจสอบphp occ listในphp occ help db:add-missing-indicesฐานะผู้ใช้ HTTP เวอร์ชันเก่าอาจไม่มีตัวเลือกใหม่ทั้งหมด
  • ข้อความเตือนยังคงปรากฏอยู่:โปรดรีเฟรชภาพรวมการดูแลระบบหลังจากคำสั่งทำงานเสร็จสิ้นอย่างสำเร็จ อ่านชื่อดัชนีและชื่อตารางที่ระบุในข้อความเตือนอย่างละเอียด อาจมีดัชนีหายไปมากกว่าหนึ่งรายการ ดัชนีใหม่ที่ถูกเพิ่มเข้ามาจากการอัปเดตแอป การดำเนินการฐานข้อมูลล้มเหลว หรือความไม่ตรงกันของสคีมาที่คำสั่งนี้ไม่สามารถแก้ไขได้

อย่าสับสนระหว่างดัชนีที่หายไปกับคอลัมน์หรือคีย์หลักที่หายไป เอกสารของ Nextcloud มีคำสั่งแยกต่างหากสำหรับการเปลี่ยนแปลงโครงสร้างข้อมูลเหล่านั้น เช่นdb:add-missing-columnsและdb:add-missing-primary-keysเรียกใช้คำสั่งซ่อมแซมที่แตกต่างกันเฉพาะเมื่อคำเตือนของผู้ดูแลระบบหรือเอกสารเฉพาะเวอร์ชันระบุให้ทำเช่นนั้น

ตรวจสอบผลลัพธ์

  1. รอจนกว่าdb:add-missing-indicesทางออกและรายงานจะเสร็จสมบูรณ์ เช่นDone.
  2. โหลดหน้าภาพรวมการดูแลระบบใหม่ และตรวจสอบให้แน่ใจว่าคำเตือนเกี่ยวกับดัชนีที่หายไปนั้นหายไปแล้ว
  3. หากยังคงอยู่ ให้เปรียบเทียบชื่อตารางและดัชนีกับผลลัพธ์ของคำสั่งอย่างถูกต้อง แทนที่จะรันคำสั่งซ้ำโดยไม่ตรวจสอบให้ดี
  4. ตรวจสอบบันทึกของ Nextcloud และสถานะฐานข้อมูลเพื่อหาข้อผิดพลาดใหม่ จากนั้นยืนยันว่าการเข้าถึงไฟล์ตามปกติและแอปพลิเคชันที่ใช้ตารางที่ได้รับผลกระทบยังคงทำงานได้
  5. เก็บไฟล์สำรองไว้จนกว่าระบบจะทำงานได้ตามปกติและนโยบายการเก็บรักษาข้อมูลของคุณอนุญาตให้ลบได้

สำหรับไวยากรณ์คำสั่งปัจจุบัน โปรดดูที่เอกสารอ้างอิงคำสั่งฐานข้อมูลและดัชนีของ Nextcloudสำหรับข้อกำหนดของผู้ใช้และ PHP โปรดดูที่การใช้คำสั่ง occและคู่มือการสำรองข้อมูล Nextcloudหน้าเว็บที่เสถียรเหล่านี้ระบุว่าคู่มือปัจจุบันคือ Nextcloud Server 35 เมื่อตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026 เส้นทาง ตัวเลือก และคำแนะนำในการจัดแพ็กเกจอาจแตกต่างกันในรุ่นอื่นหรือประเภทการปรับใช้

ฝากความเห็น

10 เครื่องมือ Ping Sweep ที่ดีที่สุดสำหรับการค้นหาอุปกรณ์ในเครือข่ายของคุณ

10 เครื่องมือ Ping Sweep ที่ดีที่สุดสำหรับการค้นหาอุปกรณ์ในเครือข่ายของคุณ

เปรียบเทียบเครื่องมือสแกน Ping 10 ตัว สำหรับการค้นหาเครือข่าย LAN อย่างรวดเร็ว การสแกนข้ามแพลตฟอร์ม และการจัดการที่อยู่ IP เรียนรู้ว่าการสแกน Ping สามารถบอกอะไรคุณได้บ้าง และบอกอะไรไม่ได้บ้าง

6 เครื่องมือบริหารจัดการเครือข่ายที่ดีที่สุดสำหรับการติดตามประสิทธิภาพ

6 เครื่องมือบริหารจัดการเครือข่ายที่ดีที่สุดสำหรับการติดตามประสิทธิภาพ

เปรียบเทียบเครื่องมือบริหารจัดการเครือข่าย 6 ชนิดสำหรับการตรวจสอบประสิทธิภาพ รวมถึงการครอบคลุมของ SNMP, การทำแผนที่, การแจ้งเตือน, รูปแบบการใช้งาน และข้อดีข้อเสียด้านต้นทุน

โปรแกรมวิเคราะห์ Wi-Fi ที่ดีที่สุดสำหรับ Windows, iOS และ Android

โปรแกรมวิเคราะห์ Wi-Fi ที่ดีที่สุดสำหรับ Windows, iOS และ Android

เปรียบเทียบแอปวิเคราะห์ Wi-Fi สำหรับ Windows, iPhone และ Android ซึ่งรวมถึงเครื่องมือสำหรับตรวจสอบความแออัดของช่องสัญญาณ การครอบคลุมสัญญาณ แผนที่ความร้อน และการแก้ไขปัญหาเครือข่าย

Ping Monitor: 7 เครื่องมือโอเพนซอร์สฟรีสำหรับตรวจสอบความพร้อมใช้งานของเครือข่าย

Ping Monitor: 7 เครื่องมือโอเพนซอร์สฟรีสำหรับตรวจสอบความพร้อมใช้งานของเครือข่าย

เปรียบเทียบโปรแกรมตรวจสอบค่า Ping แบบโอเพนซอร์สฟรี 7 ตัว ตั้งแต่ชุดโปรแกรมเครือข่ายแบบครบวงจรไปจนถึงโปรแกรมตรวจสอบความหน่วงแฝงโดยเฉพาะ และเลือกโปรแกรมที่เหมาะสมที่สุดตามความพร้อมใช้งาน การสูญเสียแพ็กเก็ต และประวัติการใช้งาน

QoS ในระบบเครือข่าย: คุณภาพของบริการ (Quality of Service) ทำอะไร และทำงานอย่างไร

QoS ในระบบเครือข่าย: คุณภาพของบริการ (Quality of Service) ทำอะไร และทำงานอย่างไร

เรียนรู้ความหมายของ QoS ในระบบเครือข่าย วิธีที่การกำหนดค่า DSCP และคิวการรับส่งข้อมูลจัดลำดับความสำคัญของเสียง วิดีโอ และแอปพลิเคชันทางธุรกิจ และสิ่งที่ QoS แก้ไขไม่ได้

7 เครื่องมือจัดการที่อยู่ IP ที่ดีที่สุดสำหรับทีมเครือข่าย

7 เครื่องมือจัดการที่อยู่ IP ที่ดีที่สุดสำหรับทีมเครือข่าย

เปรียบเทียบเครื่องมือจัดการที่อยู่ IP เจ็ดแบบ สำหรับการค้นหาซับเน็ต การประสานงาน DNS และ DHCP การสำรวจเครือข่าย และ IPAM แบบโอเพนซอร์ส

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบเครือข่าย: สิ่งที่ควรติดตามและเครื่องมือที่ควรใช้งาน

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบเครือข่าย: สิ่งที่ควรติดตามและเครื่องมือที่ควรใช้งาน

สร้างระบบตรวจสอบเครือข่ายที่ใช้งานได้จริง พร้อมการครอบคลุมอุปกรณ์ที่ชัดเจน ตัวชี้วัดประสิทธิภาพที่เป็นประโยชน์ การแจ้งเตือนที่นำไปปฏิบัติได้จริง และการเปรียบเทียบระหว่าง SolarWinds NPM, PRTG และ OpManager

10 เครื่องมือสแกนเครือข่ายที่ดีที่สุดสำหรับการค้นหาอุปกรณ์และที่อยู่ IP

10 เครื่องมือสแกนเครือข่ายที่ดีที่สุดสำหรับการค้นหาอุปกรณ์และที่อยู่ IP

เปรียบเทียบเครื่องมือสแกนเครือข่ายสำหรับการค้นหาอุปกรณ์อย่างรวดเร็ว การสแกน IP ข้ามแพลตฟอร์ม และระบบจัดการ IP ระดับองค์กร พร้อมคำแนะนำในการเลือกใช้แต่ละตัวเลือกให้เหมาะสมกับเครือข่ายของคุณ

วิธีใช้ Nmap สำหรับ Traceroute และอ่านเส้นทางเครือข่าย

วิธีใช้ Nmap สำหรับ Traceroute และอ่านเส้นทางเครือข่าย

ใช้ตัวเลือก --traceroute ของ Nmap เพื่อแมปฮอปไปยังโฮสต์ที่ได้รับอนุญาต ทำความเข้าใจเอาต์พุตของฮอปและ RTT และแก้ไขปัญหาการตอบสนองที่หายไปโดยไม่ต้องสแกนมากเกินไป

10 เครื่องมือสแกนและวิเคราะห์ไร้สายที่ดีที่สุดสำหรับ Windows, iOS และ Android

10 เครื่องมือสแกนและวิเคราะห์ไร้สายที่ดีที่สุดสำหรับ Windows, iOS และ Android

เปรียบเทียบเครื่องมือสแกนและวิเคราะห์เครือข่ายไร้สาย 10 รายการสำหรับ Windows, iOS และ Android พร้อมคำอธิบายที่ชัดเจนเกี่ยวกับช่องสัญญาณ Wi-Fi แผนที่ครอบคลุม การตรวจสอบ LAN และข้อจำกัดของแต่ละแพลตฟอร์ม