Kapitel 24
ETL in der Praxis
588
7. Nun können die Änderungsdaten gelesen und ins Data Warehouse geladen wer-
den. Das kann z.B. mit einer INSERT-Anweisung erfolgen.
24.4 Transportable Tablespaces
Transportable Tablespaces sind ein überaus effizienter Weg, Daten in ein Data
Warehouse zu bringen. Es sind keine aufwendigen Entlade- und Ladeprozesse
erforderlich, der Tablespace wird einfach von einer Datenbank in eine andere
transportiert und mit ihr alle Daten. Aber auch für das Übertragen aus dem Data
Warehouse in einen Data Mart ist das Feature sehr gut geeignet.
Seit Oracle 10g ist es möglich, Tablespaces zwischen verschiedenen Plattformen
und Betriebssystemen zu transportieren. Das folgende Beispiel beschreibt, wie ein
Tablespace aus einer Windows-Datenbank in eine Linux-Datenbank transportiert
werden kann. Im folgenden Beispiel wird ein Tablespace plattformübergreifend
transportiert.
1. Überprüfen Sie, ob die Plattformen den Transport unterstützen. Da das
Endian-Format gleich ist, ist keine Konvertierung erforderlich.
9 source_table => 'accounts',
10 view_name => viewname);
11 dbms_output.put_line(viewname);
12 END;
13 /
CDC#CV$150395
PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
SQL> SELECT operation$, account_id, balance
2 FROM CDC#CV$150395;
OP ACCOUNT_ID BALANCE
-- ---------- ---------
I 100001 34.45
I 100002 5445.53
SQL> SELECT b.platform_name, endian_format
2 FROM v$transportable_platform a, v$database b
3 WHERE a.platform_name = b.platform_name;
PLATFORM_NAME ENDIAN_FORMAT
----------------------------- --------------
Microsoft Windows IA (32-bit) Little
SQL> SELECT b.platform_name, endian_format
2 FROM v$transportable_platform a, v$database b
3 WHERE a.platform_name = b.platform_name;
PLATFORM_NAME ENDIAN_FORMAT
----------------------------- --------------
Linux IA (32-bit) Little
24.4
Transportable Tablespaces
589
2. Sie können einen Tablespace nur dann transportieren, wenn sie »self-cont-
ained« ist, d.h. wenn keine Objektreferenzen in andere Tablespaces bestehen.
Verwenden Sie die Prozedur TRANSPORT_SET_CHECK, um dies zu überprü-
fen.
3. Erstellen Sie ein Transportable Tablespace Set. Verwenden Sie dazu Data Pump
und RMAN.
SQL> BEGIN
2 DBMS_TTS.TRANSPORT_SET_CHECK( 'transport',true);
3 END;
4 /
PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
Es wurden keine Zeilen ausgewählt
SQL> ALTER TABLESPACE transport READ ONLY;
Tablespace wurde geändert.
C:\Temp>expdp system/manager dumpfile=ts.dmp
TRANSPORT_TABLESPACES=transport
DIRECTORY=dpump
Export: Release 10.2.0.1.0 - Production on Thursday, 31 July, 2014
14:22:15
Copyright (c) 2003, 2013, Oracle. All rights reserved.
Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/******** dump
file=ts.dmp TRANSPORT_TABLESPACES=transport DIRECTORY=dpump
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLK
Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully
loaded/unloaded
****************************************************************************
*
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
C:\TEMP\TS.DMP
Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at
21:33
C:\Temp>rman target /
Recovery Manager: Release 12.1.0.1.0 – Production
Copyright (c) 1995, 2007, Oracle. All rights reserved.
connected to target database: DEMO (DBID=3275678797)
RMAN> CONVERT TABLESPACE transport
2> TO PLATFORM 'Linux IA (32-bit)'
3> FORMAT 'c:\temp\%U';
Starting backup at 15.07.04
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=141 devtype=DISK
channel ORA_DISK_1: starting datafile conversion

Get Oracle 12c - Das umfassende Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.