ingo@3661: \section{�bersicht}
ingo@3661: 
ingo@3661: Diese Dokumentation beschreibt die von Intevation entwickelten Werkzeuge zum
ingo@3661: Importieren der hydrologischen, morphologischen und geod�tischen Daten der BfG.
felix@5040: Die im Folgenden\\ beschriebenen Werkzeuge zum Importieren der fachlichen und
ingo@3661: geod�tischen Daten sind speziell auf das Verzeichnissystem der BfG ausgerichtet.
ingo@3668: Dabei wird angenommen, dass sich das Verzeichnis eines Gew�ssers auf oberster
ingo@3668: Ebene in drei Unterverzeichnisse aufgliedert:
ingo@3668: 
ingo@3668: \begin{itemize}
ingo@3668:     \item Geodaesie
ingo@3668:     \item Hydrologie
ingo@3668:     \item Morphologie
ingo@3668: \end{itemize}
ingo@3668: 
ingo@3661: Desweiteren beziehen sich die Befehle, die auf der Kommandozeile abgesetzt
ingo@3678: werden, auf ein SuSE-Linux-Enterprise-Server Version 11. Bitte beachten Sie
ingo@3678: auch, dass einige der Befehle \textit{root}-Rechte ben�tigen.
ingo@3661: 
ingo@3661: \subsection{Vorbereitungen}
ingo@3661: 
ingo@3661: \subsubsection{Entpacken des Datenimporters}
ingo@3661: 
ingo@3661: Damit die Software performant und korrekt ausgef�hrt werden kann, ist es
felix@5041: erforderlich, dass sie auf dem selben System wie die Datenbank installiert
felix@5041: und ausgef�hrt wird.
felix@5041: Sollten Sie das Paket nicht auf dem
ingo@3661: Zielsystem selbst heruntergeladen haben, sind ggf. weitere Werkzeuge notwendig.
felix@5041: Wenn Sie von einem Windows System auf das Zielsystem zugreifen
ingo@3661: wollen, k�nnen Sie beispielsweise folgende Werkzeuge verwenden:
ingo@3661: 
ingo@3661: \begin{itemize}
ingo@3661: \item WinSCP \\
ingo@3661: WinSCP ist ein Open Source Werkzeug zum Transferieren von Dateien zwischen zwei
ingo@3661: Systemen. Um das heruntergeladene Paket auf das Zielsystem zu transferieren,
ingo@3661: k�nnen Sie WinSCP benutzen. F�r weitere Informationen und den Gebrauch von
ingo@3661: WinSCP lesen Sie bitte unter folgender Adresse nach:
ingo@3661: \href{http://winscp.net/}{http://winscp.net/}.
ingo@3661: 
ingo@3661: \item Putty \\
ingo@3661: Putty ist ein Open Source Werkzeug, mit dem Sie sich von einem Windows System
ingo@3661: per SSH auf das Zielsystem verbinden k�nnen. Anschlie�end k�nnen Sie �ber die
ingo@3661: Kommandozeile auf dem Zielsystem die Befehle, die in diesem Dokument beschrieben
ingo@3661: sind, ausf�hren. F�r weitere Informationen zu Putty und dessen Gebrauch lesen
ingo@3661: Sie bitte unter folgender Adresse nach: \href{http://www.putty.org/}
ingo@3661: {http://www.putty.org/}.
ingo@3661: \end{itemize}
ingo@3661: 
ingo@3661: Bitte beachten Sie, dass diese Werkzeuge nicht zur Installtion und zum Betrieb
ingo@3661: der Software selbst notwendig sind!
ingo@3661: 
aheinecke@5065: \subsection{Systemanforderungen}
aheinecke@5065: \label{Systemanforderungen}
aheinecke@5065: \begin{itemize}
aheinecke@5065:   \item Oracle oder PosgreSQL Datenbank inkl. Schema f�r FLYS
aheinecke@5065:   \item SUSE Enterprise Linux 11.2 SP 1
aheinecke@5065: \end{itemize}
ingo@3661: 
aheinecke@5065: \subsection{Installationsanleitung}
aheinecke@5065: \label{Installationsanleitung}
ingo@3661: 
ingo@3672: Nachdem Sie das Paket nun in das Heimatverzeichnis des Nutzers auf das
ingo@3672: Zielsystem kopiert haben, entpacken Sie es mit folgenden Befehlen:
ingo@3672: 
ingo@3672: \begin{lstlisting}
ingo@3672:     cd ~
ingo@3672:     tar xvfz flys-importer.tar.gz
ingo@3672:     cd flys-importer
ingo@3672: \end{lstlisting}
ingo@3672: 
aheinecke@5075: \subsubsection{Java}
aheinecke@5065: Der flys-importer ben�tigt Java Version 6 um diese zu installieren laden Sie
aheinecke@5065: bitte von \url{http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html}
aheinecke@5065: eine aktulle Java Version als -rpm.bin herunter. Zum Beispiel: jdk-6u41-linux-x64-rpm.bin
aheinecke@5065: 
aheinecke@5065: Nach dem Herunterladen, �ffnen Sie eine konsole und wechseln in das Downloadverzeichnis.
aheinecke@5065: F�hren Sie nun folgende Befehle aus:
aheinecke@5065: 
aheinecke@5065:  \begin{lstlisting}
aheinecke@5065:     su - # login als root
aheinecke@5065:     sh jdk-6u41-linux-x64-rpm.bin
aheinecke@5065:     <bestaetigen mit enter>
aheinecke@5065:     update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_41/bin/java 5
aheinecke@5065:     update-alternatives --install /etc/alternatives/jre jre /usr/java/jdk1.6.0_41/jre 5
aheinecke@5065:     update-alternatives --config java
aheinecke@5065:  \end{lstlisting}
aheinecke@5065: 
aheinecke@5075: \subsubsection{Python und GDAL}
aheinecke@5065: Installieren Sie nun die restlichen ben�tigten Pakete.
aheinecke@5065: Dazu installieren Sie zuerst einige Abh�ngigkeiten und anschlie�end die
aheinecke@5065: von der Intevation GmbH bereitgestellten speziellen Versionen von proj und libgeos
aheinecke@5065: 
aheinecke@5065: Um die Abh�ngigkeiten zu installieren f�hren Sie bitte folgende Befehle aus:
aheinecke@5065: 
aheinecke@5065:  \begin{lstlisting}
aheinecke@5065:      zypper ar http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/ "intevation:bfg"
aheinecke@5065:      rpm --import http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/repodata/repomd.xml.key
aheinecke@5065:      zypper ref # Paketlist neu laden
aheinecke@5065:      zypper in python libgeos0 libproj0 proj netcdf libnetcdf4 \
aheinecke@5065:         xerces-c libxerces-c-3_0 unixODBC postgresql-libs
aheinecke@5065:      zypper mr -d "intevation:bfg"
aheinecke@5065:      zypper ref # Paketliste neu laden
aheinecke@5065:  \end{lstlisting}
aheinecke@5065: 
aheinecke@5065: %\subsubsection Oracle Instantclient\\
aheinecke@5065: %Der Oracle Instantclient 11.2.0.2.0 wird ben�tigt, damit der Importer mittels Python
aheinecke@5065: %und GDAL in die bestehende Oracle Datenbqlnk schreiben kann. Wenn Sie
aheinecke@5065: %eine PosgreSQL Datenbank verwenden, k�nnen Sie diesen Schritt �berspringen.
aheinecke@5065: %
aheinecke@5065: %Zur Anbindung von Oracle ist es erforderlich, folgende Archive von
aheinecke@5065: %Oracle herunterzuladen (Sie ben�tigen daf�r ein Oracle Benutzerkonto):
aheinecke@5065: %
aheinecke@5065: %Der Oracle Instantclient 11.2 wird ben�tigt, damit der Importer mittels Python
aheinecke@5065: %und GDAL in die bestehende Oracle Datenbank schreiben kann. Dazu ist es
aheinecke@5065: %erforderlich, folgende Archive von Oracle herunterzuladen. 
aheinecke@5065: %
aheinecke@5065: % \begin{itemize}
aheinecke@5065: %    \item instantclient-basic-linux-x86-64-11.2.0.2.0.zip
aheinecke@5065: %    \item instantclient-sdk-linux-x86-64-11.2.0.2.0.zip
aheinecke@5065: %    \item instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
aheinecke@5065: % \end{itemize}
aheinecke@5065: %
aheinecke@5065: %Zu finden sind die
aheinecke@5065: % Pakete unter:\\
aheinecke@5065: %\href{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
aheinecke@5065: %{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
aheinecke@5065: %
aheinecke@5065: %
aheinecke@5065: %Um diese Pakete zu installieren, �ffnen Sie eine Konsole und wechseln
aheinecke@5065: %in das Verzeichnis in welches Sie die heruntergeladenen Pakete
aheinecke@5065: %gespeichert haben. (z.B.: cd /home/benutzername/Downloads )
aheinecke@5065: % Anschlie�end f�hren Sie folgende Befehle auf der Kommandozeile aus:
aheinecke@5065: %
aheinecke@5065: % \begin{lstlisting}
aheinecke@5065: %     unzip instantclient-basic-linux-x86-64-11.2.0.2.0.zip -d /opt
aheinecke@5065: %     unzip instantclient-sdk-linux-x86-64-11.2.0.2.0.zip -d /opt
aheinecke@5065: %     unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip -d /opt
aheinecke@5065: %
aheinecke@5065: %     mkdir /opt/instantclient_11_2/lib
aheinecke@5065: %     cd /opt/instantclient_11_2/lib
aheinecke@5065: %     ln -s ../libclntsh.so.11.1 .
aheinecke@5065: %     ln -s ../libclntsh.so.11.1 libclntsh.so
aheinecke@5065: %     ln -s ../libnnz11.so .
aheinecke@5065: %     ln -s ../libocci.so.11.1 .
aheinecke@5065: %     ln -s ../libocci.so.11.1 libocci.so
aheinecke@5065: %     ln -s ../libociei.so .
aheinecke@5065: %     ln -s ../libocijdbc11.so .
aheinecke@5065: %     ln -s ../libsqlplusic.so .
aheinecke@5065: %     ln -s ../libsqlplus.so .
aheinecke@5065: %
aheinecke@5065: %     echo "/opt/instantclient_11_2/lib/" > /etc/ld.so.conf.d/oci.conf 
aheinecke@5065: %     ldconfig
aheinecke@5065: % \end{lstlisting}
aheinecke@5065: %
aheinecke@5065: %Sollten keine Fehler aufgetreten sein, haben Sie den \textit{Oracle
aheinecke@5065: % Instantclient 11.2} erfolgreich entpackt und im Dateisystem unter
aheinecke@5065: % \textit{/opt/instantclient\_11\_2} abgelegt.
aheinecke@5065: %
aheinecke@5065: \subsubsection{Vorbereiten der Datenbank}
ingo@3661: Bevor die Importer verwendet werden k�nnen, ist es notwendig, dass eine leere
ingo@3661: Oracle Datenbank vorhanden ist. Anschlie�end m�ssen folgende SQL Skripte in
ingo@3661: diese Datenbank eingespielt werden:
ingo@3661: 
ingo@3661: \begin{enumerate}
ingo@3661: \item oracle.sql \\
ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der hydrologischen
ingo@3661: Daten.
ingo@3661: 
ingo@3661: \item oracle-minfo.sql \\
ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der morphologischen
ingo@3661: Daten.
ingo@3661: 
ingo@3661: \item oracle-spatial.sql \\
ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der geod�tischen
ingo@3661: Daten.
ingo@3661: 
ingo@3661: \item oracle-spatial\_idx.sql \\
ingo@3661: Mittels diesem SQL Skript werden die Indizes zum geod�tischen Datenbankschema\\
ingo@3661: hinzugef�gt.
ingo@3661: 
ingo@3661: \end{enumerate}
ingo@3661: 
ingo@3672: Zum Einspielen dieser Schemata setzen Sie folgende Befehle auf der Kommandozeile
ingo@3672: ab. Beachten Sie, dass $sqlplus$ im Pfad liegen muss, und der Linux-Nutzer
felix@5041: dieses Kommando ausf�hren k�nnen muss. Au�erdem sind $benutzername$ und $passwort$
ingo@3672: entsprechend Ihres Datenbank-Zugangs anzupassen.
aheinecke@5065: SQLPlus befindet sich in /opt/instantclient\_11\_2 um es verf�gbar zu machen
aheinecke@5065: f�hren Sie im Importer Verzeichnis folgende Befehle aus:
aheinecke@5065: 
aheinecke@5065: \begin{lstlisting}
aheinecke@5065: export LD_LIBRARY_PATH=opt/instantclient\_11\_2/lib:$LD_LIBRARY_PATH
aheinecke@5065: export PATH=opt/instantclient\_11\_2:$PATH
aheinecke@5065: \end{lstlisting}
aheinecke@5065: 
aheinecke@5065: Nun erstellen Sie das Schema:
ingo@3667: 
ingo@3661: \begin{lstlisting}
ingo@3672:     sqlplus benutzername/passwort @schema/oracle.sql
ingo@3672:     sqlplus benutzername/passwort @schema/oracle-minfo.sql
ingo@3672:     sqlplus benutzername/passwort @schema/oracle-spatial.sql
ingo@3672:     sqlplus benutzername/passwort @schema/oracle-spatial_idx.sql
ingo@3661: \end{lstlisting}
ingo@3661: 
aheinecke@5065: