moo_kuh Geschrieben 15. Juli 2006 Teilen Geschrieben 15. Juli 2006 Hallo Kollegen, da ich leider nicht der Datenbankspezialist bin, muss ich einmal euere Dienste in Anspruch nehmen. Habe letzte Woche einen Kollegen (unseren DBA) vertreten, und natürlich ist in dieser Zeit eine Oracle DB abgeraucht und ich musste restoren. War alles kein Problem und die DB kam wieder hoch. Aufgrund des Restores musste ich Einträge aus einer Tabelle löschen. Also ich mit sqlplus "/ as sysdba" angemeldet und einen "Delete from SCHEMA.TAB WHERE XX = 'XX' " gemacht. Er hat dann so ca. 1 Minute bei dem Statement gehangen, und dann brach er mit der Fehler ab das er keinen TEMP Tablespace findet. Also ich nachgeschaut, stimmt es gibt einen TEMP Tablespace, aber es hängen keine Datafiles / Tempfiles darunter.. Also habe ich eins angelegt und schon ging der Delete durch, danach noch einen Commit und das Thema war durch... Einen UNDO Tablespace gab es wo er ja eigentlich seine Änderungen vermerken sollte bis ich einen "commit" oder einen "rollback" absetze. Der UNDO Tablespace wird auch genutzt... Nun frage ich mich: 1. Für was braucht Oracle bei einem Delete Statement einen TEMP Tablespace, wenn er die Änderungen ja im UNDO sichert? 2. Wo ist der Unterschied zwischen einen TEMP-File und einen DATA-File, denn ich kann ja beides unter einen Temporary Tablespace hängen :confused: Wäre klasse wenn ihr mir meine 2 Fragen beantworten könntet Danke schonmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1226 Geschrieben 16. Juli 2006 Teilen Geschrieben 16. Juli 2006 1. Auch beim DELETE können Sortieroperationen durchgeführt werden. Reicht der Platz im Memory dafür nicht aus, muss in den TEMP-Tablespace geschrieben werden. Mit Transaktionssicherheit (UNDO) hat das nichts zu tun. 2. Tempfiles werden zum einen schneller als Datafiles angelegt, da bei der Erstellung nur der Header und der letzte Block geschrieben werden. Zum anderen können Tempfiles gedroppt werden, ohne dass wie bei Datafiles der gesamte Tablespace weggeschmissen werden muss. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
moo_kuh Geschrieben 17. Juli 2006 Autor Teilen Geschrieben 17. Juli 2006 2. Tempfiles werden zum einen schneller als Datafiles angelegt, da bei der Erstellung nur der Header und der letzte Block geschrieben werden. Zum anderen können Tempfiles gedroppt werden, ohne dass wie bei Datafiles der gesamte Tablespace weggeschmissen werden muss. Hallo, wie kann diese "TEMP Files" unter einen Temporary Tablespace hängen? Im OEM kann ich nur ein Datafile angeben... wie funktioniert das mit den TEMP Files bzw. wird auch in SQL Statements immer von Datafiles gesprochen... Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1226 Geschrieben 17. Juli 2006 Teilen Geschrieben 17. Juli 2006 Hallo, wie kann diese "TEMP Files" unter einen Temporary Tablespace hängen? So zum Beispiel: alter tablespace TEMP add tempfile '/pfad/dateiname.dbf' size 100m autoextend on next 100m maxsize 2000m; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.