Re: ODBC-Datenbank


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von Thomas Frena on November 07, 2001 um 22:13:

Als Antwort auf Re: ODBC-Datenbank geschrieben von Christoph Barthel on November 06, 2001 um 15:06:

Hi Christoph,


Anbei die Erläuterung von IBM bzgl. SQL0964C

wie gesagt .. commit !

Gruß Tom

------------------------------------------------------
SQL0964C Kein Platz mehr im Transaktionsprotokoll für die Datenbank.

Erläuterung: Der im Transaktionsprotokoll verfügbare Speicherbereich wird vollständig verwendet.

Wenn ein Umlaufprotokoll mit sekundären Protokolldateien verwendet wird, wurde versucht, diese zuzuordnen und zu verwenden. Wenn im Dateisystem kein Speicherbereich mehr verfügbar ist, können keine sekundären Protokolle verwendet werden.

Wenn ein Archivprotokoll verwendet wird, hat das Dateisystem für die Aufnahme einer neuen Protokolldatei keinen Plattenspeicherbereich zur Verfügung gestellt.

Die Anweisung kann nicht verarbeitet werden.

Benutzeraktion: Führen Sie beim Empfang dieser Nachricht (SQLCODE) COMMIT oder ROLLBACK aus, oder wiederholen Sie die Operation.

Wenn die Datenbank durch gleichzeitig ablaufende Anwendungen aktualisiert wird, wiederholen Sie die Operation. Protokollspeicherbereich kann freigegeben werden, wenn eine andere Anwendung eine Transaktion beendet.

Es ist ratsam, möglichst häufig COMMIT-Operationen auszuführen. Wenn die Transaktionen nicht festgeschrieben werden, kann unter Umständen durch das Festschreiben der Anwendungen Protokollspeicherbereich freigegeben werden. Beim Erstellen einer Anwendung muß das Festschreiben von Änderungstransaktionen berücksichtigt werden, um zu vermeiden, daß kein Protokollspeicherbereich mehr frei ist.

Treten gegenseitige Sperren auf, müssen häufigere Prüfungen durchgeführt werden. Dies kann durch Verringerung des Konfigurationsparameters der Datenbank DLCHKTIME geschehen. Hiermit werden gegenseitige Sperren früher festgestellt und aufgelöst (durch ROLLBACK); somit wird Protokollspeicherbereich freigegeben.

Tritt diese Bedingung häufig ein, muß der Konfigurationsparameter der Datenbank erhöht werden, um eine größere Protokolldatei zuzulassen. Eine größere Protokolldatei nimmt mehr Speicherbereich in Anspruch, bietet aber den Vorteil, daß Anwendungen seltener Operationen wiederholen müssen.

Wird die Beispieldatenbank installiert, löschen Sie diese, und installieren Sie sie erneut.

sqlcode: -964

sqlstate: 57011
------------------------------------------------------

: Hallo
: habe die Logfile vegrößert und konnte auch eine größere Datenbank mit 70000 Datensätzen lesen doch bei den maximalen Einstellungen ist kommt die Fehlermeldung eneut bei einer Datenbank mit 1.200.000 Datensätzen.
: Welche Einstellung kann ich noch vergößern.

: Danke Tom für deine Hilfe.

: Christoph

:
: : hier die Anleitung um die log files zu vergrößern:

: : in der Konsole als DB Admin:

: : db2 "get database configuration for dbname"

: : dann siehst Du die aktuellen Einstellungen - wichtig sind die Parameter:
: : LOGFILSIZ (mal 4kb default)
: : LOGPRIMARY (Anzahl der primären Logfiles z.B. 50*2500*4 dann hast Du die kb = ~500 MB)
: : LOGSECOND (Das gleiche für die Secundären - falls die primären voll sind)

: : Du solltest die primären Logfiles bereits so bemessen, das die DB gar nicht erst auf die Sekundären zugreifen muß (um IO zu sparen)! Das ganze funktioniert natürlich auch im DB2 Control Center (auf dem (jew.) Datenbanksymbol rechte Maustaste --->und dann Configure)

: : db2 "UPDATE DATABASE CONFIGURATION FOR dbname USING LOGFILSIZ 2500 LOGPRIMARY 50 LOGSECOND 50"

: : (ist nur ein Beispiel) - aber das sind die relevanten Parameter für größere Systeme

: : danach
: : db2 "dbstop (force)"
: : db2 "dbstart"

:
: : Viel Glück

: : Tom

:
: :
: : : Hallo Christoph,

: : : -Verwende COMMITCOUNT im Import, um öfters zu "committen".

: : : Des weiteren kannst Du:
: : : - LOAD verwenden (LOAD wird nicht gelogged (by default))
: : : - allokiere mehr "log space"

: :
: : : Gruß Tom

: :
: : : : Hallo!

: : : : Ich habe folgendes Problem:
: : : : Ich möchte eine Datenbank von der AS/400 importieren habe das auch mit dem ODBC gschaft,
: : : : doch nur bei einer Datenbank mit ca. 1000 Datensätzen bei größeren Datensätzen bekomme ich die Fehlermeldung
: : : : SQL0964C Kein platz mehr im Tranaktionsprotokoll für die Datenbank.
: : : : SQLSTATE=57011
: : : : Wie kann ich denn benötigten Speicher vergößern und welchen muß ich vergrößern?

: : : : Mein System: Win2000; RAM 128MB; HDD 2 GB freier Speicher




Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]