2012-09-18 11 views
8

Ich verwende Teradata. Dadurch bekomme ich in der Datenbank keinen Spool-Speicher mehr. Meine Datenbanknutzung beträgt 85%. Gibt es eine Beziehung zwischen diesem Fehler und dem DB-Nutzungsfaktor? Alle Studien dazu wären hilfreicher für mich, dies zu lösen. Teilen Sie mir Ihre Ideen, um dies zu vermeiden.nicht mehr Spool-Speicherplatz in der Datenbank

+1

vermeiden Sie es durch die Vereinfachung Ihrer SQL. Sie können auch Ihren Teradata-Administrator bitten, Ihnen mehr Spool-Speicherplatz zu gewähren. – Beth

+1

Spool-Speicherplatz ist eine gemeinsam genutzte Ressource mit Einschränkungen für Benutzer auf Profil- oder Benutzerebene. Darüber hinaus wird Spool-Speicherplatz für einen bestimmten Benutzer über alle aktiven Sitzungen verteilt. Die einzige Sache, die mir auffiel, war Ihr Hinweis darauf, dass die Datenbanknutzung bei 85% lag. Können Sie erklären, was diese 85% ausmachen? Sind das 85% des verfügbaren zulässigen Speicherplatzes auf dem gesamten System oder nur auf einer bestimmten Datenbank? Bob Duell gab eine gute Erklärung, wo mit der Suche nach Problemen mit einer bestimmten Abfrage begonnen werden sollte, die einen Mangel an Spool-Speicherplatz meldet. –

Antwort

5

Spool space Probleme treten auf, wenn Sie eine ineffiziente Abfrage haben oder statistics in den von Ihnen verwendeten Tabellen nicht ordnungsgemäß erfasst wurden. Dies kann auch bei Tabellen auftreten, bei denen der Primärindex schlecht gewählt wurde (hohe Schräglage). Spool ist ein Attribut des Benutzerkontos, mit dem Sie eine Verbindung zur Teradata-Umgebung herstellen. Es ist nicht wirklich ein Attribut der Datenbank selbst.

Der einzige Weg, um sicher zu wissen, ist der EXPLAIN Plan für Ihre Abfrage zu sehen.

Wenn Ihre Abfrage ineffizient ist, schreiben Sie sie neu. Wenn Statistiken erfasst werden müssen oder der Index geändert werden muss, wenden Sie sich an den DBA, der für die von Ihnen verwendeten Tabellen verantwortlich ist.

Wenn es eine bestimmte Abfrage gibt, die Ihnen einen "Out of Spool" -Fehler gibt, aktualisieren Sie diese Frage mit dem vollständigen Text der Abfrage.

+0

Danke euch allen. @ Rob paller 85% ist verfügbar benutzter Dauerwellraum in meiner Datenbank, nicht gesamtes System. – user1601052

+0

Bob duell - Ich habe Statistiken über meine Tabellen gesammelt. Aber ich weiß nicht genau, was das genau tun wird? Kannst du das erklären? Und wie kann ich die Leistung von Abfragen mit 'explain' überprüfen? – user1601052

1

Ich war nicht in der Lage, meinen Fehler "außerhalb der Spool" mit den obigen Methoden zu beheben. Ich habe den Fehler behoben, indem ich eine Rangfunktion in eine eigene kleine Tabelle ohne Join oder überflüssige Spalten verschoben habe.

Verwandte Themen