AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite 3 Out of Memory

Ein Thema von Monday · begonnen am 19. Mai 2020 · letzter Beitrag vom 21. Mai 2020
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 00:31
Meine Erfahrung beruht zwar nicht auf SQLite sondern MariaDB/MySQL bzw. InnoDB insbesondere, aber bei meinen Recherchen zu ähnlichen Problemen hier bin ich auf eine recht "fundamentale Weisheit" gestoßen: Wenn das DBMS keinen Platz mehr hat die größte der betroffenen Tabellen mindestens zu duplizieren, sieht es meistens recht schlecht aus. Das gilt zuweilen sogar wenn man die Voraussicht hatte, die Tabellen zu partitionieren. Viele DBMS scheinen extrem an dem Plattenplatz zu hängen, den sie je zur Verfügung hatten, und geben nur sehr unfreiwillig solchen ans OS zurück.

In meinem Fall hatte ich das Glück, noch Platz für je eine größte Tabelle zu haben. Lösung war dann: Alles, was ich behalten will in eine neue Tabelle kopieren, und dann ganz schnell die alte umbenennen, die neu kopierte zur bisherigen benennen, und letztlich die alte Tabelle zu droppen. Dann erst war InnoDB bereit den Platz freizugeben. Trotz aktivierter in-place "Defragmentierungsoption" bei OPTIMIZE TABLE in den neueren Versionen. In meinem Fall musste das ganze sogar im laufenden Betrieb passieren - die ca. 10min die zum Kopieren verloren gingen waren pro Tabelle aber zum Glück okay in meinem Fall.

Da deine Datenplatte noch genügend Platz zu haben scheint, wäre das ggf. auch für dich eine Möglichkeit. Bei mir waren die (ca. 400) Tabellen die es zu verkleinern galt je ca. 9GB groß (jap, eine knapp 4TB große DB... fragt nicht...), die letztlich kopierte Größe war rund 2GB pro Tabelle. Jeweils 10-15min auf einem RAID 6 von 6 SAS Platten. Könnte also relativ zügig gehen, sogar im laufenden Betrieb.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
316 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 06:54
Schau mal hier: https://www.sqlitetutorial.net/sqlite-vacuum/. Insbesondere bei: "VACUUM with an INTO clause". Ich denke, dass hilft in Deinem Fall.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 07:27
Hallo,
wen auf c kein Platz mehr ist,
setze das Temp-Laufwerk (also %TEMP%) doch auf D.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 08:05
Wenns wirklich Dateien im Temp-Verzeichnis sind, hilft evtl. dieser Artikel
https://www.sqlite.org/tempfiles.html
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 09:01
Hallo,
OK,
dann würde das Setzen der Umgebungsvariable SQLITE_TMPDIR helfen.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: SQLite 3 Out of Memory

  Alt 20. Mai 2020, 09:08
Hallo,
OK,
dann würde das Setzen der Umgebungsvariable SQLITE_TMPDIR helfen.
Ist besser als das Systemweit umzusetzen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz