view backend/doc/documentation/de/overview.tex @ 8605:b0e5a2ce0b09

(issue1750) Fix id handling with oracle On oracle the id is returned as BigDecimal. This could probably be done better with hibernate but checking the Object also works.
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 20 Mar 2015 18:42:00 +0100
parents 73946c0007ff
children 3e212106455c
line wrap: on
line source
\section{�bersicht}

Diese Dokumentation beschreibt die von Intevation entwickelten Werkzeuge zum
Importieren der hydrologischen, morphologischen und geod�tischen Daten der BfG.
Die im Folgenden beschriebenen Werkzeuge zum Importieren der Daten sind speziell auf das Verzeichnissystem der BfG ausgerichtet.
Dabei wird angenommen, dass sich das Verzeichnis eines Gew�ssers auf oberster
Ebene in drei Unterverzeichnisse aufgliedert:

\begin{itemize}
    \item Geodaesie
    \item Hydrologie
    \item Morphologie
\end{itemize}

Desweiteren beziehen sich die Befehle, die auf der Kommandozeile abgesetzt
werden, auf ein SuSE-Linux-Enterprise-Server Version 11. Bitte beachten Sie
auch, dass einige der Befehle \textit{root}-Rechte ben�tigen.

\subsection{Vorbereitungen}

\subsubsection{Entpacken des Datenimporters}

Damit die Software performant und korrekt ausgef�hrt werden kann, ist es
erforderlich, dass sie auf dem selben System wie die Datenbank installiert
und ausgef�hrt wird.
Sollten Sie das Paket nicht auf dem
Zielsystem selbst heruntergeladen haben, sind ggf. weitere Werkzeuge notwendig.
Wenn Sie von einem Windows System auf das Zielsystem zugreifen
wollen, k�nnen Sie beispielsweise folgende Werkzeuge verwenden:

