DB2 - Komplette Struktur in eine zweite DB der selben Instanz übertragen
Struktur einer DB X in der Instanz I soll auf eine DB Y, welche ebenfalls in der Instanz I ist, übertragen werden.
Hallo zusammen,
ich bin vollkommener DB2 Noob.
Wir haben in der Firma auch nur einen DB2-Server, mit dem sich leider auch kein Kollege wirklich auskennt.
Ich habe folgendes Problem:
Ich habe eine DB mit sehr vielen Einträgen.
Das System ist dadurch sehr langsam.
Also sollen alle Einträge, die älter sind als 6 Monate aus der DB verschwinden.
Und dass soll wie folgt von statten gehen:
Es soll eine zweite DB geben (innerhalb der selben Instanz), in der die letzten 12 Monate abgelegt werden sollen (man hat also 18 Monate in 2 DBs online).
Die Struktur der beiden DBs muss natürlich gleich sein.
Es sollen also die Daten aus DB A monatlich in DB B verschoben werden.
Im selben Zug sollen dann natürlich die Daten des ältesten Monats aus DB B nach Excel o.Ä. exportiert werden.
Also zusammengefasst:
Monatl. werden die Daten quasi eine "Etage tiefer" gelagert.
Mein Problem jetzt - warsch. Mangels Erfahrungen mit DBs allgemein und einem 0-Wissen im Zusammenhang mit DB2:
Ich würde mich über Hilfe sehr freuen.
Kurze Systeminfo:
MFG chaser
Hallo zusammen,
ich bin vollkommener DB2 Noob.
Wir haben in der Firma auch nur einen DB2-Server, mit dem sich leider auch kein Kollege wirklich auskennt.
Ich habe folgendes Problem:
Ich habe eine DB mit sehr vielen Einträgen.
Das System ist dadurch sehr langsam.
Also sollen alle Einträge, die älter sind als 6 Monate aus der DB verschwinden.
Und dass soll wie folgt von statten gehen:
Es soll eine zweite DB geben (innerhalb der selben Instanz), in der die letzten 12 Monate abgelegt werden sollen (man hat also 18 Monate in 2 DBs online).
Die Struktur der beiden DBs muss natürlich gleich sein.
Es sollen also die Daten aus DB A monatlich in DB B verschoben werden.
Im selben Zug sollen dann natürlich die Daten des ältesten Monats aus DB B nach Excel o.Ä. exportiert werden.
Also zusammengefasst:
- DB A: Daten von 6 Monaten (online)
- DB B: Daten von 12 Monaten (online)
- TXT/XLS/MDB mit den restlichen Daten (offline)
Monatl. werden die Daten quasi eine "Etage tiefer" gelagert.
Mein Problem jetzt - warsch. Mangels Erfahrungen mit DBs allgemein und einem 0-Wissen im Zusammenhang mit DB2:
- Wie kriege ich die Struktur der DB A (Views, Tabellen etc.) in DB B, ohne alles quasi von Hand erneut anlegen zu müssen?
- Gibt es einen Weg, dass Alter eines Datensatzes zu erkennen?
- Gibt es einen Weg, um nach XLS o.Ä. zu exportieren?
Ich würde mich über Hilfe sehr freuen.
Kurze Systeminfo:
- Windows Server 2003 SE
- IBM DB2 v8.2
MFG chaser
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71767
Url: https://administrator.de/forum/db2-komplette-struktur-in-eine-zweite-db-der-selben-instanz-uebertragen-71767.html
Ausgedruckt am: 22.12.2024 um 22:12 Uhr
3 Kommentare
Neuester Kommentar
Moin chas0rde,
irgendwie hab ich Deinen Beitrag erst heute gefunden.
Ist die Frage noch offen oder hast Du es schon selbst gelöst?
Falls noch offen:
Zu allen 3 Fragen gibt es ca. 300 verschiedene Lösungsstrategien.
Wenn es eine einmalige Aktion ist (muss ja, als dauerhafter Prozess wäre das ja zu verwegen), dann:
zu 1) Die DDL-Skripte von Dantebankinstanz A erzeugen und auf DB B laufen lassen.
Am besten aus dem Modellierungstool heraus, das ihr bestimmt einsetzt.
Oder, halb von Hand, mit einem CREATE TABLE DB_B.tablespace.tablename LIKE DB_A.tablespace.tablename.
Geht aber AFAIK nur bei Tabellen, nicht bei Views, Tablespaces, Indices oder Triggern.
zu 2) Alter eines Datensatzes erkennen...
Jein, normalerweise wird das letzte Änderungsdatum "programmtechnisch" gepflegt, indem bei jeder Änderung noch der current timestamp oder das current date in ein zusätzliches Tabellenfeld geschrieben wird ( also ein Feld TS_CHANGED TIMESTAMP NOU NULL WITH DEFAULT).
Wenn ihr so etwas nicht habt, kann man/frau zwar die letzte Datensatzänderung aus den internen DB2-Systeminformationen rausfrickeln, aber das ist etwas holzig/nicht wirklich schön.
zu 3) DB2 ist doch eine stinknormale SQL-DB mit der sich über ODBC plaudern lässt.
Von daher hast Du die ganze Palette angefangen von DataPumpern bis zu handgeschriebenen Excel-Makros zur Auswahl.
Grüße
Biber
irgendwie hab ich Deinen Beitrag erst heute gefunden.
Ist die Frage noch offen oder hast Du es schon selbst gelöst?
Falls noch offen:
Zu allen 3 Fragen gibt es ca. 300 verschiedene Lösungsstrategien.
Wenn es eine einmalige Aktion ist (muss ja, als dauerhafter Prozess wäre das ja zu verwegen), dann:
zu 1) Die DDL-Skripte von Dantebankinstanz A erzeugen und auf DB B laufen lassen.
Am besten aus dem Modellierungstool heraus, das ihr bestimmt einsetzt.
Oder, halb von Hand, mit einem CREATE TABLE DB_B.tablespace.tablename LIKE DB_A.tablespace.tablename.
Geht aber AFAIK nur bei Tabellen, nicht bei Views, Tablespaces, Indices oder Triggern.
zu 2) Alter eines Datensatzes erkennen...
Jein, normalerweise wird das letzte Änderungsdatum "programmtechnisch" gepflegt, indem bei jeder Änderung noch der current timestamp oder das current date in ein zusätzliches Tabellenfeld geschrieben wird ( also ein Feld TS_CHANGED TIMESTAMP NOU NULL WITH DEFAULT).
Wenn ihr so etwas nicht habt, kann man/frau zwar die letzte Datensatzänderung aus den internen DB2-Systeminformationen rausfrickeln, aber das ist etwas holzig/nicht wirklich schön.
zu 3) DB2 ist doch eine stinknormale SQL-DB mit der sich über ODBC plaudern lässt.
Von daher hast Du die ganze Palette angefangen von DataPumpern bis zu handgeschriebenen Excel-Makros zur Auswahl.
Grüße
Biber
Moin chas0rde,
danke für die schnelle Rückmeldung.
Und nochmals sorry, dass Du auf Deinen Beitrag wochenlang nicht mal eine Lesebestätigung bekommen hast.
Dann setze ich diesen Thread mal nicht auf "gelöst", sondern auf "erledigt".
Und auf "geschlossen".
Denn das Thema "Datenbank portieren / exportieren / migrieren" bekommen wir öfters mal "frisch" rein.
Schönen Sonntag
Biber
danke für die schnelle Rückmeldung.
Und nochmals sorry, dass Du auf Deinen Beitrag wochenlang nicht mal eine Lesebestätigung bekommen hast.
Dann setze ich diesen Thread mal nicht auf "gelöst", sondern auf "erledigt".
Und auf "geschlossen".
Denn das Thema "Datenbank portieren / exportieren / migrieren" bekommen wir öfters mal "frisch" rein.
Schönen Sonntag
Biber