<Insert Picture Here> DOAG SAP SIG June 2007 Technical Overview Transportable Tablespaces 10g Martin A. Sautter Principal Member Technical Staff Oracle / SAP Development Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here> Tablespace Definition <Insert Picture Here> • Eine Oracle Datenbank besteht aus einer oder mehreren logischen Speichereinheiten, diese werden Tablespace genannt. • Jeder Tablespace besteht aus einer oder mehreren Dateien, diese werden Datenfiles genannt. • Die Datenfiles haben eine durch das Betriebssystem festgelegte physikalische Struktur. • Oracle verwendet eine konstante und bei der Initialisierung festgelegte Blockgröße für Schreib- und Leseoperationen. Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here> Konzept, Historie und Kompatibilität BS copy Exp expdp Imp Meta impdp Minimum Compatibility Setting Transport Scenario Source Database Target Database Databases on the same platform 8.0 8.0 Tablespace with different database block size than the target database 9.0 9.0 Databases on different platforms 10.0 10.0 Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here> Voraussetzungen für einen Transport mittels Transportable Tablespaces • Database Characterset und National Characterset müssen auf Ursprungs- und Zieldatenbank gleich sein. • Der Tablespace-Name darf auf der Zieldatenbank noch nicht verwendet sein. • Der zu transportierende Tablespace oder das Set von Tablespaces muss in sich abgeschlossen sein. • Endianness von Ausgangs- und Zielplattform auf Kompatibilität prüfen • System-, Sysaux-, Temporary-, Undo-Tablespaces können nicht transportiert werden. Characterset prüfen SQL> select * from nls_database_parameters where parameter like '%SET' order by 1; PARAMETER -----------------------------VALUE --------------------------------NLS_CHARACTERSET UTF8 NLS_NCHAR_CHARACTERSET UTF8 SQL> <Insert Picture Here> Unabhängigkeit des Tablespaces bzw. des Tablespacesets <Insert Picture Here> SQL> connect / as sysdba SQL> execute sys.dbms_tts.transport_set_check('PSAPSR3, PSAPSR3USR',true); PL/SQL procedure successfully completed. SQL> select * from sys.transport_set_violations; no rows selected Endianness der Plattformen SQL> select PLATFORM_ID,PLATFORM_NAME,ENDIAN_FORMAT from v$transportable_platform v$transportable_platform order by PLATFORM_ID; PLATFORM_ID PLATFORM_NAME ----------- ------------------------------ -------------1 Solaris[tm Solaris[tm] tm] OE (32(32-bit) bit) 2 Solaris[tm Solaris[tm] tm] OE (64(64-bit) bit) 3 HPHP-UX (64(64-bit) bit) 4 HPHP-UX IA (64(64-bit) bit) 5 HP Tru64 UNIX 6 AIXAIX-Based Systems (64(64-bit) bit) 7 Microsoft Windows IA (32(32-bit) bit) 8 Microsoft Windows IA (64(64-bit) bit) 9 IBM zSeries Based Linux 10 Linux IA (32(32-bit) bit) 11 Linux IA (64(64-bit) bit) 12 Microsoft Windows 6464-bit for A 13 Linux 6464-bit for AMD 15 HP Open VMS 16 Apple Mac OS 17 Solaris Operating System (x86) 18 IBM Power Based Linux ENDIAN_FORMAT Big Big Big Big Little Little Big Little Little Big Little Little Little Little Little Little Big g Bi Little Big <Insert Picture Here> Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here> Ablaufschema 1. Voraussetzungen prüfen Characterset Plattform Endianness Tablespaceset ist self-contained 2. Tablespace READ ONLY setzen SQL>alter tablespace TBS1 READ ONLY; SQL>alter Tablespace TBS2 READ ONLY; 3. Export der Metadata exp userid=\’sys/sys as sysdba\’ file=tbs_exp.dmp log=tbs.log transport_tablespace=y tablespaces=TBS1,TBS2 Ablaufschema 3. Export Metadata mit datapump CREATE OR REPLACE DIRECTORY dpump_dir AS '/tmp/subdir' ; GRANT READ,WRITE ON DIRECTORY dpump_dir TO system; expdp system/password DUMPFILE=expdat.dmp DIRECTORY = dpump_dir TRANSPORT_TABLESPACES= TBS1,TBS2 TRANSPORT_FULL_CHECK=Y 4. Bei unterschiedlichem Endian Format RMAN> CONVERT TABLESPACE TBS1 TO PLATFORM 'HP-UX (64-bit)' FORMAT '/tmp/%U'; RMAN> CONVERT TABLESPACE TBS2 TO PLATFORM 'HP-UX (64-bit)' FORMAT '/tmp/%U'; 5. Dateien mit Betriebssytemmittel kopieren scp oder ftp oder rcp oder NFS-Mount,… Ablaufschema 6. Import der Metadaten mit IMP imp userid=\'sys/sys as sysdba\' file=tbs_exp.dmp log=tba_imp.log transport_tablespace=y datafiles='/tmp/....','/tmp/...' unter Verwendung von datapump CREATE OR REPLACE DIRECTORY dpump_dir AS '/tmp/subdir' ; GRANT READ,WRITE ON DIRECTORY dpump_dir TO system; impdp system/password DUMPFILE=expdat.dmp DIRECTORY=dpump_dir TRANSPORT_DATAFILES='/tmp/....','/tmp/...' REMAP_SCHEMA=(source:target) REMAP_SCHEMA=(source_sch2:target_schema_sch2) You can use REMAP_SCHEMA if you want to change the ownership of the transported database objects. Ablaufschema 7. Tablespace READ/WRITE setzen SQL>alter tablespace TBS1 READ WRITE; SQL>alter Tablespace TBS2 READ WRITE; Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Anwendungs Bereich Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here> Einschränkungen für Transportable Tablespaces • Opaque Types (RAW,BFILE,..) opaque types können transportiert werden. Bei der Konvertierung der endiannes werden sie nicht berücksichtigt • Floating-Point Numbers BINARY_FLOAT BINARY_DOUBLE Typen können nur mit Datapump transportiert werden • Objekte mit “underlying objects” wie materialized views oder “contained objects” wie partitioned tables verlangen ein TABLESPACESET das alle Objects beinhaltet. • Objekte von user sys können nicht transportiert werden Agenda • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Anwendungs Bereich Ablaufschema Einschränkungen Fragen & Antworten <Insert Picture Here> Fragen und Antworten F & A metalink.oracle.com Or oracle.com Agenda • • • • • • • Tablespace Definition Konzept, Historie und Kompatibilität Voraussetzungen Anwendungs Bereich Ablaufschema Einschränkungen Fragen & Antworten Beispiel <Insert Picture Here>