Blog Name
  • Januar 2018

12.2: Instant Client jetzt auch für Data Pump und SQL*Loader

Was sind noch einmal Instant Clients? Ein Instant Client ist ein Art "Repackaging" von Oracle-Datenbank-Bibliotheken, Tools und Headerdateien. Damit kann man Anwendungen, die eine Verbindung zu einer Oracle-Datenbank benötigen, erstellen und ausführen. Ein Instant Client kann dabei zur Ausführung von OCI-, OCCI-, Pro*C-, JDBC- und ODBC-Anwendungen verwendet werden oder auch zur Ausführung von Skriptsprachentreibern. Die Installation besteht nur aus einem Entpacken eines ZIP-Pakets oder einer trivialen Installation von Linux-RPM-Paketen. Einige Dienstprogramme wie SQL*Plus oder der Workload Replay Client (auch wrc) für Real Application Testing sind schon seit einiger Zeit in Instant Client Paketen verfügbar. Obwohl der Footprint klein ist, ist die Funktionalität dieser Programme vollständig und nicht eingeschränkt.

In 12.2 wurden sogar Data Pump und SQL*Loader Clients hinzugefügt. Als ich vor der Aufgabe stand Daten im Data Pump Datenformat schnell und unkompliziert in meine Test Cloud Umgebung (hier ADWC) zu laden ohne einen Betriebssystem Zugriff zu haben, konnte ich den Instant Client Data Pump einmal selbst testen.

Wie bei allen Instant Client Programmen ist die Handhabung ganz einfach - nämlich wie folgt:

  1. Download der entsprechenden Instant Client Pakete von OTN - übrigens alle Installationen benötigen das Basic oder das Basic Lite Paket
  2. Unzip der Pakete in ein einzelnes Verzeichnis
  3. Setzen der Umgebungsvariablen
  4. Start der Anwendung

Für meinen Fall bedeutete dies, dass ich die entsprechenden Pakete für die Windows Plattform von OTN geladen habe - nämlich instantclient-basic-windows.x64-12.2.0.1.0.zip und instantclient-tools-windows.x64-12.2.0.1.0.zip. Nach dem Auspacken lag das Ergebnis dann im Verzeichnis instant_client_12_2 vor. Jatzt war ich schon fast fertig. Nun musste ich nur noch die die Umgebungsvariablen setzen und schon konnte es losgehen. Zwei Dinge musste ich beim Setzen der Umgebungsvariablen bedenken: Nutzt man einen Easy Connect ist kein Setzen von TSN_ADMIN erforderlich. Da ich in meiner Cloud Umgebung die Client Credential Zip Datei mit einer vordefinierten tnsnames.ora Datei verwenden wollte, habe ich im ersten Schritt eine TNS_ADMIN Variable gesetzt. Danach habe ich noch den Windows Pfad angepasst, um die Instant Client Dateien und die Datei msvcr120.dll (Microsoft Visual Studio 2013) verfügbar zu machen. Die Datei msvcr120.dll konnte ich aus meiner aktuellen SQL Developer Umgebung nutzen. Das Ganze sah dann bei mir folgendermassen aus.

set tns_admin=c:\Data\auto\wallet_....
set path=%path%;c:\data\instantclient_12_2\instantclient_12_2;
         C:\Data\sqldeveloper_17\sqldeveloper\jdk\jre\bin 

Nun konnte es also losgehen. Zuerst versuchte ich den Aufruf mit help=y.

C:\Data\instantclient12_2\instantclient_12_2>impdp help=y

Import: Release 12.2.0.1.0 - Production on Tue Jan 23 14:44:02 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.


The Data Pump Import utility provides a mechanism for transferring data objects
between Oracle databases. The utility is invoked with the following command:

     Example: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

You can control how Import runs by entering the 'impdp' command followed
by various parameters. To specify parameters, you use keywords:

     Format:  impdp KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
     Example: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

USERID must be the first parameter on the command line.

------------------------------------------------------------------------------

The available keywords and their descriptions follow. Default values are listed within square bracke
ts.

ABORT_STEP
Stop the job after it is initialized or at the indicated object.
Valid values are -1 or N where N is zero or greater.
N corresponds to the object's process order number in the master table.
...

Es sieht alles genauso so aus wie bei der originalen Variante in meinen Datenbank Installation. Also kann ich mit dem Laden beginnen. In meinem Fall wollte ich einige Ladeoptionen berücksichtigen. So sollten bestimmte Objekte nicht geladen werden wie zum Beispiel Indizes, Cluster, Materialized Views und Database Links. Dies kann man über den EXCLUDE Parameter bewerkstelligen. Da die Storage Informationen wie Tablespace keine Berücksichtigung finden sollten, konnte ich die Option TRANSFORM=SEGMENT_ATTRRIBUTES:N wählen. Partitionierte Objekte werden mit PARTITION_OPTIONS=MERGE in nicht partitionierte Tabellen transformiert. Der Connection String wird aus der tnsnames.ora angezogen, das logische Verzeichnis DATA_PUMP_DIR stand schon zur Verfügung. Und so konnte ich mit folgendem Aufruf meine Daten laden.

C:\Data\instantclient12_2\instantclient_12_2>impdp admin/@ directory=data_pump_dir dumpfile= partition_options=merge transform=SEGMENT_ATTRIBUTES:n exclude=index exclude=cluster 
exclude=indextype exclude=materialized_view exclude=materialized_view_log exclude=db_link 
logfile=importtest.log

Import: Release 12.2.0.1.0 - Production on Tue Jan 23 15:15:45 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
...

Weitere Informationen

 

Zurück zur Community-Seite
 

Visit the Oracle Blog

 

Contact Us

Oracle

Integrated Cloud Applications & Platform Services