إصلاح تحذير Nextcloud "قاعدة البيانات تفتقد بعض الفهارس"

عند فتح نظرة عامة على إدارة Nextcloud، قد يظهر لك التحذير التالي: "قاعدة البيانات تفتقر إلى بعض الفهارس". قد يظهر هذا التحذير بعد الترقية لأن Nextcloud يُضيف فهارس جديدة إلى الجداول الموجودة بمرور الوقت، ولا يقوم بإنشائها تلقائيًا دائمًا في قواعد البيانات الكبيرة. قد يؤدي فقدان الفهارس إلى إبطاء بعض استعلامات قاعدة البيانات. يُمكنك استخدام الأمر المدمج لإصلاح هذه المشكلة occ db:add-missing-indices.

قبل تغيير المخطط، تأكد من تشغيل الأمر الخاص بتثبيت Nextcloud الصحيح، وقم بعمل نسخة احتياطية من قاعدة البيانات، واستخدم حساب مستخدم نظام التشغيل الخاص بخادم الويب. في الإصدارات التي يدعمها الأمر، استعرض استعلام SQL المقترح --dry-run. ثم قم بتشغيل عملية الإصلاح وتحقق من نظرة عامة على الإدارة مرة أخرى.

ماذا يعني التحذير؟

فهرس قاعدة البيانات هو بنية تساعد قاعدة البيانات في العثور على الصفوف دون الحاجة إلى فحص الجدول بأكمله. تُعرّف Nextcloud وتطبيقاتها فهارس للجداول والحقول التي تستخدمها. عندما يُضيف إصدار أحدث من Nextcloud أو التطبيق فهرسًا غير موجود في التثبيت الحالي، قد تُبلغ صفحة الإدارة عن هذا التباين. هذا تحذير لصيانة المخطط، ولا يعني بالضرورة أن قاعدة البيانات تالفة أو أن ملفات المستخدم مفقودة.

يشير دليل إدارة Nextcloud إلى إمكانية إضافة الفهارس تدريجيًا، بما في ذلك لتحسين الأداء، ويوجه المسؤولين إلى تشغيل الأمر المناسب occ db:add-missing-indices. قد تستغرق إضافة الفهرس وقتًا، خاصةً مع الجداول الكبيرة، وقد يختلف حمل قاعدة البيانات أو سلوك التأمين باختلاف محرك قاعدة البيانات وحجم العمل. لذا، يُنصح بتخطيط التغيير خلال فترة انخفاض الاستخدام إذا كان خادمك مشغولًا.

قبل إجراء عملية الإصلاح

  • تأكد من مسار التثبيت والإصدار. قم بتشغيل الأوامر من الدليل الذي يحتوي على occبرنامج التثبيت المطلوب، أو قم بتوفير مساره الكامل.
  • قم بعمل نسخة احتياطية من قاعدة البيانات. استخدم إجراء النسخ الاحتياطي المعتاد لقواعد بيانات MariaDB/MySQL أو PostgreSQL أو SQLite. تأكد من اكتمال عملية النسخ الاحتياطي وأنك تعرف كيفية استعادتها.
  • ابحث عن مستخدم HTTP. استخدم الحساب الذي يُشغّل خادم الويب الخاص بـ Nextcloud. توجد أمثلة شائعة www-dataعلى أنظمة Debian أو Ubuntu، apacheوFedora أو CentOS، httpوArch، و wwwrunopenSUSE. قد يختلف التوزيع لديك.
  • تحقق من خيارات الأوامر. راجع دليل إدارة Nextcloud 35 المستقر --dry-run. إذا لم يتعرف الإصدار المثبت لديك على الخيار، فراجع occ db:add-missing-indices --helpمخرجات ذلك الإصدار وتجاوز المعاينة بدلاً من افتراض وجوده.

يُفصّل دليل النسخ الاحتياطي الرسمي قاعدة البيانات، والإعدادات، ودليل البيانات، ومكونات التثبيت الأخرى التي يجب الاحتفاظ بها لإجراء نسخ احتياطي كامل. ولإجراء هذه العملية، يُنصح على الأقل بعمل نسخة احتياطية مُختبرة لقاعدة البيانات باستخدام الإجراء المناسب لها.

