eMMC를 사용하는 Beaglebone 임베디드 Linux 시스템에서 정전이 발생하면 SQLite 데이터베이스의 무결성을 테스트합니다. 임베디드 시스템에서 SQLite 데이터베이스 손상
나는PRAGMA synchronous = FULL
PRAGMA journal_mode = WAL
와 데이터베이스를 구성하고 전원이 릴레이에 의해 절단되는 동안 데이터베이스에 기록을 유지. 이 테스트는 몇 시간 동안 자동으로 실행됩니다. 잠시 후
, 데이터베이스는 다음과 같은 오류가 손상되면 :integrity_check을 : *** 주요 데이터베이스에 *** 페이지 50861을 : btreeInitPage은() 트리 페이지 50820 전지에 오류 코드 (11) 를 반환 (83) : 하위 페이지 깊이가 다른 페이지 50862 : btreeInitPage()는 오류 코드 11 페이지 50863을 반환 btreeInitPage() 반환 오류 코드 11 페이지 50865 : btreeInitPage()가 반환하는 오류 코드 (11) btreeInitPage()는 오류 코드 11 페이지 50864을 반환 페이지 50866 : btreeInitPage() 오류 코드 11을 반환합니다. 페이지 50867 : btreeInitPage()가 반환합니다. 오류 코드 11 페이지 50868은 : btreeInitPage()는 오류 코드 11 페이지 50869 반환 btreeInitPage() 반환 오류 코드를 11 페이지 50870 : btreeInitPage()가 오류 코드 11 페이지 50872을 반환 btreeInitPage()는 오류 코드 11 페이지 50871 반환 : btreeInitPage는() 오류 코드 (11) 페이지 50873을 반환
https://www.sqlite.org/howtocorrupt.html : 하위 페이지 깊이 내가 SQLite는 대한 다음 기사를 읽었습니다
을 다릅니다 btreeInitPage은() 50,820 전지 (96)는 트리 페이지에서 오류 코드 (11) 를 반환
https://www.sqlite.org/atomiccommit.html
데이터베이스 손상을 방지하려면 어떻게해야합니까?
가능하지 않은 경우 데이터 손실에 신경 쓰지 않아 어떤 옵션이 있습니까?
ext3 파티션을 사용하면 데이터베이스 손상 문제가 해결되었습니다. 하지만 플래시 칩이 관련없는 섹터를 부패시킬 수도 있다는 당신의 말이 맞습니다. – Vincent