Oracle 12c Pluaggable Database Hands On

Download Report

Transcript Oracle 12c Pluaggable Database Hands On

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
geçerlidir.
 CONTAINER=ALL ile kullanılır.
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