الخطوة 1: افتح نافذة طرفية في تثبيت Nextcloud

لتثبيت نظام لينكس تقليدي، اتصل بالخادم عبر SSH وانتقل إلى مجلد Nextcloud. المسار الشائع في أوبونتو هو `///` /var/www/nextcloud، ولكن استخدم المسار الموجود على خادمك.

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

تأكد من أن مخرجات الحالة تُحدد النسخة المُثبّتة المتوقعة. إذا كنت تستخدم إصدار PHP مختلفًا لخادم الويب عن الإصدار الافتراضي في سطر الأوامر php، فاستخدم نفس إصدار PHP المتوافق occ. يُساعد التشغيل occكمستخدم HTTP في الحفاظ على ملكية الملفات والأذونات المتوقعة.

الخطوة الثانية: معاينة تغييرات الفهرس

إذا كان الإصدار المثبت لديك يدعم ذلك، فقم بتشغيل التجربة الأولية أولاً:

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 ومسار التثبيت. لا تحل هذه المشكلة بتشغيل الأمر بصلاحيات المستخدم الجذر إلا إذا كانت وثائق النشر الخاصة بك تتطلب تحديدًا استخدام برنامج وسيط ذي صلاحيات؛ يجب تشغيل عملية PHP عادةً باستخدام حساب مستخدم خادم الويب.
  • خطأ في الاتصال بقاعدة البيانات أو خطأ في PHP: تحقق من سجل Nextcloud، وحالة خدمة قاعدة البيانات، وإصدار PHP المُكوّن، ومخرجات الأمر. حلّ مشكلة الاتصال أو مشكلة وقت التشغيل الأساسية قبل إعادة تشغيل أمر المخطط.
  • خطأ في المفتاح المكرر أو الفهرس الفريد: توقف واحتفظ بنص الخطأ كاملاً. قد يشير هذا الخطأ إلى وجود صفوف متضاربة تمنع إنشاء فهرس فريد. حدد التطبيق والجدول المتأثرين، وتأكد من إصداري التطبيق وNextcloud، واستشر مسؤول التطبيق أو مسؤول نظام مُلمّ بقاعدة البيانات. لا تحذف الصفوف أو تُسقط الفهارس دون تشخيص دقيق للبيانات ونسخة احتياطية.
  • "الأمر غير موجود" أو خيار غير مدعوم: تأكد من أنك تستخدم تثبيت Nextcloud الصحيح، وتحقق php occ listمن php occ help db:add-missing-indicesصلاحيات المستخدم HTTP. قد لا تعرض الإصدارات القديمة جميع الخيارات الأحدث.
  • لا يزال التحذير يظهر: قم بتحديث نظرة عامة على الإدارة بعد انتهاء الأمر بنجاح. اقرأ أسماء الفهارس والجداول المذكورة في التحذير بدقة. قد يكون هناك أكثر من فهرس مفقود، أو فهرس جديد ناتج عن تحديث تطبيق، أو عملية فاشلة في قاعدة البيانات، أو عدم تطابق في المخطط لم يحلّه هذا الأمر.

لا تخلط بين الفهارس المفقودة والأعمدة أو المفاتيح الأساسية المفقودة. توفر Nextcloud أوامر منفصلة لتلك التغييرات في المخطط، مثل `resource` db:add-missing-columnsو`resource` 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؛ قد تختلف المسارات والخيارات وتعليمات التغليف في الإصدارات الأخرى أو أنواع النشر.

اترك تعليقاً

حل مشكلة ارتفاع استهلاك وحدة المعالجة المركزية في تطبيق Jitsi Meet على متصفحات المستخدمين

حل مشكلة ارتفاع استهلاك وحدة المعالجة المركزية في تطبيق Jitsi Meet على متصفحات المستخدمين

قم بتشخيص ارتفاعات وحدة المعالجة المركزية في متصفح Jitsi Meet وقلل من حمل العميل عن طريق فحص مربعات الفيديو وتأثيرات الكاميرا ورسومات المتصفح وإعدادات المضيف.

