Oracle Multitenant Migration und Erstellung – Der schnelle Weg zur Pluggable Database Ralf Lange Oracle Deutschland B.V. & Co KG Anlegen einer CDB Am besten mit dbca Klonen einer PDB Beispiel Lokal create pluggable database HCMBI from HCM Remote (über DB Link) create pluggable database HCMBI from [email protected] Klonen einer PDB Mit “normalen” Database Files SQL> CREATE PLUGGABLE DATABASE pdb1 ADMIN USER syspdb IDENTIFIED BY passwort FILE_NAME_CONVERT = ( '/oracle/oradata/pdbseed/', '/oracle/oradata/pdb1/') DEFAULT TABLESPACE pdb1_data DATAFILE '/oracle/oradata/pdb1/pdb_data01.dbf' SIZE 200M; Erzeugen einer Pluggable Database durch Upgrade / Migration Upgrade auf Multitenant Schritt 1: Upgrade der “alten” Datenbank “in-place” Upgrade in Place Upgrade auf Multitenant Schritt 2: Aktualisierte Datenbanken “einklinken” Upgrade auf Multitenant Schritt 3: Applikationen an Multitenant-Betrieb anpassen Upgrading to Multitenant Schritt 3: Applikationen an Multitenant-Betrieb anpassen Keine Applikationsänderungen nötig Upgrade auf Multitenant - Syntaxbeispiel „Frisch upgegradete“ Non-CDB im READ ONLY-Modus starten, dann: SQL> BEGIN DBMS_PDB.DESCRIBE( pdb_descr_file => '/home/oracle/ncdb.xml'); END; / Resultat: XML-Datei mit Metadaten (Speicherort und Einstellungen aller Datendateien) Upgrade auf Multitenant - Syntaxbeispiel (Forts.) Non-CDB herunterfahren, DB-Dateien und zuvor erzeugte XML-Datei auf neuen Server kopieren, dann: SQL> CREATE PLUGGABLE DATABASE pdb1 USING '/home/oracle/ncdb.xml' SOURCE_FILE_NAME_CONVERT= FILE_NAME_CONVERT= STORAGE (MAXSIZE 100G ('/oradata/noncdb', '/oradata/tmp' ('/oradata/tmp', '/oradata/pdb1‚ ) MAX_SHARED_TEMP_SIZE 900M); Skript $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql ausführen Neue PDB Read/Write öffnen Migration über Replikation ① Neue PDB “from Seed” erzeugen ② Inhalte replizieren z.B. über Oracle GoldenGate oder Data Pump Neu in 12c: Mit “Full Transportable Export / Import” können Transportable Tablespaces mit expdp und impdp Kommandos genutzt werden. (Backported auch für 11.2.0.3.) Mehr dazu im Whitepaper: http://www.oracle.com/technetwork/database/enterprise-edition/full-transportable-wp-12c-1973971.pdf Migration in 12c PDB mittels “Full Transportable Export/Import” Vorgehensweise ① Neue PDB “from Seed” erzeugen ② Tablespaces in Quell-DB auf READ ONLY setzen ③ Kopieren der zugehörigen Data Files aufs (12c) Zielsystem ④ a) EXPDP auf Quelle nutzen mit „...FULL=Y TRANSPORTABLE=ALWAYS“, dann IMPDP auf Ziel - oder – b) DB-Link nutzen um direkt von Zielseite aus der Quelle zu importieren (Hinweise: - DATAPUMP_IMP_FULL_DATABASE Privileg erforderlich - EXPDP aus 11g benötigt zus. Parameter VERSION=12) Fazit Warum eine neue Architektur? Wer braucht eigentlich PDBs? Unser Fazit: Oracle Multitenant hilft allen, die… Kosten sparen wollen durch – vereinfachtes Management (“many as one”) – bessere Konsolidierungsmöglichkeiten Mehr Innovation und weniger “Instandhaltung” in der IT wollen Nach standardisierten, aber dennoch flexiblen Architekturen suchen (z.B. durch “Plug/Unplug”) Weitere Informationen zu Oracle Multitenant …im Oracle Dojo Nr. 7: Herunterladen oder Bestellen unter: http://tinyurl.com/dojoonline Die Linksammlung dazu (mit MOS Notes, Doku-Links etc.) unter: http://tinyurl.com/multitenantmoreinfos