oracle12c pluggable database hands on - troug 2014
TRANSCRIPT
![Page 1: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/1.jpg)
Özgür Umut VURGUNÖzgür Umut VURGUN
12c Pluggable Database Hands-On
16 Ocak 2014www.ozgurumutvurgun.com
TROUG Ankara Bulusmasi
![Page 2: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/2.jpg)
AjandaAjanda
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
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
![Page 3: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/3.jpg)
Oracle KronolojiOracle Kronoloji
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
Real Application Cluster
Grid
Manage changing
![Page 4: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/4.jpg)
Pre - Oracle 12cPre - Oracle 12c
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
Oracle 12c öncesi veritabanı yapısını inceleyecek olursak …
- Background Proses çokluğu
- Yüksek memory paylaşımı
- Birden çok Oracle Medata zorunluluğu
![Page 5: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/5.jpg)
Oracle 12c Pluggable DatabaseOracle 12c Pluggable Database
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
CoContainer Database (CDB)ntainer Database (CDB)
Birden fazla veri tabanının çalıştığı ana yapı.
PluggablePluggable Database ( Database (PPDB)DB)
Taşınabilir özelliği olan ve normal işlemlerin yürütüldüğü veri tabanları
Non ContainerNon Container Database Database
Oracle 12c yapısı dışında kullanılan veri tabanları
PDB$SEEDPDB$SEED
Container DB üzerinde bulunan template PDB
CDB ve PDB üzerinde yeni kullanıcılar. Common Role &Users , Local Role & Users
User & GrantsUser & Grants
![Page 6: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/6.jpg)
Container Database (CDB)Container Database (CDB)
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
• 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.
![Page 7: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/7.jpg)
CDB$ROOT / Root FilesCDB$ROOT / Root Files
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
• SYSTEM – SYSAUX - UNDO ve USERS tablespace’leri
• Oracle Sistem Medata
• Redolog
[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
• Default temp
• PLSQL shared package(dbms_sql)
![Page 8: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/8.jpg)
Pluggable Database (PDB)Pluggable Database (PDB)
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
SYSTEMSYSTEM SYSAUXSYSAUXUsersUsers
TempTemp
OBJ$ Resource PlanLocal
Privilege
Common RoleCommon Role
Local RoleLocal Role
Common Common UsersUsers
Local Local UsersUsers
• Application Tablespace
• TEMP (lokal)
• Kullanıcılar ve Hakları
• PDB Sistem Metadata
• Application Verisi
• Resource Plan
![Page 9: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/9.jpg)
TopolojiTopoloji
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
![Page 10: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/10.jpg)
Oracle 12c InstallationOracle 12c Installation
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
![Page 11: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/11.jpg)
Users and RolesUsers and Roles
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
Common Users Local UsersLocal Users
Root Container’dan yönetilir
C## ön adıyla başlamak zorundadır.
CDB üzerindeki her PDB’de geçerlidir.
Unique User
CONTAINER=ALL
Pre – Oracle 12c
PDB User
Multiple User
CommonRole
CommonRole
Local Role
Root Container’dan yönetilir
CREATE ROLE – SET CONTAINER
C## ön adıyla başlamak zorundadır.
CONTAINER=ALL ile kullanılır.
PDB’den yönetilir.
CREATE ROLE
Oluşturulduğu PDB üzerinde
geçerlidir.
CDB$ROOT PDB
![Page 12: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/12.jpg)
Users and GrantsUsers and Grants
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
CDB$ROOTCDB$ROOTSYSSYS C##DBAC##DBA
SYSSYS
C##DBAC##DBA NATNAT
HRHR SYSSYS
C##DBAC##DBA NATNAT
HRHR
SYS
C##DBA
HR
HR
Sqlplus sys/Oracle3@pdbtst1 as sysdba;Sqlplus sys/Oracle3@pdbtst2 as sysdba;
NAT
NAT
pdbtst1 pdbtst2
Create user c##dba identified by test1 container=ALL;Grant create session to c##dba container=ALL;
Grant select any table to c##dba container=ALL;
![Page 13: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/13.jpg)
CREATE PDBsCREATE PDBs
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
1. FILE_NAME_CONVERT olmadan PDB oluşturma
SQL> CREATE PLUGGABLE DATABASE PDBTST1 ADMIN USER PDBTST1_ADMIN IDENTIFIED BY oracleROLES = (connect,resource);
Pluggable database created.
CREATE PLUGGABLE DATABASE PDBTST1 ADMIN USER PDBTST1_ADMIN IDENTIFIED BY oracleFILE_NAME_CONVERT = ('/disk2/app/oracle/oradata/orcl/pdbseed','/disk2/dbf');
2. FILE_NAME_CONVERT ile PDB oluşturma
SQL> select NAME, OPEN_MODE, CON_ID from V$PDBS;NAME OPEN_MODE CON_IDPDB$SEED READ ONLY 2PDBORCL MOUNTED 3PDBTST1 MOUNTED 7
**** alter session set pdb_file_name_convert='pdb','pdb_test';
![Page 14: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/14.jpg)
PDB Open / ClosePDB Open / Close
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
SHUTDOWNSHUTDOWN
NOMOUNTNOMOUNT
MOUNTMOUNT
OPENOPEN
PDB OPENPDB OPEN ALTER PLUGGABLE DATABASE pdbtst1 OPEN; ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER DATABASE OPEN;STARTUP
ALTER DATABASE MOUNT;STARTUP MOUNT
ALTER PLUGGABLE DATABASE pdb1 CLOSE IMMEDIATE;ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE;ALTER PLUGGABLE DATABASE ALL CLOSE;ALTER PLUGGABLE DATABASE CLOSE;SHUTDOWN IMMEDIATE
STARTUP NOMOUNT SQL> alter database mount;Database altered.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED MOUNTEDPDBORCL MOUNTEDPDBTST1 MOUNTED
SQL> alter database mount;Database altered.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED MOUNTEDPDBORCL MOUNTEDPDBTST1 MOUNTED
SQL> startupORACLE instance started.Database opened.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED READ ONLYPDBORCL MOUNTEDPDBTST1 MOUNTED
SQL> startupORACLE instance started.Database opened.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED READ ONLYPDBORCL MOUNTEDPDBTST1 MOUNTED
SQL> alter pluggable database all open;Pluggable databases opened.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED READ ONLYPDBORCL READ WRITEPDBTST1 READ WRITE
SQL> alter pluggable database all open;Pluggable databases opened.
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODE------------------------------ ----------PDB$SEED READ ONLYPDBORCL READ WRITEPDBTST1 READ WRITE
![Page 15: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/15.jpg)
Lab1: UNPLUG / Lab1: UNPLUG / DROP DROP PDBsPDBs
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ALTER PLUGGABLE DATABASE PDBORCL CLOSE;
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODEPDB$SEED READ ONLYPDBORCL MOUNTPDBTST1 READ WRITEROOTROOT
1 CLOSE PDB
2 UNPLUG PDB
ROOTROOT
ALTER PLUGGABLE DATABASE PDBORCL UNPLUG INTO '/DISK2/SETUP_FILES/PDBORCL.XML';
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODEPDB$SEED READ ONLYPDBTST1 READ WRITE
3 DROP PDB
ROOTROOT XMLXML
DBFDBF
DROP PLUGGABLE DATABASE PDBORCL;
DROP PLUGGABLE DATABASE PDBORCL KEEP DATAFILES;
DROP PLUGGABLE DATABASE PDBORCL INCLUDING DATAFILES
![Page 16: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/16.jpg)
Lab2 : PLUG / Clone PDB Lab2 : PLUG / Clone PDB
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
2 CLONE PDB
ALTER PLUGGABLE DATABASE TST07 OPEN READ ONLY;
CREATE PLUGGABLE DATABASE TST08 FROM TST07 FILE_NAME_CONVERT=(……………);
ALTER PLUGGABLE DATABASE TST07 OPEN READ WRITE;ALTER PLUGGABLE DATABASE TST08 OPEN READ WRITE;
ROOTROOT
ROOTROOT
CREATE PLUGGABLE DATABASE PDBORCLUSING '/disk2/setup_files/pdborcl.xml‘FILE_NAME_CONVERT=(…………………………);
CREATE PLUGGABLE DATABASE PDBORCL USING '/disk2/setup_files/pdborcl.xml' NOCOPY || COPY || MOVE TEMPFILE REUSE;
SQL> SELECT name,open_mode FROM v$pdbs;NAME OPEN_MODEPDB$SEED READ ONLYPDBORCL MOUNTEDTST1 READ WRITE
1 PLUG PDB XMLXML
![Page 17: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/17.jpg)
Lab 3 : CLONE PDB FROM REMOTE CDBLab 3 : CLONE PDB FROM REMOTE CDB
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ROOTROOT
1 Create PDB CDB to CDB
ROOTROOT
CDBIST
CDBANK
XML ve DBF -> Target OSXML ve DBF -> Target OS
scp -r * [email protected]:/disk2/setup_files/datafiles
CDB’de PDB’lerin kontrolüCDB’de PDB’lerin kontrolü
SQL> select pdb_name, status from CDB_PDBS;PDB_NAME STATUSPDB$SEED NORMALPDB01 NORMALPDB05 NORMAL
PDB OluşturalımPDB Oluşturalım
create pluggable database PDBCDR using '/disk2/setup_files/ pdborcl.xml' source_file_name_convert (‘……, ……') nocopy tempfile reuse;
Oluşan PDB’in durumu Oluşan PDB’in durumu
SQL> select pdb_name, status from CDB_PDBS; PDB_NAME STATUSPDB$SEED NORMALPDBTST1 NORMALPDBCDR UNPLUG
SQL> select name, open_mode from V$PDBS; NAME OPEN_MODEPDB$SEED READ ONLYPDBCDR MOUNTEDPDBTST1 READ WRITE
![Page 18: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/18.jpg)
Lab 4 : CLONE PDB FROM REMOTE CDB with DB LINKLab 4 : CLONE PDB FROM REMOTE CDB with DB LINK
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ROOTROOT
4 Create PDB CDB to CDB
ROOTROOT
CDBIST
CDBANK
DB Link
PDB Read OnlyPDB Read Only
SQL> alter pluggable database PDBCDR close immediate; SQL> alter pluggable database PDBCDR open read only;
DB LinkDB Link
create database link pdbcdr _lnk connect to SYSTEM identified by Oracle3 using '192.168.4.61:1521/pdbcdr';
create pluggable database pdbcdr _rmt from pdbcdr @ pdbcdr _lnk file_name_convert=('/disk2/app/oracle/oradata/orcl/','/disk2/app/oracle/oradata/orcl/remotedb');
PDB OluşturmaPDB Oluşturma
SQL> select name, open_mode from V$PDBS; NAME OPEN_MODEPDB$SEED READ ONLYPDBCDR MOUNTEDPDBTST1 READ WRITE
* BUG 15931910 * BUG 15931910
![Page 19: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/19.jpg)
Lab 5 : Move Non CDB to CDB Lab 5 : Move Non CDB to CDB
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ABYS
ROOTROOT
CDBANK
OS : Windows 7 32bitDB : Oracle 11.2.0.3
OS : Centos Linux 64bitDB : Oracle 12.1.0.1
Bu yöntemi uygulamak için ;
**** Non CDB veritabanı 11.2.0.3 olmak zorunda
**** Compatible Parametresi = 11.2.0.3
**** Karakter setleri aynı olmalıABYSDBABYSDB
DMPDosyası
expdp 'sys/Oracle3 as sysdba' full=y job_name=EXPORT_CDRDB dumpfile=abysdbdb.dmp DIRECTORY=EXP_DATA_PUMP_DIR LOGFILE=exp_abysdb.log VERSION=12 transportable=always
2. Non CDB, Data Pump Transportable Export
1. Tablespace Read Only
Alter tablespace ABYS read only;
Alter tablespace USERS read only;
3. RMAN Backup DBF
rman target /Run {CONVERT DATAFILE 'D:\APP\197278\ORADATA\ORCL\ABYS.DBF' DB_FILE_NAME_CONVERT="D:\APP\197278\ORADATA\ORCL\ABYS.DBF","D:\orabkup\ABYS.DBF" …………………..
![Page 20: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/20.jpg)
Lab 5 : Move Non CDB to CDB Lab 5 : Move Non CDB to CDB
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ABYS
ROOTROOT
CDBANK
OS : Windows 7 32bitDB : Oracle 11.2.0.3
OS : Centos Linux 64bitDB : Oracle 12.1.0.1
ABYSDBABYSDB
4. Dosyaların Transferi
CREATE PLUGGABLE DATABASE abysADMIN USER admin IDENTIFIED BY abysROLES = (connect,resource);
Alter pluggable database ABYS open read write ;
DMPDosyası
5. Pluggable DB Oluşturma
FTP ile kopyalama
*** $scp –r exp_files oracle@test2:/disk2/backup
6. Restore Datafiles
run{CONVERT DATAFILE '/disk2/exp/ABYS.dbf' DB_FILE_NAME_CONVERT="/disk2/exp/import/ABYS.dbf","/disk2/app/oracle/oradata/orcl/abys_a/ABYS.dbf" FORMAT='/disk2/app/oracle/oradata/orcl/abys_a/ABYS.dbf';……………………..
![Page 21: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/21.jpg)
Lab 5: Move Non CDB to CDB Lab 5: Move Non CDB to CDB
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
ROOTROOT
CDBANKOS : Centos Linux 64bitDB : Oracle 12.1.0.1
ABYSOS : Windows 7 32bitDB : Oracle 11.2.0.3
ABYSDBABYSDB
7. Import
DMPDosyası
8. PDB Status
SQL> select CON_ID, NAME, OPEN_MODE from V$PDBS;
CON_ID NAME OPEN_MODE 2 PDB$SEED READ ONLY4 ABYS READ WRITE
impdp \'sys/Oracle3@abyspdb AS SYSDBA\' full=y DIRECTORY=IMP_DATA_PUMP_DIR dumpfile=DATAPUMP_DEV2DB.DMP LOGFILE=imp_abys.log VERSION=12 TRANSPORT_DATAFILES=USERS01.DBF_2 job_name=imp_ABYSdb parallel=2 REMAP_TABLESPACE='ABYS':'ABYS_DATA'
9. Tablo Kontrolü
[oracle@test1]$ sqlplus / as sysdba
SQL > conn sys/Oracle3@abysdb as sysdbaConnectted.
SQL> select count(*) from abys.abone;COUNT(*)6597
![Page 22: Oracle12c Pluggable Database Hands On - TROUG 2014](https://reader031.vdocument.in/reader031/viewer/2022020101/559b048d1a28abb67e8b485a/html5/thumbnails/22.jpg)
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
TeşekkürlerÖzgür Umut VurgunÖzgür Umut Vurgun
Bilgisayar MühendisiBilgisayar MühendisiOracle 10g OCA/OCP Oracle 10g OCA/OCP
[email protected]@gmail.com
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com
www.turkceoracle.com