Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
12c Pluggable Database Hands-On Özgür Umut VURGUN TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Ajanda Oracle Kronoloji Oracle 12c Pluggable Database Container Database CDB$ROOT Pluggable Database Oracle 12c Yeni Kullanıcılar ve Haklar Oracle 12c Hands On Lab 1: Drop / Unplug PDB Lab 2: Plug / Clone PDB Lab 3: CLONE PDB FROM REMOTE CDB Lab 4: CLONE PDB FROM REMOTE CDB with DB Link Lab 5: Non CDB to CDB with Data Pump Transportable Export / Import TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Oracle Kronoloji Manage changing Grid Real Application Cluster TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Pre - Oracle 12c Oracle 12c öncesi veritabanı yapısını inceleyecek olursak … - Background Proses çokluğu - Yüksek memory paylaşımı - Birden çok Oracle Medata zorunluluğu TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Oracle 12c Pluggable Database Container Database (CDB) Birden fazla veri tabanının çalıştığı ana yapı. Pluggable Database (PDB) Taşınabilir özelliği olan ve normal işlemlerin yürütüldüğü veri tabanları Non Container Database Oracle 12c yapısı dışında kullanılan veri tabanları PDB$SEED Container DB üzerinde bulunan template PDB User & Grants CDB ve PDB üzerinde yeni kullanıcılar. Common Role &Users , Local Role & Users TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Container Database (CDB) • ROOT yapısı altında ‘Oracle System Metada’ ve ve işlemlerinin yapıldığı alandır. • Oracle Metadata • ‘Common Users’ yönetiminin yapıldığı • Instance mantığında memory ve proses yönetiminin yapıldığı alandır. TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com CDB$ROOT / Root Files • SYSTEM – SYSAUX - UNDO ve USERS tablespace’leri • Oracle Sistem Medata • Redolog • Default temp • PLSQL shared package(dbms_sql) [oracle@test1 scripts]$ sqlplus / as sysdba SQL> @tablespace CON_ID Status Name Type Size (M) ---------- ----- ------------------------------ --------------------- -------------1 ONLINE SYSTEM PERMANENT 790.000 1 ONLINE SYSAUX PERMANENT 1,470.000 1 ONLINE UNDOTBS1 UNDO 250.000 1 ONLINE USERS PERMANENT 5.000 2 ONLINE SYSTEM PERMANENT 250.000 2 ONLINE SYSAUX PERMANENT 590.000 5 ONLINE ABYS_DATA PERMANENT 161.250 5 ONLINE SYSAUX PERMANENT 820.000 5 ONLINE USERS PERMANENT 38.750 5 ONLINE SYSTEM PERMANENT 440.000 [oracle@test1 scripts]$ sqlplus sys/Oracle3@abys as sysdba SQL> @tablespace CON_ID Status Name Type Extent Man Size (M) ---------- --------- ------------------------------ --------- ---------- -------------5 ONLINE USERS PERMANENT 38.750 5 ONLINE ABYS_DATA PERMANENT 161.250 5 ONLINE TEMP TEMPORARY 506.000 5 ONLINE SYSTEM PERMANENT 440.000 5 ONLINE SYSAUX PERMANENT 820.000 TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Pluggable Database (PDB) Common Role Local Privilege Common Users OBJ$ Local Role SYSTEM Local Users SYSAUX Resource Plan Temp Users • Application Tablespace • PDB Sistem Metadata • TEMP (lokal) • Application Verisi • Kullanıcılar ve Hakları • Resource Plan TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Topoloji TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Oracle 12c Installation TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Users and Roles PDB CDB$ROOT Local Users Common Users Root Container’dan yönetilir C## ön adıyla başlamak zorundadır. Pre – Oracle 12c CDB üzerindeki her PDB’de geçerlidir. PDB User Unique User Multiple User CONTAINER=ALL Local Role Common Role Root Container’dan yönetilir PDB’den yönetilir. CREATE ROLE – SET CONTAINER CREATE ROLE C## ön adıyla başlamak zorundadır. Oluşturulduğu PDB üzerinde CONTAINER=ALL ile kullanılır. geçerlidir. TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Users and Grants PDB$ SEED SYS SYS HR SYS HR C##DBA NAT C##DBA NAT HR NAT pdbtst1 C##DBA SYS C##DBA CDB$ROOT pdbtst2 HR NAT TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com CREATE PDBs TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com PDB Open / Close PDB OPEN OPEN ALTER PLUGGABLE DATABASE pdbtst1 OPEN; ALTER PLUGGABLE DATABASE ALL OPEN; ALTER DATABASE OPEN; STARTUP SQL> alter pluggable database all open; Pluggable databases opened. SQL> SELECT name,open_mode FROM v$pdbs; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDBORCL READ WRITE PDBTST1 READ WRITE SQL> startup ORACLE instance started. Database opened. MOUNT NOMOUNT SHUTDOWN ALTER DATABASE MOUNT; STARTUP MOUNT SQL> SELECT name,open_mode FROM v$pdbs; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDBORCL MOUNTED PDBTST1 MOUNTED STARTUP NOMOUNT SQL> alter database mount; Database altered. ALTER PLUGGABLE DATABASE pdb1 CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE; ALTER PLUGGABLE DATABASE ALL CLOSE; ALTER PLUGGABLE DATABASE CLOSE; SHUTDOWN IMMEDIATE TROUG Ankara Bulusmasi 16 Ocak 2014 SQL> SELECT name,open_mode FROM v$pdbs; NAME OPEN_MODE ------------------------------ ---------PDB$SEED MOUNTED PDBORCL MOUNTED PDBTST1 MOUNTED www.ozgurumutvurgun.com Lab1: UNPLUG / DROP PDBs TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Lab2 : PLUG / Clone PDB 1 PLUG PDB XML CREATE PLUGGABLE DATABASE PDBORCL USING '/disk2/setup_files/pdborcl.xml‘ FILE_NAME_CONVERT=(…………………………); PDB$ SEED CREATE PLUGGABLE DATABASE PDBORCL USING '/disk2/setup_files/pdborcl.xml' NOCOPY || COPY || MOVE TEMPFILE REUSE; PDBORCL ROOT SQL> SELECT name,open_mode FROM v$pdbs; NAME OPEN_MODE PDB$SEED READ ONLY PDBORCL MOUNTED TST1 READ WRITE 2 PDB TST1 CLONE PDB ALTER PLUGGABLE DATABASE TST07 OPEN READ ONLY; PDB$ SEED TST07 TST08 CREATE PLUGGABLE DATABASE TST08 FROM TST07 FILE_NAME_CONVERT=(……………); ALTER PLUGGABLE DATABASE TST07 OPEN READ WRITE; ALTER PLUGGABLE DATABASE TST08 OPEN READ WRITE; TROUG Ankara Bulusmasi 16 Ocak 2014 ROOT www.ozgurumutvurgun.com Lab 3 : CLONE PDB FROM REMOTE CDB 1 Create PDB CDB to CDB PDB$ SEED PDBWEB PDB1905 PDBCDR ROOT CDBIST PDB$ SEED PDB01 PDB05 ROOT CDBANK TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Lab 4 : CLONE PDB FROM REMOTE CDB with DB LINK 4 Create PDB CDB to CDB PDB Read Only PDB$ SEED PDBWEB PDB1905 ROOT CDBIST PDBCDR SQL> alter pluggable database PDBCDR close immediate; SQL> alter pluggable database PDBCDR open read only; DB Link create database link pdbcdr _lnk connect to SYSTEM identified by Oracle3 using '192.168.4.61:1521/pdbcdr'; DB Link PDB Oluşturma PDB$ SEED create pluggable database pdbcdr _rmt from pdbcdr @ pdbcdr _lnk file_name_convert=('/disk2/app/oracle/oradata/orcl/','/disk2/app/oracle/or adata/orcl/remotedb'); PDB01 PDB05 ROOT SQL> select name, open_mode from V$PDBS; NAME OPEN_MODE PDB$SEED READ ONLY PDBCDR MOUNTED PDBTST1 READ WRITE CDBANK * BUG 15931910 TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Lab 5 : Move Non CDB to CDB OS : Windows 7 32bit DB : Oracle 11.2.0.3 Bu yöntemi uygulamak için ; ABYS **** Non CDB veritabanı 11.2.0.3 olmak zorunda ABYSDB **** Compatible Parametresi = 11.2.0.3 CDRDB **** Karakter setleri aynı olmalı CDBANK OS : Centos Linux 64bit DB : Oracle 12.1.0.1 PDB$ SEED PDB01 PDB05 ROOT TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Lab 5 : Move Non CDB to CDB OS : Windows 7 32bit DB : Oracle 11.2.0.3 ABYS ABYSDB CDRDB DMP Dosyası CDBANK OS : Centos Linux 64bit DB : Oracle 12.1.0.1 PDB$ SEED PDB01 PDB05 ROOT TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Lab 5: Move Non CDB to CDB ABYS OS : Windows 7 32bit DB : Oracle 11.2.0.3 ABYSDB CDRDB DMP Dosyası CDBANK OS : Centos Linux 64bit DB : Oracle 12.1.0.1 PDB$ SEED PDB01 PDB05 ABYS ROOT TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com Teşekkürler Özgür Umut Vurgun Bilgisayar Mühendisi Oracle 10g OCA/OCP [email protected] www.ozgurumutvurgun.com www.turkceoracle.com TROUG Ankara Bulusmasi 16 Ocak 2014 www.ozgurumutvurgun.com