我不確定這樣的問題到底在哪裡,因為它來自 Unraid Linux 伺服器,並且有 Plex Media Server 容器,它利用 SQLite(在根層級尋找故障排除)。我已經在 Unraid 和 Plex 論壇上發文了,但沒有成功。
我的 Plex 容器在 Unraid 上一次又一次失敗,導致我執行完整性檢查、重建、轉儲、導入以及完全擦除和重新啟動(完全刪除舊目錄並重新開始)。最多我可以在容器再次失敗之前將其啟動幾分鐘。我收到的錯誤已更改,但截至最後一種情況(完全擦除並重新安裝新容器),我在輸出日誌中收到以下錯誤:
錯誤:無法設定伺服器:sqlite3_statement_backend::loadOne:資料庫磁碟映像格式錯誤 (N4soci10soci_errorE)
我決定將資料庫複製到我的 Windows 電腦上,並瀏覽資料庫以更好地了解其結構。查看名為的表後媒體專案我犯了同樣的錯誤。
顯然,我認為的主表之一已損壞。那麼我的問題是,我是否可以做些什麼來嘗試解決這個問題或了解原因?我以為一個全新的資料庫可以解決我的問題,除非這純粹是巧合,兩個背對背的資料庫在我接觸它們之前就損壞了,沒有任何連接。它可能是我的媒體檔案之一嗎?會不會是Unraid?會不會是我的硬碟的問題?
如果不熟悉 Plex,請了解上下文。容器啟動後,它會掃描我的媒體庫並在其中填充元數據、海報、觀看狀態、評級等數據。定義我的媒體庫。
以下是我在整個故障排除過程中在多個場景中使用的 bash 行的參考。可能對某個地方的某人有用。
完整性檢查:
./Plex\ SQLite "$plexDB" "PRAGMA integrity_check"
從備份還原:
./Plex\ SQLite "$plexDB" ".output recover.out" ".recover"
傾倒:
./Plex\ SQLite "$plexDB" ".output dump.sql" ".dump"
進口:
./Plex\ SQLite "$plexDB" ".read dump.sql"
答案1
經過幾個小時、幾天、一週的各種故障排除。為了包括重置 docker 映像(以及在帖子中提到的其他映像),另一個論壇建議運行 memtest。將 memtest 放在可啟動 USB 上,我立即得出結論,其中一根棒是壞的。取下那根棍子後,我的問題為零,完全都很好......奇怪。