Erfahren Sie den Schritt-für-Schritt-Prozess, um Oracle-Dumps in verschiedene Tablespaces zu importieren, ohne auf Fehler zu stoßen, einschließlich Lösungen für gängige Probleme.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/61963/ gestellt von dem Nutzer 'Michiel Overeem' ( https://stackoverflow.com/u/5043/ ) sowie auf der Antwort https://stackoverflow.com/a/71826/ bereitgestellt von dem Nutzer 'Andrew' ( https://stackoverflow.com/u/5662/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: Howto import an oracle dump in an different tablespace
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 2.5' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Oracle-Dumps in unterschiedliche Tablespaces importieren – einfach gemacht
Bei der Verwaltung von Oracle-Datenbanken kann es vorkommen, dass Sie eine Oracle-Dumpdatei in einen anderen Tablespace importieren müssen. Diese Situation führt oft zu einer Reihe von Fehlern, deren Behebung frustrierend sein kann.
In diesem Beitrag untersuchen wir die gängigen Herausforderungen beim Import von Oracle-Dumps und wie Sie diese effizient meistern. Wir betrachten einen realen Anwendungsfall, bei dem ein Dump in eine Umgebung mit unterschiedlichen Oracle-Versionen und Tablespaces importiert wird, damit Sie alle nötigen Informationen haben, um diese Aufgabe reibungslos abzuschließen.
Das Problem
Unser Nutzer steht vor folgendem Szenario:
Es existieren bereits Daten im Tablespace A, die mit Benutzer A verknüpft sind.
Der Nutzer erstellt eine Dumpdatei mit dem exp-Kommando.
Er möchte diesen Dump in den Tablespace B importieren, der mit Benutzer B verbunden ist, der jedoch keine DBA-Rechte besitzt.
Trotz korrektem Vorgehen traten Fehler auf, die auf ungültige Tabellenstatistiken und fehlende Tablespaces hinwiesen:
Fehler durch fehlgeschlagene Statistikupdates beim Import.
Ein weiterer Fehler, der darauf hinweist, dass ein spezifizierter Tablespace nicht existiert.
Diese Situation kann verschiedene Ursachen haben, unter anderem Versionsunterschiede von Oracle und vordefinierte Tablespaces in Versionen wie Oracle 10g Express Edition (XE).
Die Lösung im Detail
1. Oracle-Versionen angleichen
Ein häufiges Problem entsteht beim Exportieren und Importieren zwischen unterschiedlichen Oracle-Datenbankversionen. Es ist essenziell, die gleichen Versionen der exp- und imp-Werkzeuge zu verwenden.
Empfehlung: Führen Sie Export und Import auf derselben Maschine oder demselben Server durch, um Kompatibilitätsprobleme der Tools auszuschließen.
2. Mit den richtigen Tablespaces arbeiten
Fehler im Zusammenhang mit Tablespaces treten häufig auf, wenn die Ziel-Datenbank (zum Beispiel Oracle 10g XE) nicht die benötigten Tablespaces enthält, auf die sich die Dumpdatei bezieht. Standardmäßig erstellt XE nur einen vordefinierten Tablespace namens USERS. Um das Problem zu lösen, gehen Sie wie folgt vor:
Schritt-für-Schritt-Anleitung:
Erstellen einer SQL-Strukturdatei:
Nutzen Sie folgenden Befehl, um eine .sql-Datei zu erzeugen, welche die Struktur der Tabellen in Ihrer Dumpdatei widerspiegelt:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
SQL-Datei anpassen:
Öffnen Sie die Datei index.sql in einem Texteditor und führen Sie die folgenden Suchen-und-Ersetzen-Schritte in dieser Reihenfolge durch:
Suchen: 'REM<space>' → Ersetzen: (leer lassen)
Suchen: '"<quell_tablespace>"' → Ersetzen: '"USERS"'
Suchen: ... → Ersetzen: REM ...
Suchen: CONNECT → Ersetzen: REM CONNECT
Ausführen der angepassten SQL-Datei:
Nachdem die Anpassungen abgeschlossen sind, führen Sie die Datei gegen Ihr Oracle XE-Konto aus:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Importieren der Daten aus der Dumpdatei:
Führen Sie abschließend diesen Befehl aus, um die eigentlichen Daten zu importieren:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
3. Umgang mit Fehlermeldungen
Während des Prozesses können unterschiedliche Oracle-Fehlermeldungen erscheinen, insbesondere im Zusammenhang mit der Erstellung von Objekten wie Datenbankjobs. Viele dieser Fehler resultieren daraus, dass Oracle versucht, sich auf ursprüngliche Datenbankbezeichner zu beziehen, die in XE zu Konflikten führen.
Tipp: Prüfen Sie stets die während des Imports entstandenen Fehlerproto
Информация по комментариям в разработке