Reparar um banco em sqlite3 asterisk astdb

Ao tentar conectar no asterisk tenho a mensagem:
[root@ ~]# asterisk -r
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

Quando tendo acessar com asterisk -vvvvvvvvvvgc tenho a mensagem abaixo.

Erro deparado após um pique de energia:
[Mar 7 11:21:09] WARNING[2320]: db.c:135 init_stmt: Couldn’t prepare statement ‘CREATE TABLE IF NOT EXISTS astdb(key VARCHAR(256), value VARCHAR(256), PRIMARY KEY(key))': disk I/O error
[Mar 7 11:21:09] WARNING[2320]: db.c:210 db_create_astdb: Couldn’t create astdb table: disk I/O error

Solução:
Foi necessário reparar o bando de dados do asterisk utilizando

echo .dump | sqlite3 /var/lib/asterisk/astdb.sqlite3 > /var/lib/asterisk/astdb.sqlite3_DUMP

sqlite3 -init /var/lib/asterisk/astdb.sqlite3_DUMP /var/lib/asterisk/astdb.sqlite3_FIXED;

mv /var/lib/asterisk/astdb.sqlite3 /var/lib/asterisk/astdb.sqlite3_error

mv /var/lib/asterisk/astdb.sqlite3_FIXED /var/lib/asterisk/astdb.sqlite3

Deixe uma resposta