O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 47 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Quem viu também gostou (20)

Anúncio

Semelhante a Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2 (20)

Mais de Markus Flechtner (20)

Anúncio

Mais recentes (20)

Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2

  1. 1. BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH Oracle Multitenant Database 2.0 Improvements in Oracle Database 12c Release 2 Markus Flechtner
  2. 2. Our company. Multitenant 2.0 - Oracle Database 12c Release 22 21.03.17 Trivadis is a market leader in IT consulting, system integration, solution engineering and the provision of IT services focusing on and technologies in Switzerland, Germany, Austria and Denmark. We offer our services in the following strategic business fields: Trivadis Services takes over the interactive operation of your IT systems. O P E R A T I O N
  3. 3. COPENHAGEN MUNICH LAUSANNE BERN ZURICH BRUGG GENEVA HAMBURG DÜSSELDORF FRANKFURT STUTTGART FREIBURG BASLE VIENNA With over 600 specialists and IT experts in your region. Multitenant 2.0 - Oracle Database 12c Release 23 21.03.17 14 Trivadis branches and more than 600 employees 200 Service Level Agreements Over 4,000 training participants Research and development budget: CHF 5.0 / EUR 4 million Financially self-supporting and sustainably profitable Experience from more than 1,900 projects per year at over 800 customers
  4. 4. About me .. Markus Flechtner Principal Consultant, Trivadis, Duesseldorf/Germany, since April 2008 Working with Oracle since the 1990’s – Development (Forms, Reports, PL/SQL) – Support – Database Administration Focus – Oracle Real Application Clusters – Database Upgrade- and Migration Projects Teacher – O-RAC – Oracle Real Application Clusters – O-NF12CDBA – Oracle 12c New Features for the DBA Discipline Manager Infrastructure Database @Trivadis Blog: https://www.markusdba.de/ @markusdba 21.03.17 Multitenant 2.0 - Oracle Database 12c Release 24
  5. 5. 21.03.17 Multitenant 2.0 - Oracle Database 12c Release 25 Technology on its own won't help you. You need to know how to use it properly.
  6. 6. Agenda Multitenant 2.0 - Oracle Database 12c Release 26 21.03.17 1. Looking back: Multitenant in Oracle Database 12c Release 1 2. General new features 3. New Features for PDB provisioning 4. PDB Lockdown Profiles 5. Resource Management 6. Application Containers 7. Summary
  7. 7. Multitenant 2.0 - Oracle Database 12c Release 27 21.03.17 Looking back: Oracle Multitenant in 12c R1
  8. 8. Oracle Multitenant in 12c R1 Multitenant 2.0 - Oracle Database 12c Release 28 21.03.17 The multitenant architecture (“Container Database Architecture”) introduced in Oracle Database 12c Release 1 enables an Oracle database to work as a container database (CDB) A new database architecture designed for: – consolidation/database virtualization – fast and easy provisioning – separation of administrative duties – rapid movement of user data (unplug/plug) Pluggable databases (PDBs) are compatible with traditional non-CDB (same behaviour from the application point of view) several restrictions in Oracle Database 12c Release 1
  9. 9. Multitenant Database Architecture 12cR1 - overview PMON SMON LGWR DBW0 DIAG … SYSTEM SYSAUX REDO CTLUNDO CDB$ROOT [RW] TEMP SYSTEM SYSAUX TEMP PDB$SEED [RO] CRM01 [RW] SYSTEM SYSAUX TEMP FA01 [RW] SYSTEM SYSAUX TEMP CRM DBA CDB DBA FA DBA APP DBA Application Tablespaces Application Tablespaces 21.03.17 Multitenant 2.0 - Oracle Database 12c Release 29
  10. 10. Available database architectures in Oracle 12c Multitenant 2.0 - Oracle Database 12c Release 210 Non-CDB Architecture SE2, EE Single-tenant SE2, EE Multitenant EE + Multitenant Option 21.03.17 Instance Instance Instance Database CDB$ROOT CDB$ROOT PDB PDB 001 PDB 252 ... Deprecated! Future default! Extra licence!
  11. 11. Multitenant 2.0 - Oracle Database 12c Release 211 21.03.17 General New Features
  12. 12. Local Undo Multitenant 2.0 - Oracle Database 12c Release 212 21.03.17 In 12c R1 the Undo tablespace was a common resource in the CDB$ROOT container In 12c R2 the Undo tablespace can be defined on PDB level („LOCAL UNDO“) This setting has to be defined during the creation of the CDB – But can be changed afterwards Local Undo is recommended – Some new features require local Undo CREATE DATABASE .. ENABLE PLUGGABLE DATABASE .. LOCAL UNDO ON .. PDB01 [RW] Application Tablespaces SYSTEM SYSAUX UNDO TEMP CDB$ROOT [RW] PDB$SEED [RO]
  13. 13. Flashback of Pluggable Databases Multitenant 2.0 - Oracle Database 12c Release 213 21.03.17 With local Undo, flashback of a PDB is straightforward: Without local Undo, Oracle creates an auxiliary instance when flashing back a PDB – Default auxiliary destination is the Fast Recovery Area – Can be changed in the „FLASHBACK“-command ALTER SESSION SET CONTAINER=PDB1; CREATE RESTORE POINT PDB_FB_DEMO; .. ALTER SESSION SET CONTAINER=CDB$ROOT; ALTER PLUGGABLE DATABASE PDB1 CLOSE; FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT PDB_FB_DEMO; ALTER PLUGGABLE DATABASE PDB1 OPEN RESETLOGS;
  14. 14. Unplug a PDB into PDB archive file Multitenant 2.0 - Oracle Database 12c Release 214 21.03.17 PDB Archive File – Contains manifest + datafiles – Extension must be .pdb It‘s a ZIP file with misleading suffix ALTER PLUGGABLE DATABASE PDB02 CLOSE; ALTER PLUGGABLE DATABASE PDB02 UNPLUG INTO '/tmp/pdb02.pdb'; DROP PLUGGABLE DATABASE PDB02 including datafiles; .. CREATE PLUGGABLE DATABASE PDB02 USING '/tmp/pdb02.pdb' FILE_NAME_CONVERT=('/tmp','/u01/oradata/TVDCDB1/PDB02'); ALTER PLUGGABLE DATABASE PDB02 open;
  15. 15. Pluggable Databases with different Character Sets Multitenant 2.0 - Oracle Database 12c Release 215 21.03.17 If the CDB character set is AL32UTF8, PDBs with a different character set can be plugged in If the CDB character set is not AL32UTF8, all PDBs must use the character set of CDB$ROOT It‘s not possible to create a new PDB with a different character set PDB01 [RW] AL32UTF8 CDB$ROOT (AL32UTF8) PDB$SEED AL32UTF8 PDB02 [RW] WE8ISO8859P15 PDB01 [RW] US7ASCII CDB$ROOT (US7ASCII) PDB$SEED US7ASCII PDB02 [RW] US7ASCII
  16. 16. „Small things“ (1) Multitenant 2.0 - Oracle Database 12c Release 216 21.03.17 Maximum number of PDBs raised from 252 to 4096 (Exadata + Oracle Cloud only) Number of PDBSs can be limited – new parameter MAX_PDBS – Hitting the limit results in „ORA-65010: maximum number of pluggable databases created“ Feature availability – Heatmap and ILM are supported – Sharding is not supported L Database Options – DBCA supports creating a CDB with a subset of features Important for Single-Tenant!
  17. 17. „Small things“ (2) Multitenant 2.0 - Oracle Database 12c Release 217 21.03.17 Parallel Creation of PDBs Automatic Workload Repository (AWR) on PDB level CREATE PLUGGABLE DATABASE .. PARALLEL [DOP]; REM ---- IN CDB$ROOT OR ON PDB LEVEL --------------------- ALTER SYSTEM SET AWR_PDB_AUTOFLUSH_ENABLED=TRUE SCOPE=BOTH; REM ---- SET SNAPSHOT INTERVAL ON PDB LEVEL --------------- BEGIN DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS (INTERVAL => 60); END; /
  18. 18. Multitenant 2.0 - Oracle Database 12c Release 218 21.03.17 New Features for PDB provisioning
  19. 19. Hot Cloning Multitenant 2.0 - Oracle Database 12c Release 219 21.03.17 When cloning a PDB the source PDB does not need to be READONLY anymore – CDB must be in Archivelog-mode – Cloning uses Media Recovery In Noarchivelog-mode, READONLY mode for source PDB is still required Possible with 12.1.0.2, too – but neither documented nor supported CDB$ROOT [RW] PDB01 [RW] COPY PDB02 [RW]
  20. 20. PDB refresh (1) Multitenant 2.0 - Oracle Database 12c Release 220 21.03.17 Idea: refresh a PDB in regular intervals Use case: Use cloned PDB as source for further PDB cloning Cloned PDB can only be opened in read only-mode Refresh can be done manually or automatically Source and target PDB must be in different CDBs Target PDB must be closed for refresh CRM01 [RW] Initial clone CRM02 [RO] CRM01 [RW] Propagate changes CRM02 [Closed]
  21. 21. PDB refresh (2) Multitenant 2.0 - Oracle Database 12c Release 221 21.03.17 Specify the refresh mode Other refresh modes – REFRESH NONE – REFRESH MODE MANUAL SQL> CREATE PLUGGABLE DATABASE PDB04 2 FROM PDB01@TVDCDB1.trivadistraining.com 2 file_name_convert= 3 ('/u01/oradata/TVDCDB1/PDB01','/u01/oradata/TVDCDB2/PDB04') 4 REFRESH MODE EVERY 240 MINUTES; SQL> ALTER SESSION SET CONTAINER=PDB04; SQL> ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE; SQL> ALTER PLUGGABLE DATABASE REFRESH;
  22. 22. Relocate a PDB from one CDB to another CDB (1) Multitenant 2.0 - Oracle Database 12c Release 222 21.03.17 Source PDB is closed automatically Availability Options: – NORMAL – MAX: - Connections are redirected - Listener redirection is established CDB2 PDB CDB1
  23. 23. Relocate a PDB from one CDB to another CDB (2) Multitenant 2.0 - Oracle Database 12c Release 223 21.03.17 SQL> create database link TVDCDB1.trivadistraining.com 2 connect to system identified by manager using 3 'TVDCDB1.trivadistraining.com'; SQL> CREATE PLUGGABLE DATABASE PDB01 2 FROM pdb01@TVDCDB1.trivadistraining.com 3 RELOCATE AVAILABILITY MAX 4 file_name_convert= 5 ('/u01/oradata/TVDCDB1/PDB01','/u01/oradata/TVDCDB2/PDB01'); SQL> ALTER PLUGGABLE DATABASE PDB01 open;
  24. 24. Proxy PDB Multitenant 2.0 - Oracle Database 12c Release 224 21.03.17 Use case: Location Transparency CDB$ROOT Local PDB CDB$ROOT Remote PDB Proxy PDB SELECT .. CREATE PLUGGABLE DATABASE pdb01_proxy AS PROXY FROM pdb01@tvdcdb1.trivadistraining.com;
  25. 25. Multitenant 2.0 - Oracle Database 12c Release 225 21.03.17 PDB Lockdown Profiles
  26. 26. PDB Lockdown Profiles (1) Multitenant 2.0 - Oracle Database 12c Release 226 21.03.17 Restrict feature usage on PDB level Areas – Network Access – Common User or Object Access – Administrative Features – XML Database Access – Database Options (e.g. Partitioning)
  27. 27. PDB Lockdown Profiles (2) Multitenant 2.0 - Oracle Database 12c Release 227 21.03.17 Create a Lockdown Profile CREATE LOCKDOWN PROFILE demo_lckdprf; ALTER LOCKDOWN PROFILE demo_lckdprf DISABLE STATEMENT = ('ALTER SYSTEM'); ALTER LOCKDOWN PROFILE demo_lckdprf ENABLE STATEMENT = ('ALTER SYSTEM') clause = ('flush shared_pool'); ALTER LOCKDOWN PROFILE demo_lckdprf DISABLE FEATURE = ('NETWORK_ACCESS'); ALTER LOCKDOWN PROFILE demo_lckdprf DISABLE OPTION = ('Partitioning');
  28. 28. PDB Lockdown Profiles (3) Multitenant 2.0 - Oracle Database 12c Release 228 21.03.17 Activate a profile – New static parameter on PDB level: PDB_LOCKDOWN Tipp: Always disable „ALTER SYSTEM“ via Lockdown Profile alter session set container=PDB1; ALTER SYSTEM SET PDB_LOCKDOWN = demo_lckdprf SCOPE = SPFILE; ALTER PLUGGABLE DATABASE PDB1 CLOSE; ALTER PLUGGABLE DATABASE PDB1 OPEN;
  29. 29. PDB Lockdown Profiles (4) Multitenant 2.0 - Oracle Database 12c Release 229 21.03.17 What happens in the PDB? SQL> alter system flush buffer_cache; Error at line 1: ORA-01031: insufficient privileges SQL> alter system flush shared_pool; System altered. SQL> CREATE TABLE .. PARTITION BY .. ERROR at line 1: ORA-00439: feature not enabled: Partitioning
  30. 30. Multitenant 2.0 - Oracle Database 12c Release 230 21.03.17 Resource Management
  31. 31. Resource Management for Pluggable Databases Multitenant 2.0 - Oracle Database 12c Release 231 21.03.17 In Oracle Database 12c R1 – Parallel Server Processes – CPU New in Oracle Database 12c R2 – I/O-Rate-Limits for PDBs – Memory Management – Performance Profiles – Ressource Monitoring
  32. 32. I/O-Rate-Limits for PDBs Multitenant 2.0 - Oracle Database 12c Release 232 21.03.17 New parameters: To disable a limit, set the parameter to 0 (Default) Event "resmgr: I/O rate limit“ (V$SYSTEM_EVENT, V$SESSION_EVENT) logs when the limit was hit Values set in CDB$ROOT are the default for PDBs Not supported on Exadata SQL> ALTER SYSTEM SET MAX_IOPS = 1000 SCOPE = BOTH; SQL> ALTER SYSTEM SET MAX_MBPS = 5 SCOPE = BOTH;
  33. 33. Memory Management for PDBs (1) Multitenant 2.0 - Oracle Database 12c Release 233 21.03.17 Parameter Meaning DB_CACHE_SIZE Minimum guaranteed buffer cache for the PDB SHARED_POOL_SIZE Minimum guaranteed shared pool for the PDB PGA_AGGREGATE_LIMIT Maximum PGA size for the PDB SGA_MIN_SIZE Minimum SGA size for the PDB SGA_TARGET Maximum SGA size for the PDB The following memory related parameters can be set on PDB level: Memory distribution is managed by the resource manager
  34. 34. Memory Management for PDBs (2) Multitenant 2.0 - Oracle Database 12c Release 234 21.03.17 Requirements – Parameter NONCDB_COMPATIBLE=FALSE in CDB$ROOT – MEMORY_TARGET not set in CDB$ROOT Restrictions for SGA related parameters (if SGA_TARGET=0) – Sum of all values for SGA (DB_CACHE_SIZE, SGA_MIN_SIZE, SHARED_POOL_SIZE) for all PDBS must no be higher than 50% of the corresponding value for CDB$ROOT Restrictions (PGA) – PGA_AGGREGATE_LIMIT: less than PGA_AGGREGATE_LIMIT in CDB$ROOT
  35. 35. Performance Profiles (1) – create a profile Multitenant 2.0 - Oracle Database 12c Release 235 21.03.17 A performance profile is a collection of resource manager settings for PDBs E.G. SLA level (gold, silver, bronze) Easy way to modify the ressource limits for a group of PDBs BEGIN DBMS_RESOURCE_MANAGER.CREATE_CDB_PROFILE_DIRECTIVE ( plan => 'newcdb_plan', profile => 'gold', shares => 3, utilization_limit => 100, parallel_server_limit => 100); END; /
  36. 36. Performance Profiles (2) – assign & activate a profile Multitenant 2.0 - Oracle Database 12c Release 236 21.03.17 New static parameter DB_PERFORMANCE_PROFILE on PDB level ALTER SESSION SET CONTAINER=PDB1; --assign the profile ALTER SYSTEM SET DB_PERFORMANCE_PROFILE=gold SCOPE=SPFILE; -- activate the profile ALTER PLUGGABLE DATABASE PDB1 CLOSE; ALTER PLUGGABLE DATABASE PDB1 OPEN;
  37. 37. Resource Monitoring for PDBs - V$RSRCPDBMETRIC Multitenant 2.0 - Oracle Database 12c Release 237 21.03.17 SQL> SELECT r.CON_ID, p.PDB_NAME, r.IOPS,r.SGA_BYTES, r.SHARED_POOL_BYTES 2 FROM V$RSRCPDBMETRIC r, CDB_PDBS p 3 WHERE r.CON_ID = p.CON_ID; CON_ID PDB_NAME IOPS SGA_BYTES SHARED_POOL_BYTES ------ --------- ---------- ---------- ----------------- 3 PDB01 .440423759 86405592 7401944 4 PDB02 .464230449 51885608 12138024
  38. 38. Multitenant 2.0 - Oracle Database 12c Release 238 21.03.17 Application Containers - An introduction
  39. 39. Application Containers (1) - Overview Multitenant 2.0 - Oracle Database 12c Release 239 21.03.17 Consist of – Application Root – Application Seed – Application PDBs Simplified update of applications Applications can share – Data model – Code – Metadata – Data CDB$ROOT PDB$SEED PDB01 APP$SEED APPPDB2 Application Root APPPDB1
  40. 40. Application Containers (2) – Application Root Multitenant 2.0 - Oracle Database 12c Release 240 21.03.17 Create Application Root Create the Application in the Application Root create pluggable database app_root AS APPLICATION CONTAINER admin user admin identified by manager; alter pluggable database application DEMOAPP begin install '1.0'; .. create users .. create application objects alter pluggable database application DEMOAPP end install '1.0';
  41. 41. Application Containers (3) – Application PDB Multitenant 2.0 - Oracle Database 12c Release 241 21.03.17 Create Application PDB ALTER SESSION SET CONTAINER=APP_ROOT; create pluggable database APP_PDB1 admin user admin identified by admin; Alter pluggable database APP_PDB1 open; ALTER SESSION SET CONTAINER=APP_PDB1; Alter pluggable database application DEMOAPP sync; .. after that the application can be used in APP_PDB
  42. 42. Application Containers (4) - Sharing Multitenant 2.0 - Oracle Database 12c Release 242 21.03.17 Application Common Objects (Sharing-Attribute) CREATE TABLE .. SHARING=METADATA ( col1 .. ) Sharing Definition Data METADATA APP$ROOT APP$PDB DATA APP$ROOT APP$ROOT Data can be retrieved from all Appl.PDBs EXTENDED DATA APP$ROOT APP$ROOT APP$PDB Data is stored in Application Root and can be retrieved from all Application PDBs Additionally PDB-level data can be stored in Application PDB NONE APP$PDB APP$PDB
  43. 43. Application Containers (5) – Upgrade an Application Multitenant 2.0 - Oracle Database 12c Release 243 21.03.17 Upgrade the Application in the Application Root Upgrade in Application PDB Same procedure for Patching (“.. BEGIN PATCH ..“) alter pluggable database application DEMOAPP begin upgrade from '1.0' to '2.0'; .. modify application objects alter pluggable database application DEMOAPP end upgrade to '2.0'; Alter pluggable database application DEMOAPP sync;
  44. 44. Multitenant 2.0 - Oracle Database 12c Release 244 21.03.17 Summary
  45. 45. Multitenant in Oracle12c Release 2 - Summary Multitenant 2.0 - Oracle Database 12c Release 245 21.03.17 A lot of restrictions from Oracle Database 12c Release 1 were eliminated in Oracle Database 12c Release 2 New and improved options for provisioning – Hot cloning – Refreshable PDBs – Relocate a PDB (e.g. into the cloud) Improved Resource Management & Resource Monitoring Enhanced Security – Lockdown Profiles Application Containers – Release 1.0 of „Multitenancy for Applications“
  46. 46. Multitenant 2.0 - Oracle Database 12c Release 246 21.03.17 Further Information • Oracle Documentation: http://docs.oracle.com/database/122/index.htm • Oracle Whitepaper „Oracle Multitenant New Features“ http://www.oracle.com/technetwork/database/multitenant/overview/multitenant-wp-12c- 2078248.pdf • Trivadis TechnoCircle „Oracle 12c Release 2 – New Features“ Düsseldorf, 10. Mai 2017
  47. 47. Questions and Answers Markus Flechtner Principal Consultant Phone +49 211 5866 64725 Markus.Flechtner@Trivadis.com @markusdba https://www.markusdba.de 21.03.17 Multitenant 2.0 - Oracle Database 12c Release 247 The slides will be available on www.doag.org.

×