Got error 28 from storage engine

MySQL, PostgreSQL, SQLite
typolos
Posts: 57
Joined: 2003-03-26 18:44

Got error 28 from storage engine

Post by typolos » 2005-11-14 12:17

Hallo

Seid heute bekomme ich bei bestimmten Abfragen folgende Fehlermeldung: Got error 28 from storage engine

Das soll ja wohl so viel heißen das kein Platz auf der Festplatte vorhanden ist. Aber ein df -h zeigt das in allen Bereichen noch ausreichend Platz vorhanden ist. Kann mir jemand näheres zu diesem Problem sagen?

MfG
Christian S.

chris76
Moderator
Moderator
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: Got error 28 from storage engine

Post by chris76 » 2005-11-14 12:31

präzisiere deine Frage mal. Welche Abfrage, Version etc pp.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Got error 28 from storage engine

Post by Joe User » 2005-11-14 12:34

Code: Select all

mount; df -hT
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

typolos
Posts: 57
Joined: 2003-03-26 18:44

Re: Got error 28 from storage engine

Post by typolos » 2005-11-14 13:23

Hallo

ich versuche mal etwas präziser zu werden. Es ist immer mal wieder eine andere Abfrage, ich habe festgestellt das es nicht an der Abfrage liegt sondern an der Anzahl der angesprochenen Datensätze. Ich glaube auch nicht das es an den Querys selber liegt. Sondern das irgendeine Cache Datei zu klein ist oder aber der Platz auf der diese Datei liegt nicht ausreicht. Leider weiß ich nicht welche Datei dies ist bzw. wo diese Liegt. Ich benutze eine mySQL 4.1.11-standard Version auf eineer Suse Linux 10 - Confixx 3.0 Umgebung (Standard Installation von 1und1).

Code: Select all

p15141715:/tmp # mount
LABEL=/ on / type ext3 (rw)
proc on /proc type proc (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hda5 on /usr type xfs (rw)
/dev/hda6 on /var type xfs (rw,usrquota)
/dev/hda7 on /home type xfs (rw,usrquota)
tmpfs on /tmp type tmpfs (rw)

p15141715:/tmp # df -hT
Filesystem    Type    Size  Used Avail Use% Mounted on
LABEL=/       ext3    496M  186M  286M  40% /
tmpfs        tmpfs     20M     0   20M   0% /dev/shm
/dev/hda5      xfs    4.9G  730M  4.2G  15% /usr
/dev/hda6      xfs    4.9G  380M  4.6G   8% /var
/dev/hda7      xfs     27G  1.4G   25G   6% /home
tmpfs        tmpfs    122M   28K  122M   1% /tmp
Danke für Hilfe
Christian S.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Got error 28 from storage engine

Post by Joe User » 2005-11-14 15:16

Führe mal ein "repair table" für die betroffene Tabelle aus.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

typolos
Posts: 57
Joined: 2003-03-26 18:44

Re: Got error 28 from storage engine

Post by typolos » 2005-11-14 16:45

Führe mal ein "repair table" für die betroffene Tabelle aus.
Leider ohne Erfolg, Problem besthet immer noch.

outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City

Re: Got error 28 from storage engine

Post by outofbound » 2005-11-14 16:54

Ã?ber welche Datenmengen reden wir hier? Und was für selects?

typolos
Posts: 57
Joined: 2003-03-26 18:44

Re: Got error 28 from storage engine

Post by typolos » 2005-11-14 18:45

Hier mal eine Query per der das Problem auftrat :

Code: Select all

select  
tbl_items.*, 
tbl_item2distributoren.fld_number, 
count(DISTINCT tbl_shopping2product.fld_id) as anzahl_bestellt,
count(DISTINCT gelieferte.fld_id) as anzahl_gelieferte,
tbl_shopping2product.fld_wp as ek,
tbl_shopping2product.fld_allowance,
tbl_shopping2product.fld_shipmentdate,
tbl_shopping2product.fld_cancelid
from 
tbl_items,
tbl_item2distributoren,
tbl_shopping2product,
tbl_shopping 
left outer join 
tbl_shopping2product as gelieferte
on gelieferte.fld_shoppingid = 212
and gelieferte.fld_itemid = tbl_items.fld_itemid
and gelieferte.fld_shipmentid != 0
and gelieferte.fld_wp = tbl_shopping2product.fld_wp
and gelieferte.fld_allowance = tbl_shopping2product.fld_allowance
where 
tbl_shopping.fld_shoppingid = tbl_shopping2product.fld_shoppingid
and 
tbl_shopping2product.fld_itemid= tbl_items.fld_itemid
and 
tbl_item2distributoren.fld_itemid =tbl_shopping2product.fld_itemid
and 
tbl_item2distributoren.fld_partnerid = tbl_shopping.fld_partnerid
and 
tbl_shopping.fld_shoppingid = 212
group by 
tbl_items.fld_itemid,
tbl_shopping2product.fld_wp,
tbl_shopping2product.fld_allowance,
tbl_shopping2product.fld_cancelid
order by 
tbl_items.fld_itemname
Zum Thema Datenmenge ist es schwer etwas zu sagen, hier im diesem Fall hätten 3 Zeilen raus kommen müsen, wo aber in 1 Zeile z.B. 1.000 Zeilen gruppiert werden (anzahl_gelieferte).

Hoffe das hilft, allerdings habe ich die Datenbank samt komplette Inhalt auf einem anderen Server mit ebenfalls mysql 4.1.1 gestestet und da lief es ohne Probleme. Deswegen gehe ich davon aus das es weder an die Querys noch an die gesetzten Indizes liegt. Bin aber für jeden Tipp dankbar.

teratec
Posts: 8
Joined: 2003-10-22 23:09

28 when fixing table

Post by teratec » 2005-11-29 11:29

Hallo,

ich habe ein ähnliches Problem. Nutze MySQL 4.0 und wenn ich mit phpMyAdmin versuche eine bestimmte Tabelle (ca. 175MB) zu reparieren, erhalte ich folgende Fehlermeldung:

usr_web1_1.Items repair error 28 when fixing table
usr_web1_1.Items repair error Can't copy datafile-header to tempfile, error 9
usr_web1_1.Items repair status Operation failed

Fehlermeldung "28" heißt wohl, daß nicht genügend Speicherplatz zur Verfügung steht.

Wie kann ich für MySQL ein anderes tmp-Verzeichnis angeben?

Das ganze System läuft auf einem 1&1 Root-Server mit Plesk und Suse-Linux 9.1. So wie ich das sehe, ist im Auslieferungszustand der Server sehr schlecht konfiguriert. Bin jetzt seit 1 Woche dabei, den Server anständig ans Laufen zu bekommen.

Für jeden Tipp bezüglich der tmp-Datei wäre ich sehr dankbar!