\begin{itemize}
\item WinSCP \\
WinSCP ist ein Open Source Werkzeug zum Transferieren von Dateien zwischen zwei
Systemen. Um das heruntergeladene Paket auf das Zielsystem zu transferieren,
k�nnen Sie WinSCP benutzen. F�r weitere Informationen und den Gebrauch von
WinSCP lesen Sie bitte unter folgender Adresse nach:
\href{http://winscp.net/}{http://winscp.net/}.

\item Putty \\
Putty ist ein Open Source Werkzeug, mit dem Sie sich von einem Windows System
per SSH auf das Zielsystem verbinden k�nnen. Anschlie�end k�nnen Sie �ber die
Kommandozeile auf dem Zielsystem die Befehle, die in diesem Dokument beschrieben
sind, ausf�hren. F�r weitere Informationen zu Putty und dessen Gebrauch lesen
Sie bitte unter folgender Adresse nach: \href{http://www.putty.org/}
{http://www.putty.org/}.
\end{itemize}

Bitte beachten Sie, dass diese Werkzeuge nicht zur Installtion und zum Betrieb
der Software selbst notwendig sind!

\subsection{Systemanforderungen}
\label{Systemanforderungen}
\begin{itemize}
  \item Oracle oder PosgreSQL Datenbank inkl. Schema f�r FLYS
  \item SUSE Enterprise Linux 11.2 SP 1
\end{itemize}

\subsection{Installationsanleitung}
\label{Installationsanleitung}

Nachdem Sie das Paket nun in das Heimatverzeichnis des Nutzers auf das
Zielsystem kopiert haben, entpacken Sie es mit folgenden Befehlen:

\begin{lstlisting}
    cd ~
    tar xvfz flys-importer.tar.gz
    cd flys-importer
\end{lstlisting}

\subsubsection{Java}
Der flys-importer ben�tigt Java Version 6. Um diese zu installieren laden Sie
bitte von
\url{http://www.oracle.com/technetwork/java/javase/downloads/index.html} 
eine aktulle Java Version als -rpm.bin herunter. Zum Beispiel: jdk-6u41-linux-x64-rpm.bin

Nach dem Herunterladen, �ffnen Sie eine konsole und wechseln in das Downloadverzeichnis.
F�hren Sie nun folgende Befehle aus:

 \begin{lstlisting}
    su - # login als root
    sh jdk-6u41-linux-x64-rpm.bin
    <bestaetigen mit enter>
    update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_41/bin/java 5
    update-alternatives --install /etc/alternatives/jre jre /usr/java/jdk1.6.0_41/jre 5
    update-alternatives --config java
 \end{lstlisting}

\subsubsection{Python und GDAL}
Installieren Sie nun die restlichen ben�tigten Pakete.
Installieren Sie zuerst einige Abh�ngigkeiten und anschlie�end die
von der Intevation GmbH bereitgestellten speziellen Versionen von proj und libgeos

Um die Abh�ngigkeiten zu installieren f�hren Sie bitte folgende Befehle aus:

 \begin{lstlisting}
     zypper ar http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/ "intevation:bfg"
     rpm --import http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/repodata/repomd.xml.key
     zypper ref # Paketliste neu laden
     zypper in python libgeos0 libproj0 proj netcdf \
        libnetcdf4 xerces-c libxerces-c-3_0 unixODBC \
        postgresql-libs
     zypper mr -d "intevation:bfg"
     zypper ref # Paketliste neu laden
 \end{lstlisting}

%\subsubsection Oracle Instantclient\\
%Der Oracle Instantclient 11.2.0.2.0 wird ben�tigt, damit der Importer mittels Python
%und GDAL in die bestehende Oracle Datenbqlnk schreiben kann. Wenn Sie
%eine PosgreSQL Datenbank verwenden, k�nnen Sie diesen Schritt �berspringen.
%
%Zur Anbindung von Oracle ist es erforderlich, folgende Archive von
%Oracle herunterzuladen (Sie ben�tigen daf�r ein Oracle Benutzerkonto):
%
%Der Oracle Instantclient 11.2 wird ben�tigt, damit der Importer mittels Python
%und GDAL in die bestehende Oracle Datenbank schreiben kann. Dazu ist es
%erforderlich, folgende Archive von Oracle herunterzuladen. 
%
% \begin{itemize}
%    \item instantclient-basic-linux-x86-64-11.2.0.2.0.zip
%    \item instantclient-sdk-linux-x86-64-11.2.0.2.0.zip
%    \item instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
% \end{itemize}
%
%Zu finden sind die
% Pakete unter:\\
%\href{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
%{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
%
%
%Um diese Pakete zu installieren, �ffnen Sie eine Konsole und wechseln
%in das Verzeichnis in welches Sie die heruntergeladenen Pakete
%gespeichert haben. (z.B.: cd /home/benutzername/Downloads )
% Anschlie�end f�hren Sie folgende Befehle auf der Kommandozeile aus:
%
% \begin{lstlisting}
%     unzip instantclient-basic-linux-x86-64-11.2.0.2.0.zip -d /opt
%     unzip instantclient-sdk-linux-x86-64-11.2.0.2.0.zip -d /opt
%     unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip -d /opt
%
%     mkdir /opt/instantclient_11_2/lib
%     cd /opt/instantclient_11_2/lib
%     ln -s ../libclntsh.so.11.1 .
%     ln -s ../libclntsh.so.11.1 libclntsh.so
%     ln -s ../libnnz11.so .
%     ln -s ../libocci.so.11.1 .
%     ln -s ../libocci.so.11.1 libocci.so
%     ln -s ../libociei.so .
%     ln -s ../libocijdbc11.so .
%     ln -s ../libsqlplusic.so .
%     ln -s ../libsqlplus.so .
%
%     echo "/opt/instantclient_11_2/lib/" > /etc/ld.so.conf.d/oci.conf 
%     ldconfig
% \end{lstlisting}
%
%Sollten keine Fehler aufgetreten sein, haben Sie den \textit{Oracle
% Instantclient 11.2} erfolgreich entpackt und im Dateisystem unter
% \textit{/opt/instantclient\_11\_2} abgelegt.
%
\subsubsection{Vorbereiten der Datenbank}
Bevor die Importer verwendet werden k�nnen, ist es notwendig, dass eine leere
Oracle Datenbank vorhanden ist. Anschlie�end m�ssen folgende SQL-Skripte in
diese Datenbank eingespielt werden:

\begin{enumerate}
\item oracle.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der hydrologischen
Daten.

\item oracle-minfo.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der morphologischen
Daten.

\item oracle-spatial.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der geod�tischen
Daten.

\item oracle-spatial\_idx.sql \\
Mittels diesem SQL Skript werden die Indizes zum geod�tischen Datenbankschema\\
hinzugef�gt.

\end{enumerate}

Zum Einspielen dieser Schemata setzen Sie folgende Befehle auf der Kommandozeile
ab. Beachten Sie, dass $sqlplus$ im Pfad liegen muss, und der Linux-Nutzer
dieses Kommando ausf�hren k�nnen muss. Au�erdem sind $benutzername$ und $passwort$
entsprechend Ihres Datenbank-Zugangs anzupassen.
SQLPlus befindet sich in /opt/instantclient\_11\_2 um es verf�gbar zu machen
f�hren Sie im Importer Verzeichnis folgende Befehle aus:

\begin{lstlisting}
export LD_LIBRARY_PATH=opt/instantclient_11_2/lib:$LD_LIBRARY_PATH
export PATH=opt/instantclient_11_2:$PATH
\end{lstlisting}

Damit alle in den UTF8-codierten SQL-Skripten vorhandenen Zeichen (also z.B.\ 
auch Umlaute) korrekt in die Datenbank eingelesen werden k�nnen, f�hren
Sie folgenden Befehl aus:

\begin{lstlisting}
export NLS_LANG=.AL32UTF8
\end{lstlisting}

Nun verbinden Sie sich mit der Datenbank
\begin{lstlisting}
    sqlplus user/password@connect_identifier
\end{lstlisting}

und erstellen das Schema:

\begin{lstlisting}
    @schema/oracle.sql
    @schema/oracle-minfo.sql
    @schema/oracle-spatial.sql
    @schema/oracle-spatial_idx.sql
\end{lstlisting}

Hierbei ist 
\begin{lstlisting}
user/password@connect_identifier
\end{lstlisting}
so etwas wie 
\begin{lstlisting}
ICH/geheim@127.0.0.1:1234/DB.TEST.FIRMA.DE
\end{lstlisting}

Um sqlplus zu verlassen verwenden Sie
\begin{lstlisting}
exit
\end{lstlisting}

http://dive4elements.wald.intevation.org