oracle12c pluggable database hands on - troug 2014
Post on 07-Jul-2015
1.411 Views
Preview:
TRANSCRIPT
Özgür Umut VURGUNÖzgür Umut VURGUN
12c Pluggable Database Hands-On
16 Ocak 2014www.ozgurumutvurgun.com
TROUG Ankara Bulusmasi
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
Oracle KronolojiOracle Kronoloji
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
Real Application Cluster
Grid
Manage changing
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
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
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.
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)
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
TopolojiTopoloji
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
Oracle 12c InstallationOracle 12c Installation
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com16 Ocak 2014
TROUG Ankara Bulusmasi
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
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;
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';
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
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
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
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 * oracle@192.168.4.61:/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
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
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" …………………..
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';……………………..
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
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
ozgurumutvurgun@gmail.comozgurumutvurgun@gmail.com
www.ozgurumutvurgun.comwww.ozgurumutvurgun.com
www.turkceoracle.com
top related