كيفية مراقبة مقاييس Jitsi Videobridge باستخدام Prometheus و Grafana

كيفية مراقبة مقاييس Jitsi Videobridge باستخدام Prometheus و Grafana

تتبع حالة Jitsi Videobridge، وحمل المؤتمرات، وحركة المرور باستخدام نقطة نهاية Prometheus المدمجة، ثم استكشف البيانات وارسمها بيانيًا في Grafana.

كيفية إعداد اسم نطاق مخصص لـ Jitsi Meet Docker

كيفية إعداد اسم نطاق مخصص لـ Jitsi Meet Docker

قم بتكوين نطاق مخصص لـ Jitsi Meet Docker باستخدام DNS و PUBLIC_URL و HTTPS و Let's Encrypt ومنافذ جدار الحماية وإعدادات NAT والتحقق من طرف إلى طرف.

حل مشكلة عدم العثور على لوحة تحكم Zimbra الإدارية (404) بعد تجديد شهادة SSL

حل مشكلة عدم العثور على لوحة تحكم Zimbra الإدارية (404) بعد تجديد شهادة SSL

قم بإصلاح أخطاء 404 في وحدة تحكم إدارة Zimbra بعد تجديد شهادة SSL عن طريق التحقق من عنوان URL والمنفذ الصحيحين، وتوجيه الوكيل، وحالة الخدمة، والشهادات المنشورة، والسجلات.

إصلاح تحذير Nextcloud "لم يتم تكوين PHP OPcache بشكل صحيح"

إصلاح تحذير Nextcloud "لم يتم تكوين PHP OPcache بشكل صحيح"

تعرف على كيفية تشخيص وإصلاح تحذير تكوين PHP OPcache الخاص بـ Nextcloud عن طريق التحقق من إعدادات PHP SAPI النشطة، وحدود الحجم، والتعليقات، وإعادة التحقق.

إصلاح أخطاء ترحيل قاعدة بيانات Kopano بعد ترقية إصدار MySQL

إصلاح أخطاء ترحيل قاعدة بيانات Kopano بعد ترقية إصدار MySQL

قم باستكشاف أخطاء ترحيل قاعدة بيانات Kopano وإصلاحها بعد ترقية MySQL أو MariaDB عن طريق التحقق من النسخ الاحتياطية، وإصدارات الخادم، وأوضاع SQL، ومجموعة الأحرف، وحالة المخطط، والسجلات.

كيفية إعداد مصادقة LDAP و Active Directory في Nextcloud

كيفية إعداد مصادقة LDAP و Active Directory في Nextcloud

قم بتوصيل Nextcloud بـ LDAP أو Active Directory باستخدام النقل الآمن، وفلاتر المستخدم والمجموعة، وسمات تسجيل الدخول، وعملية نشر تم اختبارها.

إصلاح إشعارات Element لنظام Android بدون خدمات Google: دليل UnifiedPush

إصلاح إشعارات Element لنظام Android بدون خدمات Google: دليل UnifiedPush

إصلاح إشعارات Element Android على الهواتف التي تم إلغاء خدمة Google منها عن طريق تكوين UnifiedPush، وأذونات Android، وإعدادات البطارية، واختبارات التحقق الموثوقة.

إصلاح تحذير Nextcloud "قاعدة البيانات تفتقد بعض الفهارس"

إصلاح تحذير Nextcloud "قاعدة البيانات تفتقد بعض الفهارس"

قم بإزالة تحذير فهارس قاعدة البيانات المفقودة في Nextcloud باستخدام أمر occ الرسمي. قم بعمل نسخة احتياطية أولاً، ثم استعرض التغييرات، وقم بتشغيل عملية الإصلاح، وتحقق من النتيجة.

كيفية إعداد تسجيل الدخول الموحد (SSO) باستخدام Keycloak في Element Web

كيفية إعداد تسجيل الدخول الموحد (SSO) باستخدام Keycloak في Element Web

قم بتكوين Keycloak SSO لـ Element Web عن طريق ربط OIDC بـ Synapse، وتعيين عنوان URL لإعادة الاتصال بدقة، وتعيين مطالبات المستخدم، واختبار تسجيل الخروج.