Pokertracker: vacuum/analyze funzt nicht mehr! HILFE

    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      Wollte gerade wieder mal meine Datenbanken komprimieren. Doch leider bekomme ich diese Fehlermeldung:


      Ansonsten hab ich keine Probleme mit den Datenbanken, kann sie ganz normal öffnen, verwalten, hände einlesen, usw. Habe vor einiger Zeit die Datenbanken auf ne andere Festplatte verschoben. Hat es vllt damit etwas zu tun?

      edit: backup funzt auch nicht mehr...
  • 22 Antworten
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      push
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      help
    • Oekonom
      Oekonom
      Bronze
      Dabei seit: 02.05.2006 Beiträge: 592
      versuch es mal über den pgp admin.
      da kannst du auch die datenbank komprimieren, soweit ich weiss.
    • Cifer
      Cifer
      Bronze
      Dabei seit: 29.01.2006 Beiträge: 1.974
      wenn du die datenbank einfach so verschoben hast, findet die natürlich pt nicht mehr. genauso dürfte pgadmin die datenbank nicht finden
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      Original von Cifer
      wenn du die datenbank einfach so verschoben hast, findet die natürlich pt nicht mehr. genauso dürfte pgadmin die datenbank nicht finden
      ne ich habs nach der anleitung hier im forum gemacht, also mit registry eintrag ändern usw. pt finded sie schon aber halt nich beim komprimieren...
      was ist ein pgp admin?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      ne ich habs nach der anleitung hier im forum gemacht, also mit registry eintrag ändern usw. pt finded sie schon aber halt nich beim komprimieren...
      Die Fehlermeldung ist ziemlich eindeutig. Er findet die Dateien, in der eine bestimmte Tabelle abgelegt ist nicht mehr auf der Festplatte. Das kann aber auch bedeuten, dass er keine Rechte auf das File hat. ßberprüfe doch mal, ob der Datenbankbenutzer auf alle Dateien/Ordner im Ordner "data" Vollzugriff hat.

      Das du bisher noch keine Fehlermeldung bekommen hast liegt wohl daran, dass genau diese Tabelle so gut wie nie benutzt wird.


      was ist ein pgp admin?
      PgAdmin ist ein Programm um PostgreSQL Datenbanken zu administrieren.

      Gruss,
      Alex
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      Original von Temar
      Original von infernogott
      ne ich habs nach der anleitung hier im forum gemacht, also mit registry eintrag ändern usw. pt finded sie schon aber halt nich beim komprimieren...
      Die Fehlermeldung ist ziemlich eindeutig. Er findet die Dateien, in der eine bestimmte Tabelle abgelegt ist nicht mehr auf der Festplatte. Das kann aber auch bedeuten, dass er keine Rechte auf das File hat. ßberprüfe doch mal, ob der Datenbankbenutzer auf alle Dateien/Ordner im Ordner "data" Vollzugriff hat.

      Das du bisher noch keine Fehlermeldung bekommen hast liegt wohl daran, dass genau diese Tabelle so gut wie nie benutzt wird.


      was ist ein pgp admin?
      PgAdmin ist ein Programm um PostgreSQL Datenbanken zu administrieren.

      Gruss,
      Alex
      wo kann ich das nachschauen ob der datenbankbenutzer vollzugriff hat?
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm mit pgadmin kommt derselbe fehler. wie geht das mit den rechten?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      hm mit pgadmin kommt derselbe fehler. wie geht das mit den rechten?
      Du benötigst für Windows XP Home ein spezielles Tool, welches den Sicherheitsreiter sichtbar macht. Steht mittlerweile alles im "PostgreSQL verschieben" Thread:
      PostgreSQL Datenbanken verschieben?

      Wenn's Probleme gibt, einfach nochmal melden.
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm ich hab win 2k und da kann man das auch so machen, also das mit den rechten müsste eigentlich stimmen. hier mal die postgres log von gestern (wo das prob zum ersten mal auftrat):


      2006-09-12 15:36:28 LOG: database system was shut down at 2006-09-12 15:35:20 Westeuropäische Sommerzeit
      2006-09-12 15:36:32 LOG: checkpoint record is at 5/10C07130
      2006-09-12 15:36:32 LOG: redo record is at 5/10C07130; undo record is at 0/0; shutdown TRUE
      2006-09-12 15:36:32 LOG: next transaction ID: 671899; next OID: 59189
      2006-09-12 15:36:32 LOG: database system is ready
      2006-09-12 16:12:19 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:12:19 ERROR: relation "error_msgs" already exists
      2006-09-12 16:12:19 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:12:19 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:12:19 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:13:26 ERROR: could not open relation 1663/17413/17170: No such file or directory
      2006-09-12 16:13:33 ERROR: could not open relation 1663/59001/17170: No such file or directory
      2006-09-12 16:13:42 ERROR: could not open relation 1663/17253/17170: No such file or directory
      2006-09-12 16:14:04 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:14:04 ERROR: relation "error_msgs" already exists
      2006-09-12 16:14:04 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:14:04 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:14:04 ERROR: duplicate key violates unique constraint "poker_sites_idx_01"
      2006-09-12 16:14:26 ERROR: could not open relation 1663/17253/17170: No such file or directory
      2006-09-12 16:30:58 ERROR: could not open relation 1663/17253/16388: No such file or directory
      2006-09-12 16:31:25 ERROR: could not open relation 1663/17253/16388: No such file or directory
      2006-09-12 16:31:46 ERROR: could not open relation 1663/59001/16388: No such file or directory
      2006-09-12 18:54:17 LOG: received fast shutdown request
      2006-09-12 18:54:17 LOG: shutting down
      2006-09-12 18:54:35 LOG: database system is shut down
      2006-09-12 18:54:35 LOG: logger shutting down
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      hm ich hab win 2k und da kann man das auch so machen, also das mit den rechten müsste eigentlich stimmen.
      Jo, da geht's. Nur XP Home hat standardmässig den Dummy-Modus an.


      2006-09-12 16:14:26 ERROR: could not open relation 1663/17253/17170: No such file or directory
      Das ist die einzig relevante Fehlermeldung und die ist ziemlich eindeutig. Er kann die angegebene Datei nicht finden, weil sie entweder nicht existiert oder weil er keine Rechte darauf hat.

      In deinem "data" Ordner gibt's einen "base" Ordner, in dem alle Relationen (Tabellen) abgelegt werden. Schau doch mal, ob dort die Datei "base\1663\17253\17170" existiert. Wenn sie existiert, dann überprüf mal die Rechte.

      Wenn die Datei nicht existiert, dann kann das mehrere Ursachen haben. Im einfachsten Fall ist dein Rechner mal abgestürzt und Windows hat sie beim Neustart entfernt, weil der Dateisystemeintrag ungültig war.

      EDIT: Habe gesehen, dass es sogar drei Tabellen sind, die er nicht findet. Wenn das kein Rechte-Problem ist, dann stinkt das gewaltig nach einem Absturz von Windows.

      Gruss,
      Alex
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm bei mir ist der ordner "17253" direkt im ordner base. Den ordner 1663 gibts bei mir nicht. Die Datei befindet sich aber leider nicht im ordner 17253. was nun?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      hm bei mir ist der ordner "17253" direkt im ordner base. Den ordner 1663 gibts bei mir nicht. Die Datei befindet sich aber leider nicht im ordner 17253. was nun?
      Tja, normalerweise würde ich sagen: "Backup einspielen". Aber wie heisst es doch so schön:

      Backups are useful - usually if you don't have one.

      Also gehe ich mal davon aus, dass du kein aktuelles Backup hast. Leider kenne ich keine Möglichkeit, wie man die Nummern der Relationen auf den Relationennamen abbilden kann (ausser durch ausprobieren von SQL queries). Das ist eine Geschichte, die PostgreSQL intern vollzieht. Somit wissen wir also auch nicht, welche Tabellen das genau sind, die er nicht findet. Allerdings scheint es ja so zu sein, dass das keine besonders wichtigen Tabellen sind, da du ja noch normal mit PT/PA arbeiten kannst (oder nicht?). Du kannst also zum einen probieren über PT ein Backup der Datenbank zu machen oder falls das nicht klappen sollte, kannst du auch die einzelnen Relationen per Hand mit dem Tool "pg_dump" backupen. Das manuelle backupen ist allerdings etwas aufwendiger. Der Vorteil eines manuellen Backups ist, dass du dann nach dem Neuinitialisieren der PT Datenbank einzelne Tabellen wieder einspielen kannst, wohingegen ein komplettes PT Backup vermutlich auch nur komplett wieder eingespielt werden kann.

      Versuch aber doch erstmal ein Backup mit PT zu machen.

      Gruss,
      Alex
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm backup mit pt geht nicht, es macht zwar ein backup aber das ist dann nur 0 byte groß -.-

      Ja PT kann ich noch ganz normal benutzen, also hände einlesen, datenbanken durchsehen usw. deswegen wundert es mich etwas das nur backup und komprimieren nicht geht.

      Wie geht das mit pg_dump ? wie start ich das?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      Ja PT kann ich noch ganz normal benutzen, also hände einlesen, datenbanken durchsehen usw. deswegen wundert es mich etwas das nur backup und komprimieren nicht geht.
      Ich gehe jede Wette ein, dass dein Rechner mal abgestürzt ist. Das ganze kann folgendermassen zu stande kommen: Das Windows Dateisystem ist transaktionsorientiert - d.h. ein Schreibzugriff wird ganz oder garnicht ausgeführt. Angenommen PostgreSQL wollte die Tabellen, die es jetzt nicht finden kann löschen. Es trägt die Nummern der Tabellen also aus dem eigenen Index aus und löscht die Dateien/Verzeichnisse physikalisch auf der Festplatte. Der Index wird idR allerdings nicht sofort auf die Platte geschrieben, sondern erst später (aus Performance gründen). Stürzt dein Rechner jetzt ab, dann steht im alten Index auf der Festplatte die Tabelle noch drin, allerdings ist sie nicht mehr physikalisch auf der Platte zu finden. Bei einem bereinigen der Datenbank schaut PostgreSQL aber alle Tabellen durch und steigt dann aus, weil die Relation nicht mehr vorhanden ist - das gleiche gilt für ein Komplettbackup. Selbst wenn der neue Index aber auf die Festplatte geschrieben wurde, dann kann es trotzdem noch passieren, dass du nach einem Neustart wieder den alten hast. Sollte der Rechner nämlich abstürzen, während die Indexdatei geschrieben wird, so erkennt Windows beim Neustart, dass der Schreibzugriff unvollständig war und stellt die alte Version wieder her (transaktionsorientiert - ganz oder gar nicht). PostgreSQL hat zwar Mechanismen eingebaut, die soetwas verhindern sollen (Transaktionslogs), doch selbst die werden nach einem Absturz von Windows u.U. wieder auf die alte Version zurückgesetzt und somit bekommt Postgres nicht mit, dass es eigentlich Tabellen gelöscht hat.


      hm backup mit pt geht nicht, es macht zwar ein backup aber das ist dann nur 0 byte groß -.-
      Dann wird's jetzt wirklich kompliziert. Da du vermutlich nicht viel mit Datenbanken zu tun hast, wäre es am einfachsten, wenn du die DB neu initialisierst und die alten HandHistories wieder einliest.

      Hast du nicht mehr alle HHs, dann können wir schon versuchen deine Datenbank manuell zu zerlegen. Allerdings wird das ne längere Geschichte, da ich selbst kein PT habe und dir somit nicht schnell ein Skript schreiben kann, welches die nötigen Arbeiten erledigt. Wenn ich Zugriff auf deine Datenbank hätte, dann wäre das ganze schnell erledigt, doch das wird nicht wirklich machbar sein. Je nach Grösse deiner Datenbank könntest du aber den gesamten "data" Ordner zusammenpacken und mir irgendwie schicken. Dann würde ich das schnell hier erledigen.

      Gruss,
      Alex
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm der data ordner ist ca 5,5 GB groß. Meine Datenbank (den Rest hab ich aus dem Forum und kann ich jederzeit wiederholen), ist nur ca 35000 Hände groß.
      Also sollte ich die "unwichtigen" Datenbanken löschen und dann versuchen dir das irgendwie zu schicken? Wie kann ich dir große Datenmengen schicken?
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      hm der data ordner ist ca 5,5 GB groß. Meine Datenbank (den Rest hab ich aus dem Forum und kann ich jederzeit wiederholen), ist nur ca 35000 Hände groß.
      Also sollte ich die "unwichtigen" Datenbanken löschen und dann versuchen dir das irgendwie zu schicken? Wie kann ich dir große Datenmengen schicken?
      Also ich kann dir nicht garantieren, dass man mit den geretteten Daten hinterher noch was anfangen kann. Wenn z.B. ein grosser Teil des PT Schemas fehlt, dann kann es gut sein, dass man das ganze nur in tagelanger Arbeit wieder zusammenbauen kann, weil man dann das PT Schema genau analysieren und die Abhängigkeiten von Hand auflösen muss. Da ich selbst kein PT besitze ist das dann für mich kaum zu machen, es sei denn du schickst mir nochmal dumps von frisch initialisierten PT Datenbanken. Aber selbst dann kann es sein, dass das ein unglaublicher Aufwand wird.

      Am besten du hältst erstmal die Datenbank an und sicherst deinen aktuellen "data" Ordner, so wie er ist. Vielleicht sind es ja nur ein paar unbedeutende Fehler und ich kann das ganze wieder reparieren.

      Dann starte die DB wieder und räum sie erstmal auf. Je nachdem wie gross das ganze dann noch ist, können wir schauen wie die Dateien zu mir kommen. Vielleicht kannst du sie einfach auf rapidshare oder wie sie alle heissen, hochladen.

      Gruss,
      Alex
    • infernogott
      infernogott
      Bronze
      Dabei seit: 15.02.2005 Beiträge: 11.187
      hm ok hab ich gemacht, ist jetzt "nur" noch 800 mb groß. denke ich kann das irgendwo hochladen, mal sehen...
    • Temar
      Temar
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 536
      Original von infernogott
      hm ok hab ich gemacht, ist jetzt "nur" noch 800 mb groß. denke ich kann das irgendwo hochladen, mal sehen...
      Dürfte sich doch ganz gut packen lassen. Vielleicht kommste dann auf 400 MB.
    • 1
    • 2