Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Oracle Datenbank - Struktur exportieren

Empfohlene Antworten

Veröffentlicht

Hallo!

Ich habe folgendes Problem:

Die Struktur einer bestehenden Datenbank soll komplett (inkl. Trigger etc.)

in eine neue Oracle DB übertragen werden, so das die neue DB alle Funktionalitäten der Ursprungs DB enthält und entsprechend alle Schemata der Ur-Db gleichen.

Womit gehe ich da ran?

besten Dank für jeden Tip.

Gruss

yallayalla

Soll nur die Struktur exportiert werden, also ohne Inhalte? Dann würde ich eine leere Hülle aufbauen und starten, wo die Tablespaces wie in der Quelldatenbank vorhanden sind. Dann wird aus der Quelldatenbank ein Full-Export ohne Rows gezogen, der dann in die leere Hülle reingefahren wird.

http://www.indiana.edu/~dss/Services/DataWarehouse/Oracle/expimp.html

Appendix A: Objects Exported In Each Mode

such dir dort aus, was du exportieren willst, und wähle den gewünschten modus, z.b. full oder user, tables. mit "rows=no" exportierst du die struktur, aber keine tabellenzeilen.

allfällige fragen wird sicherlich auch die Oracle Import/ Export FAQ beantworten können.

s'Amstel

Hallo!

Hmm, schon ganz hilfreich, aber:

Ich will kein dump-File haben, sondern am Schluss eine anpassungsfähige Installationsprozedur haben, die aus der bestehenden DB sowohl die Steuertabellen (mit Inhalt) und die Datentabellen (ohne Inhalt) ausliest und neu in der neuen DB anlegt. Weiterhin sollen bestehende Packages auch in die neue DB.

mfg

yallayalla

Anhang:

Es existieren doch VIEWS unter SYS, die alle Tabellen, Packages etc. anzeigen können. Koennte man aus diesen Ausgaben auch neue CREATE X Befehle machen, die die DB neu anlegen?

Wie kann ich die VIEWS unter SYS nutzen?

mfg

yallayalla

Es gäbe da noch die Möglichkeit des reverse engineering, um Quellcode für Func/Proc/Pkg zu erzeugen. Dazu gibt es in 9i das Package DBMS_METADATA.

Ansonsten hilft wirklich nur ein Full-Export.

Hallo!

Also alle Packages habe ioch nochmal sperat als Dateien...es geht eigentlich nur um die Tabellen...

mfg

yallayalla

Tja, wenn du es unbedingt so machen willst, dann musst du dir halt über mehrere/viele Views (DBA_OBJECTS, DBA_TABLES, DBA_TAB_COLUMNS, ...) irgendwas zusammenkonkatenieren. Dann hast du erstmal die Tabellen. Dazu kommen noch Constraints, Indexes, ... Ich bezweifle allerdings, dass das funktioniert. Im Endeffekt versuchst du das exp-Tool von Oracle nachzuprogrammieren, denn ein dump ist im Endeffekt auch nichts anderes als ein Haufen DDL/DML. Viel Spass dabei!

Hallo!

Aber ein Dump nimmt doch immer den Inhalt mit, oder?

Oder kann ich auch die Struktur auch ohne Dateninhalt abbilden?

mfg

yallayalla

Aber ein Dump nimmt doch immer den Inhalt mit, oder?

Nein!!! Wie oben schon mehrfach erwähnt, kann der Export OHNE Rows erfolgen. Einfach beim exp ein rows=n in den Aufruf setzen, und es werden keine Zeilen rausgeschrieben.

Hallo!

Also alle Packages habe ioch nochmal sperat als Dateien...es geht eigentlich nur um die Tabellen...

mfg

yallayalla

Ein leistungsfaehiges Tool nehmen (gibt es Dutzende)

DDL generieren lassen

glücklich sein

gruss

richtig... jedes anständige Datenmodell-modelierungstool kann auch den umgekehrten Weg (reverse engeneering) und liest die Datenbank aus und erstellt dir die Sqls zum anlegen der Strucktur...

Wir nutzen z.B. Powerdesigner von Sybase. (da gibt es ab auch günstigere und trotzdem nicht schlechte alternativen)

In die sys und system Tabellen/Views solltest du nicht schreibend eingreifen... Das knallt. Auch die hier vorgeschlagene Variante des Fullexp/Imp hat tücken, da du den Import dann auf keinen fall in eine datenbank einer niederen Version/Patchlevel machen solltest. Also keine gute Idee falls du das an Kunden verteilen willst, wo du die Version nicht kennst...

Hallo!

Ersteinmal vielen Dank für die vielen Hinweise und Anmerkungen.

Das hier soll automatisiert (mehr oder weniger) erfolgen:

(Oracle User, Tabellenstrukturen, Tabelleninhalte,PL/SQL Procederen ...)

anlegen.

Das Installieren der Anwendung erfolgt bisher manuell bzw. mittels Ex-/Import aus der bestehenden Datenbank.

mfg

yallayalla

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.