NAME
dsql_export - Kommandozeilen-Tool für datenbankunabhängige DB-Exports
SYNOPSIS
dsql_export [-V] Konfigurationsdatei-Name
dsql_export -c
-V keine Statusmeldungen auf STDOUT ausgeben
-c Muster-Konfigurationsdatei auf STDOUT ausgeben
DESCRIPTION
Dieses Tool ermöglicht einen Export von Daten aus einer bestimmten Datenbank (Oracle, MySQL oder mSQL) in ein angegebenes Export-Verzeichnis im Filesystem.
Es werden alle bestehenden Tabellen der Quelldatenbank exportiert, die nicht explizit über den Parameter exclude_tables vom Export ausgeschlossen werden, und für die es einen Eintrag in der angegebenen Type-Hash-Datei gibt (siehe Abschnitt 'KONFIGURATIONSDATEI').
Tabellen ohne Type-Hash-Eintrag werden grundsätzlich vom Export ausgeschlossen!
Im angegebenen Export-Verzeichnis wird für jede exportierte Tabelle ein Unterverzeichnis mit dem Namen der entsprechenden Tabelle angelegt. Dort werden dann die zugehörigen Dateien abgelegt:
- format.conf
-
Enthält Informationen (Spaltenname, Typ und maximale Länge) zu den zugehörigen Tabellen-Spalten.
- data.dump
-
Enthält die eigentlichen Daten, wobei die einzelnen Spalten durch Tabulatoren voneinander getrennt sind.
- blob_1.bin - blob_n.bin
-
Enthält eine Tabelle BLOB- oder CLOB-Spalten, werden die Inhalte dieser Spalten in separaten Dateien gespeichert. In der CSV-Datei wird dann für diese Spalten nur der Name der zugehörigen Datei abgelegt.
Die Start- und Endzeit des Exports, sowie die übergebenen Parameter und die Statusmeldungen, die während des Exports ausgegeben werden, werden in die Datei export.meta im Export-Verzeichnis geschrieben.
Wenn ein DB-Export in ein bereits vorhandenes Export-Verzeichnis gemacht wird, dann wird die bestehende export.meta-Datei überschrieben. Die Unterverzeichnisse der Tabellen, die neu exportiert werden, werden vorher komplett gelöscht. Bereits existierende Unterverzeichnisse von Tabellen, die beim neuen Export nicht berücksichtigt werden, bleiben bestehen.
KONFIGURATIONSDATEI
Die Konfigurationsdatei für das Export-Tool muss folgende Einträge enthalten:
- data_source
-
Data-Source der Quelldatenbank, aus der die Daten exportiert werden
- username
-
Schema-Name der Quelldatenbank, aus der die Daten exportiert werden
- password
-
DB-Passwort
- directory
-
kompletter Pfad des Verzeichnisses, in dem die exportierten Daten abgelegt werden
- type_hash_file
-
kompletter Pfad der Datei, in der das Type-Hash für die zu exportierenden Tabellen abgelegt ist
Zusätzlich gibt es optionale Parameter:
- utf8
-
Wenn die Datenbank in UTF8 kodiert ist, muß hier eine 1 gesetzt werden.
- include_tables
-
Liste der Tabellen, die ausschließlich exportiert werden sollen.
Bei der Angabe der Tabellennamen können auch reguläre Ausdrücke verwendet werden. Es wird immer nach nach Tabellen gesucht, deren Name mit dem angegebenen Ausdruck beginnt!
- exclude_tables
-
Liste der Tabellen, die nicht exportiert werden sollen. Wird angewendet auf die Tabellen, die include_tables passiert haben.
Bei der Angabe der Tabellennamen können auch reguläre Ausdrücke verwendet werden. Es wird immer nach nach Tabellen gesucht, deren Name mit dem angegebenen Ausdruck beginnt!
TYPE-HASH
Die im Konfigurationsdatei angegebene Type-Hash-Datei muss folgenden Aufbau haben (siehe auch Dimedis::Sql):
$type_hash_ref = { 'table_name_x' => { 'column_name_i' => 'serial', 'column_name_j' => 'varchar(999)', 'column_name_k' => 'clob', 'column_name_l' => 'blob' , }, 'table_name_y' => { 'column_name_i' => 'numeric(2)', 'column_name_j' => 'blob', 'column_name_k' => 'char(16)', }, };
Hier muss ein Eintrag für jede zu exportierende DB-Tabelle vorhanden sein.
AUTOR
Sabine Tonn, sabine@dimedis.de
COPYRIGHT
Copyright (c) 2002 dimedis GmbH, All Rights Reserved
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 164:
Non-ASCII character seen before =encoding in 'für'. Assuming CP1252