Date post: | 11-Apr-2017 |
Category: |
Software |
Upload: | markus-flechtner |
View: | 63 times |
Download: | 0 times |
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Oracle Multitenant Database 2.0Improvements in Oracle Database 12c Release 2
Markus Flechtner
Our company.
Multitenant 2.0 - Oracle Database 12c Release 22 21.03.17
Trivadis is a market leader in IT consulting, system integration, solution engineeringand the provision of IT services focusing on and technologiesin 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
COPENHAGEN
MUNICH
LAUSANNEBERN
ZURICHBRUGG
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 than600 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 800customers
About me .. Markus Flechtner
Principal Consultant, Trivadis, Duesseldorf/Germany, since April 2008Working 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 DBADiscipline Manager Infrastructure Database @Trivadis
Blog:https://www.markusdba.de/
@markusdba
21.03.17 Multitenant 2.0 - Oracle Database 12c Release 24
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.
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
Multitenant 2.0 - Oracle Database 12c Release 27 21.03.17
Looking back:Oracle Multitenant in 12c R1
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
Multitenant Database Architecture 12cR1 - overviewPMONSMONLGWRDBW0DIAG…
SYSTEM SYSAUX REDO CTLUNDO
CDB$ROOT[RW]
TEMP
SYSTEMSYSAUXTEMP
PDB$SEED[RO]CRM01[RW]
SYSTEMSYSAUXTEMP
FA01[RW]
SYSTEMSYSAUXTEMP
CRMDBA
CDBDB
A
FADBA APPDBA
Application Tablespaces Application Tablespaces
21.03.17 Multitenant 2.0 - Oracle Database 12c Release 29
Available database architectures in Oracle 12c
Multitenant 2.0 - Oracle Database 12c Release 210
Non-CDBArchitectureSE2,EE
Single-tenantSE2,EE
MultitenantEE+Multitenant Option
21.03.17
Instance Instance Instance
Database CDB$ROOT CDB$ROOT
PDB PDB001
PDB252
...
Deprecated! Futuredefault! Extralicence!
Multitenant 2.0 - Oracle Database 12c Release 211 21.03.17
General New Features
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
SYSTEMSYSAUXUNDOTEMP
CDB$ROOT[RW]
PDB$SEED[RO]
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;
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;
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 beplugged in
If the CDB character set is not AL32UTF8, all PDBs must use the character set ofCDB$ROOT
It‘s not possible to create a new PDB with a different character set
PDB01[RW]AL32UTF8
CDB$ROOT(AL32UTF8)
PDB$SEEDAL32UTF8
PDB02[RW]WE8ISO8859P15
PDB01[RW]US7ASCII
CDB$ROOT(US7ASCII)
PDB$SEEDUS7ASCII
PDB02[RW]US7ASCII
„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 databasescreated“
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!
„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 ---------------BEGINDBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS
(INTERVAL => 60);END;/
Multitenant 2.0 - Oracle Database 12c Release 218 21.03.17
New Features for PDB provisioning
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 modefor source PDB is still required
Possible with 12.1.0.2, too – but neitherdocumented nor supported
CDB$ROOT[RW]
PDB01[RW]
COPY
PDB02[RW]
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 sourcefor further PDB cloning
Cloned PDB can only be opened in readonly-mode
Refresh can be done manually orautomatically
Source and target PDB must bein different CDBs
Target PDB must be closed for refresh
CRM01[RW]
Initialclone CRM02[RO]
CRM01[RW]
Propagatechanges CRM02
[Closed]
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 [email protected] 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;
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
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 using3 'TVDCDB1.trivadistraining.com';
SQL> CREATE PLUGGABLE DATABASE PDB012 FROM [email protected] 3 RELOCATE AVAILABILITY MAX4 file_name_convert=5 ('/u01/oradata/TVDCDB1/PDB01','/u01/oradata/TVDCDB2/PDB01');
SQL> ALTER PLUGGABLE DATABASE PDB01 open;
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 [email protected];
Multitenant 2.0 - Oracle Database 12c Release 225 21.03.17
PDB Lockdown Profiles
PDB Lockdown Profiles (1)
Multitenant 2.0 - Oracle Database 12c Release 226 21.03.17
Restrict feature usage on PDB levelAreas– Network Access
– Common User or Object Access
– Administrative Features
– XML Database Access
– Database Options (e.g. Partitioning)
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');
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;
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
Multitenant 2.0 - Oracle Database 12c Release 230 21.03.17
Resource Management
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
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 thelimit 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;
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
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 correspondingvalue for CDB$ROOT
Restrictions (PGA)– PGA_AGGREGATE_LIMIT: less than PGA_AGGREGATE_LIMIT in CDB$ROOT
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 PDBsE.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; /
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 profileALTER SYSTEM SET DB_PERFORMANCE_PROFILE=gold SCOPE=SPFILE;
-- activate the profileALTER PLUGGABLE DATABASE PDB1 CLOSE;ALTER PLUGGABLE DATABASE PDB1 OPEN;
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_BYTES2 FROM V$RSRCPDBMETRIC r, CDB_PDBS p3 WHERE r.CON_ID = p.CON_ID;
CON_ID PDB_NAME IOPS SGA_BYTES SHARED_POOL_BYTES------ --------- ---------- ---------- -----------------3 PDB01 .440423759 86405592 74019444 PDB02 .464230449 51885608 12138024
Multitenant 2.0 - Oracle Database 12c Release 238 21.03.17
Application Containers- An introduction
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 ofapplications
Applications can share
– Data model
– Code
– Metadata
– Data
CDB$ROOT
PDB$SEED PDB01
APP$SEED APPPDB2
Application Root
APPPDB1
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_rootAS 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';
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
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$ROOTAPP$PDB
Data is stored in Application Root and canbe retrieved from all Application PDBsAdditionally PDB-level data can be storedin Application PDB
NONE APP$PDB APP$PDB
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;
Multitenant 2.0 - Oracle Database 12c Release 244 21.03.17
Summary
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“
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
Questions and AnswersMarkus FlechtnerPrincipal Consultant
Phone +49 211 5866 [email protected]
@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.