Datenbanken
Posts 1-6 of 6
-
Christoph Pratsch Premium MemberThe company name is only visible to registered members.Hallo,22 Sep 2006, 10:41 am[Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
ich muss mehrere 9i Datenbanken auf eine andere Maschine verschieben - bei haben die gleiche 9i Installation, allerdings sollen die Daten und Programme an einem anderen Pfad liegen. Kann mir da jemand eine Anleitung geben, mit der ich als Einsteiger in das Thema zurechtkomme? Archivlog ist eingeschaltet.
Danke im voraus!
-
Bjoern RostThe company name is only visible to registered members.Dazu gibt es natuerlich mehr als eine Moeglichkeit:22 Sep 2006, 11:25 amRe: [Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
- logischer ex- und import (mit exp und imp). das duerfte am einfachsten sein, wird aber bei grossen Datenbanken eine Weile dauern, daher weniger geeignet wenn man sich kaum downtime erlauben kann
- datafiles kopieren, und mit symlinks auf der neuen maschine die pfade der alten installation nachbilden
- datafiles kopieren, im pfile/spfile die locations der controlfiles aendern, dann in nomount starten und mit 'alter database rename file 'altesdbffile' to 'neuesdbffile' alle datafiles zum neuen Pfad umbiegen
- transport tablespaces (wobei ich mir da unter 9i nicht sicher bin), prinzipiell aber: tablespaces read-only machen, metadaten mit exportieren (mit exp), datafiles kopieren zum neuen pfad, dann auf der zielmaschine die tablespaces importieren, dabei gibt man auch deren neuen Ort an. (das ist uebrigens auch eine sehr schnelle und elegante moeglichkeit, zwischen verschiedenen hardwareplattformen und endian-formaten (10g) umzuziehen)
- auch mit rman muesste man es hinbekommen
-
Dirk Pauli Premium MemberThe company name is only visible to registered members.Ich kann mich hier nur anschließen; allerdings wäre vorher noch einiges zu klären:26 Sep 2006, 5:19 pmRe^2: [Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
1) Welche Oracle 9i - Edition ist denn im Einsatz? Transportable tablespaces z.B. sind m.W. nach nur in der teuren Enterprise Edition der 9i Datenbank verfügbar.
2) haben die beiden Maschinen (alt und neu) das gleiche Betriebssystem als Voraussetzung? Sonst laufen wir in die endianness-Falle; d.h. um einen kompletten Dump-Export und -Import kommen wir dann nicht herum.
3) wie groß sind die Datenbanken denn? Bei kleinen DBs ist wahrscheinlich Export /Import das einfachste.
Mein Favorit hier ist immer noch RMAN. Mit diesem auch der Standard-Edition kostenfrei verfügbaren Tool sollte sich diese Aktion am elegantestens erledigen lassen. Zu RMAN gibt es gute einschlägige Literatur und viele Webseiten.
-
Christoph Pratsch Premium MemberThe company name is only visible to registered members.Vielen Dank für die Vorschläge - mir ging es vor allem um das Überführen der Instanz (Dienst, Registrierung beim Listener) und erst in zweiter Linie um die Daten. Hier der Vollständigkeit halber und falls es weitere Anregungen gibt, die angefragten Daten:28 Sep 2006, 7:46 pmRe^3: [Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
1. 9i Enterprise Ed.
2. Windows Server 2003 Std. als OS und
3. ganz kleine DB mit ca. 50MB
-
Dirk Pauli Premium MemberThe company name is only visible to registered members.Ok, auch wenn die Kombination Enterprise Ed und sehr kleine DB ein wenig exotisch ist:28 Sep 2006, 10:16 pmRe^4: [Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
Die Instanz lässt sich relativ einfach erzeugen:
1) In der vorhandenen Instanz ein aktuelles PFILE erzeugen
2) dieses auf den neuen Server kopieren, in dem File die Pfade zu den Control-Dateien etc. anpassen
3) auf dem neuen Server via oradim die neue Instanz anlegen
4) die Einträge in der listener.ora und tnsnames.ora zu der alten Instanz kopieren und in die entsprechenden Dateien des neuen Servers eintragen; dabei natürlich den Servernamen entsprechend abändern
5) listener neustarten oder via lsnrctl reload aktualisieren
6) die Instanz via sqlplus in den nomount-Modus starten (unter verwendung des init.ora-Files)
7a) liegen die ursprünglichen Scripte zur Erzeugung der (leeren) DB noch vor, können diese nun nach entsprechenden Pfadmodifikationen ausgeführt werden und danach einfach der vorher auf dem alten Server exportierte Dump eingespielt werden
ODER
7b) die DB via RMAN dupliziert werden; dazu sollten vor dem Startup der neuen Instanz noch 2 Parameter in das INIT.ora-File aufgenommen werden: log_file_name_convert und db_file_name_convert, mithilfe derer die Pfade der Log- und DB-Files angepasst werden können; die eigentliche DB-Struktur wird dann vom RMAN mit aufgebaut und die Daten sind auch schon da.
-
Dr. Semen NeitourThe company name is only visible to registered members.Hallo die Herren,07 Nov 2006, 10:30 pmRe: [Oracle] wie verschiebe ich 9i DB auf eine andere Maschine an andere Dateipfade?
Ich bin mir nicht sicher, ob in dem vorliegenden Fall der Faktor Zeit eine Rolle spielt. Allerdings in ähnlichen Fällen / Projekten der Datenbank- Migration ist es sehr oft ein Thema.
Datenbank Dateien kopieren – dies kann eine Weile dauern. Wie kopiere ich überhaupt 1000 Dateien, die auf 1000 Unterverzeichnisse verteilt sind und insgesamt 2 TB an Speicher brauchen (so eine typische SAP Installation)? Wie lange dauert es solche Datenmengen von dem „alten“ Server auf den „neuen“ Server zu übertragen? (OK, falls ein entsprechendes Storage- System zur Verfügung steht, ist die Sache einfach, falls nicht - viel Spaß). Kann ich überhaupt die Datenbank für so eine lange Zeit (evtl. mehrere Stunden oder sogar Tage) aus dem Betrieb nehmen?
Die bessere Methode in solchen Projekten – Einrichtung einer Standby- Datenbank auf dem „neuen“ Server. Die Einrichtung der Standby DB kann praktisch im laufenden Betrieb erfolgen, die DB auf dem „alten“ System muss man nicht herunterfahren. Das Deaktivieren der DB auf dem „alten“ Server und das Aktivieren der DB auf dem „neuen“ Server erfolgt dann zu einem geplanten Zeitpunkt und brauchen nur einige Minuten.
Die Standby- DB kann natürlich mit Hilfe von Oracle DataGuard eingerichtet werden. Allerdings bedeutet es doch eine Menge Handarbeit, z. B. ein Full- Online- DB Backup auf dem „alten“ Server und ein Restore der DB auf dem „neuen“ Server. Die Handhabung bei der Verschiebung der Dateien ist ziemlich schwierig.
Wir haben bereits mehrere solche Projekte durchgeführt – Migrationen der Datenbanken in TB Bereich. Wir nutzen in solchen Projekten unser Libelle / DBShadow Produkt. Ist sehr einfach zu installieren und zu handhaben. COPY der DB von dem „alten“ auf das „neue“ System erfolgt ganz automatisch, die Übertragung der Daten über das Netzwerk geht in komprimierter Form, was spart Zeit und verringert die Belastung. Es ist unter anderen möglich mehrere Netzwerk- Interfaces für die Übertragung der Daten zu konfigurieren und die Netzwerk- Bandbreite durch das parallele Kopieren von mehreren DB Dateien optimal auszunutzen.
Bei Interesse, kann ich gerne weitere Informationen liefern / Fragen beantworten.
Dr.-Ing. Semen Neitour
