jtablesession::Store Failed [risoluzione problema tabella jos_session]

PhpMyAdmin-LogoUtilizzando il CMS Joomla può capitare di trovarsi il sito offline a causa di un problema nella tabella che registra le sessioni dei visitatori. Quando questo accade viene visualizzato a video un messaggio simile a questo:

jtablesession::Store Failed
DB function failed with error number 145
Table ‘./NOMEDATABASE/jos_session’ is marked as crashed and should be repaired SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ‘c5ljrjncses1mqk6r0k5jobg53′,’1356707652′,”,’0′,’1′,’0’ )

Per ripristinare la visibilità del sito è necessario riparare la tabella jos_session, operazione che si può eseguire tramite l’applicativo phpMyAdmin a cui si accede solitamente dal pannello di amministrazione del dominio PLESK o CPanel.

Entrati in phpMyAdmin e visualizzato l’elenco delle tabelle, si noterà che diversamente dalle altre tabelle la tabella jos_session è “in uso” come riportato nella immagine qui sotto (clicca sulle immagini per ingrandirle):

jos_session-1

Per sbloccare la tabella è necessario ripararla, quindi una volta che è stata inserita la spunta nel box di sinistra, come riportato nella immagine di sopra, si deve far scorrere la pagina fino in fondo per arrivare al menu a tendina e selezionare “Ripara tabella”:

 jos_session-2

Se non vengono riportati altri errori la tabella è riparata e la visibilità del sito ripristinata.

Per evitare l’insorgere di questi problemi, dovuti alla frammentazione delle tabelle, sarebbe buona norma procedere periodicamente alla ottimizzazione del database: questa semplice operazione, eseguita sempre tramite phpMyAdmin selezionando tutte le tabelle e poi scegliendo “Ottimizza tabella” dal menu a tendina, deframmenta le tabelle del database riducendo la loro dimensione così che la navigazione del proprio sito migliorerà in quanto le query saranno eseguite più rapidamente.

5 pensieri riguardo “jtablesession::Store Failed [risoluzione problema tabella jos_session]

  • 16 febbraio 2013 in 14:38
    Permalink

    Quel’errore io lo ricevo su http://www.squeezepoker.com perchè non riesco a importare il database cambiando server.

    qui l’errore che ricevo sulla pagina web:
    jtablesession::Store Failed
    DB function failed with error number 1146
    Table ‘1287707_squeeze.jos_session’ doesn’t exist SQL=INSERT INTO jos_session ( session_id,time,username,gid,guest,client_id ) VALUES ( ‘472f2ebf012143c198a7169a79c39aea’,’1361020533′,”,’0′,’1′,’0′ )
    Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 3 bytes) in ……/squeezepoker.com/libraries/joomla/error/exception.php on line 117

    e questo ‘lerrore in fase di importazione del db sql su phpmyadmin:
    Errore

    Query SQL:


    — Database: squeezepoker_com

    — ——————————————————–

    — Struttura della tabella jos_ak_profiles

    CREATE TABLE IF NOT EXISTS jos_ak_profiles (
    id int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
    description varchar( 255 ) NOT NULL ,
    configuration longtext,
    filters longtext,
    PRIMARY KEY ( id )
    ) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =2;

    Messaggio di MySQL: Documentazione
    #1046 – No database selected

    • 16 febbraio 2013 in 15:38
      Permalink

      C’è anche l’errore “Fatal error: Allowed memory size of 67108864 bytes exhausted ” da tenere conto, che vuol dire che la memoria a disposizione si esaurisce prima di aver terminato lo script (cioè, lo script avrebbe bisogno di più memoria a disposizione, più di 64Kb).

      Direi che per prima cosa si deve risolvere questo, poi – nel caso prosegua l’errore – si vedrà di mettere mani a questa tabella.

  • 12 aprile 2013 in 20:32
    Permalink

    Ciao. Conosci un modo per ottimizzare automaticamente le tabelle del database ogni tot tempo da me stabilito? Grazie

  • Pingback:Come ottimizzare il database MySQL

Lascia un commento