![데이터베이스 손상 - 디스크 이미지 형식이 잘못됨 - Unraid - Plex](https://rvso.com/image/1684229/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EC%86%90%EC%83%81%20-%20%E2%80%8B%E2%80%8B%EB%94%94%EC%8A%A4%ED%81%AC%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%ED%98%95%EC%8B%9D%EC%9D%B4%20%EC%9E%98%EB%AA%BB%EB%90%A8%20-%20Unraid%20-%20Plex.png)
SQLite를 활용하는 Plex Media Server 컨테이너가 있는 Unraid Linux 서버에서 발생한 질문이기 때문에 이와 같은 질문이 실제로 어디에 속하는지 잘 모르겠습니다(루트 수준에서 문제 해결 찾기). Unraid와 Plex 포럼에 모두 운 없이 글을 올렸습니다.
내 Plex 컨테이너는 Unraid에서 몇 번이고 실패하여 무결성 검사, 재구축, 덤프, 가져오기 및 전체 지우기 및 다시 시작(이전 디렉터리를 완전히 제거하고 다시 시작)을 수행했습니다. 기껏해야 컨테이너가 다시 실패하기 전에 몇 분 동안 작동합니다. 수신되는 오류가 변경되었지만 마지막 상황(새 컨테이너 완전 삭제 및 재설치) 현재 출력 로그에 다음 오류가 표시됩니다.
오류: 서버를 설정할 수 없습니다: sqlite3_statement_backend::loadOne:데이터베이스 디스크 이미지 형식이 잘못되었습니다(N4soci10soci_errorE).
나는 데이터베이스를 내 Windows 컴퓨터에 복사하고 데이터베이스를 둘러보며 구조를 더 잘 이해하기로 결정했습니다. 라는 테이블을 보면media_items같은 오류가 발생합니다.
분명히 내가 메인 테이블이라고 생각하는 것 중 하나가 손상되었습니다. 그렇다면 제가 가진 질문은 이 문제를 해결하거나 원인을 알아보기 위해 무엇을 할 수 있느냐는 것입니다. 나는 완전히 새로운 데이터베이스가 내 문제를 해결할 것이라고 생각했을 것입니다. 순전히 우연의 일치가 아니라면 두 개의 연속 데이터베이스가 연결도 없이 접촉하기도 전에 손상되었습니다. 내 미디어 파일 중 하나일까요? 언레이드가 될까요? 내 하드 드라이브 때문일까요?
상황에 따라 Plex에 익숙하지 않은 경우. 컨테이너가 작동되면 내 미디어 라이브러리를 스캔하고 메타데이터, 포스터, 시청 상태, 등급 등과 같은 데이터로 채웁니다. 완전 자동화된 빌드를 완료하고 30분 이내에 라이브러리를 사용자 정의하기 전에 분리됩니다. .
다음은 문제 해결 전반에 걸쳐 여러 시나리오에서 사용한 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
몇 시간, 며칠, 일주일 동안 온갖 종류의 문제를 해결했습니다. 도커 이미지 재설정(게시물에 언급된 다른 항목 포함)을 포함하려면 다른 포럼에서 memtest를 실행하는 것이 제안되었습니다. 부팅 가능한 USB에 memtest를 설치하자 즉시 스틱 하나가 불량이라는 결론을 내릴 수 있었습니다. 해당 스틱을 제거하면 아무런 문제도 발생하지 않으며 모든 것이 완전히 정상입니다... 이상합니다.