SlideShare a Scribd company logo
1 of 43
Download to read offline
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Application Containers – an Introduction
Oracle Database 12c Release 2 – Multitenancy for Applications
Markus Flechtner
Our company.
Collaborate18 - Oracle 12.2- Application Containers2 April 2018
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
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.
Collaborate18 - Oracle 12.2- Application Containers3 April 2018
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
About Markus Flechtner
Principal Consultant, Trivadis, Duesseldorf/Germany, since April 2008
Discipline Manager Infrastructure Database @Trivadis
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
Blog:
https://markusdba.net/
@markusdba
April 2018 Collaborate18 - Oracle 12.2- Application Containers4
Agenda
Collaborate18 - Oracle 12.2- Application Containers5 April 2018
1. Container Database Architecture
2. Application Containers – Overview
3. Application Common Objects
4. Installing Applications
5. Upgrading and Patching Applications
6. Administration & Daily Business
7. More features in short
8. Summary
Collaborate18 - Oracle 12.2- Application Containers6 April 2018
Container Database Architecture
Oracle Multitenant in Oracle Database 12c
Collaborate18 - Oracle 12.2- Application Containers7 April 2018
The container database architecture (multitenant 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)
Container Database Architecture - overview
PMON SMON LGWR DBW0 DIAG …
SYSTEM SYSAUX REDO CTLUNDO
CDB$ROOT
[RW]
TEMP
PDB$SEED [RO]
CRM01 [RW] FA01 [RW]
CRM DBA
CDBDBA
FA DBA APP DBA
Application Tablespaces Application Tablespaces
April 2018 Collaborate18 - Oracle 12.2- Application Containers8
SYSTEM SYSAUX UNDO TEMP
SYSTEM SYSAUX UNDO TEMP SYSTEM SYSAUX UNDO TEMP
Container Database Architecture - Sharing
To avoid the duplication of system metadata, a CDB uses a new object property called
SHARING
SQL> SELECT sharing, count(*)
2 FROM dba_object GROUP BY sharing;
SHARING COUNT(*)
------------------ ----------
METADATA LINK 66457
DATA LINK 214
EXTENDED DATA LINK 56
NONE 5053
CDB$ROOT
[RW]
PDB$SEED
[RO]
CRM01
[RW]
April 2018 Collaborate18 - Oracle 12.2- Application Containers9
Collaborate18 - Oracle 12.2- Application Containers10 April 2018
Application Containers
Overview
Application Containers - Overview
Collaborate18 - Oracle 12.2- Application Containers11 April 2018
Consist of
– Application Root
– Application Seed
– Application PDBs
Applications can share
– Data model
– Code
– Metadata
– Data
CDB$ROOT
PDB$SEED CRM01
APPSEED DEMOPDB2
Application Root (APPROOT)
DEMOPDB1
Application Containers – Use Cases
Collaborate18 - Oracle 12.2- Application Containers12 April 2018
Software as a Service (SaaS)
Better master data management
Coordinated and simplified upgrades
„manage many as one“
CRM$SEED CRMCUST2
Version1
Application Root (CRM)
CRMCUST1
Version1
CRMCUST3
Version2
CRMCUST4
Version2
Application Root (FA)
FA$SEED FACUST1
Version1
FACUST2
Version3
CDB$ROOT
Collaborate18 - Oracle 12.2- Application Containers13 April 2018
Application Common Objects
Sharing - Application Common Objects
Collaborate18 - Oracle 12.2- Application Containers14 April 2018
Application Common Objects (Sharing-Attribute)
CREATE TABLE <table_name> SHARING=METADATA
( col1 .. )
Sharing Definition Data
METADATA APPROOT APPPDB
DATA APPROOT APPROOT Data accessible from Application PDB (RO)
EXTENDED DATA APPROOT APPROOT
APPPDB
Data is stored in Application Root and can
be retrieved from all Application PDBs (RO)
Additional PDB-level data can be stored in
Application PDB
NONE local local
Which sharing methods are allowed?
Collaborate18 - Oracle 12.2- Application Containers15 April 2018
Object Type Metadata Link Data Link Extended Data Link None
Table YES YES YES YES
Views YES YES YES YES
Sequences YES YES NO YES
All others YES NO NO YES
Foreign Keys to Data Linked Tables
Collaborate18 - Oracle 12.2- Application Containers16 April 2018
Bug 21955394 (Patches are available)
DEMOPDB
Application Root (APPROOT)
APPROOT SQL> create table DEPT SHARING=DATA
(DEPTNO number constraint PK_DEPT primary key,
DNAME varchar2(30));
DEPT (DATA)
DEPT (DEF)
EMP (DEF)
EMP (DATA)
APPROOT SQL> create table EMP SHARING=METADATA
(EMPNO number constraint PK_EMP primary key,
ENAME varchar2(30) not null,
DEPTNO constraint FK_DEPT references DEPT);
APPROOT SQL> insert into DEPT ..
DEMOPDB SQL> insert into EMP ..
ORA-02291: integrity constraint (SCOTT.FK_DEPTNO) violated - parent key not found
Be Careful with DML on Application Container Objects
Collaborate18 - Oracle 12.2- Application Containers17 April 2018
DML from Application PDB on an a Data-Linked Table:
DML from Application PDB on a Extended Data-Linked Table (row from Application Root):
SQL> update scott.dept set loc='SEATTLE' where loc='CHICAGO';
update scott.dept set loc='SEATTLE' where loc='CHICAGO'
*ERROR at line 1:
ORA-65097: DML into a data link table is outside an application action
SQL> select * from scott.zip_codes where zip_code='40227';
CO ZIP_C CITY
-- ----- ----------------------------------------
DE 40227 Duesseldorf
SQL> update scott.zip_codes set zip_code='44444' where zip_code='40227';
0 rows updated.
Collaborate18 - Oracle 12.2- Application Containers18 April 2018
Installing Applications
Prepare the Application in the Application Root (1)
Collaborate18 - Oracle 12.2- Application Containers19 April 2018
Create Application Root (similar to CDB$ROOT)
– Oracle Managed Files (OMF) are required when using Application Containers
Create the application in the Application Root
During application creation the statements are captured
create pluggable database DEMO AS APPLICATION CONTAINER
admin user admin identified by manager;
alter pluggable database application DEMOAPP begin install '1.0';
.. create tablespaces (OMF)
.. create users
.. create application objects
alter pluggable database application DEMOAPP end install '1.0';
Not documented!
Prepare the Application in the Application Root (2)
Collaborate18 - Oracle 12.2- Application Containers20 April 2018
Create Application Common Objects
SQL> Alter session set container=DEMO;
SQL> alter pluggable database application DEMOAPP begin install '1.0';
SQL> show user
USER is "SYS"
SQL> create table SCOTT.EMP SHARING=METADATA [..]
Table created.
alter pluggable database application DEMOAPP end install '1.0';
Works!
Prepare the Application in the Application Root (3)
Collaborate18 - Oracle 12.2- Application Containers21 April 2018
Create Application Common Objects (as object owner)
SQL> Alter session set container=DEMO;
SQL> alter pluggable database application DEMOAPP begin install '1.0';
SQL> create user scott ..
SQL> connect scott/tiger@DEMO
SQL> create table EMP SHARING=METADATA [..]
ORA-65021 illegal use of „SHARING“-clause
Prepare the Application in the Application Root (4)
Collaborate18 - Oracle 12.2- Application Containers22 April 2018
Create Application Common Objects (as object owner)
SQL> alter pluggable database application DEMOAPP begin install '1.0';
SQL> exec dbms_application_info.set_module('INSTALL_V1',null);
SQL> create user scott ..
SQL> connect scott/tiger@DEMO
SQL> exec dbms_application_info.set_module('INSTALL_V1',null);
SQL> create table EMP SHARING=METADATA [..]
Table created.
SQL> connect sys/manager@DEMO as sysdba
SQL> exec dbms_application_info.set_module('INSTALL_V1',null);
SQL> alter pluggable database application DEMOAPP end install '1.0';
Not documented!
Create an Application PDB
Collaborate18 - Oracle 12.2- Application Containers23 April 2018
Two ways to create an Application PDB
– Via an Application Seed
– Directly from Application Root
During the PDB creation the statements are „replayed“
Application Seed
Collaborate18 - Oracle 12.2- Application Containers24 April 2018
Similar to PDB$SEED
Optional
Only one Application Seed per Application container allowed
SQL> CREATE PLUGGABLE DATABASE AS SEED
2 ADMIN USER app_admin IDENTIFIED BY manager;
Pluggable database created.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 DEMO READ WRITE NO
4 DEMO$SEED MOUNTED
Create an Application PDB (1) – from Application Seed
Collaborate18 - Oracle 12.2- Application Containers25 April 2018
Step 1: Install Application in Application Seed
Clone the Application Seed
ALTER PLUGGABLE DATABASE DEMO$SEED OPEN;
ALTER SESSION SET CONTAINER=DEMO$SEED;
ALTER PLUGGABLE DATABASE APPLICATION DEMO SYNC;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE DEMO$SEED OPEN READ ONLY;
create pluggable database DEMOPDB1 from DEMO$SEED;
alter pluggable database DEMOPDB1 open;
Create an Application PDB (2) – from Application Root
Collaborate18 - Oracle 12.2- Application Containers26 April 2018
SQL> ALTER SESSION SET CONTAINER=DEMO;
SQL> CREATE PLUGGABLE DATABASE DEMOPDB1
2 ADMIN USER ADMIN IDENTIFIED BY ADMIN;
SQL> ALTER PLUGGABLE DATABASE DEMOPDB1 OPEN;
SQL> ALTER SESSION SET CONTAINER=DEMOPDB1;
SQL> ALTER PLUGGABLE DATABASE APPLICATION DEMOAPP SYNC;
.. after that the application can be used in DEMOPDB1
Collaborate18 - Oracle 12.2- Application Containers27 April 2018
Patching and Upgrading
Applications
Application Containers – Upgrade an Application (1)
Collaborate18 - Oracle 12.2- Application Containers28 April 2018
Upgrade the application in the Application Root
Upgrade in Application PDB
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;
Application Containers – Upgrade an Application (2)
Collaborate18 - Oracle 12.2- Application Containers29 April 2018
During an upgrade, a read-only clone of the source Application Root is created
From the alert.log:
Purpose: Application Root for Application PDBs not upgraded to the new release
DEMO(5):alter pluggable database application DEMOAPP begin upgrade '1.0' to '2.0'
CREATE PLUGGABLE DATABASE "F613214177_3_1" AS APPLICATION CONTAINER from "DEMO"
CREATE_FILE_DEST='/u01/oradata'
[..]
Completed: CREATE PLUGGABLE DATABASE "F613214177_3_1" AS APPLICATION CONTAINER from
"DEMO" CREATE_FILE_DEST='/u01/oradata'[..]
ALTER PLUGGABLE DATABASE "F613214177_3_1" OPEN READ ONLY INSTANCES=ALL
[..]
Completed: ALTER PLUGGABLE DATABASE "F613214177_3_1" OPEN READ ONLY INSTANCES=ALL
Patching an Application
Collaborate18 - Oracle 12.2- Application Containers30 April 2018
Limited set of operations (e.g. no DROP commands, no ALTER TABLE)
A minimum start version can be defined
alter pluggable database application DEMOAPP
begin patch <Patch#>
.. modify application objects
alter pluggable database application DEMOAPP end patch <Patch#>;
Collaborate18 - Oracle 12.2- Application Containers31 April 2018
Administration
&
Daily Business
Administration
Collaborate18 - Oracle 12.2- Application Containers32 April 2018
All administrative tasks are executed from
the application root
CREATE/OPEN/CLOSE/DROP work as
with normal PDBs
– But closing the Application Root will close
all Application PDBs
Application Root can only be dropped if
there are no Application PDBs
A normal PDB can be converted to
an Application Container
APPSEED DEMOPDB2
Application Root (APPROOT)
DEMOPDB1
Backup & Recovery
Collaborate18 - Oracle 12.2- Application Containers33 April 2018
When connected to CDB$ROOT
– Same as with usual PDBs
When connected to Application Root
For recovery the same principles apply
RMAN> CONNECT TARGET sys/manager@oracle12c:1521/demoapp
RMAN> BACKUP DATABASE ROOT; # backup application root
RMAN> BACKUP PLUGGABLE DATABASE DEMOPDB1; # backup application PDB
RMAN> BACKUP DATABASE; # backup application root + PDBs
Execution Plans (1) – Data Linked Table
Collaborate18 - Oracle 12.2- Application Containers34 April 2018
select e.empno, e.ename, d.deptno, d.dname
2 from scott.emp e -- local in application PDB
3 scott.dept d -- from application root (data linked)
4 where d.deptno=e.deptno;
---------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
---------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 35 | 3 (0)|
|* 1 | HASH JOIN | | 1 | 35 | 3 (0)|
| 2 | DATA LINK FULL | DEPT | 1 | 22 | |
| 3 | TABLE ACCESS FULL| EMP | 14 | 182 | 3 (0)|
---------------------------------------------------------------
Execution Plans (2) – Extended Data Linked Table
Collaborate18 - Oracle 12.2- Application Containers35 April 2018
select * from scott.zip_codes;
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Pstart| Pstop | TQ |IN-OUT|PQ Distrib
--------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | | |
| 1 | PX COORDINATOR | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | | | Q1,00| P->S |QC(RAND)
| 3 | PX PARTITION LIST ALL | | 1 | 2 | Q1,00| PCWC |
| 4 | EXTENDED DATA LINK FULL | ZIP_CODES| | | Q1,00| PCWP |
---------------------------------------------------------------------------------------------
Data Dictionary Views (CDB_APP%)
Collaborate18 - Oracle 12.2- Application Containers36 April 2018
CDB_APPLICATIONS
CDB_APPLICATION_ROLES
CDB_APP_ERRORS
CDB_APP_PATCHES
CDB_APP_PDB_STATUS
CDB_APP_STATEMENTS
CDB_APP_VERSIONS
Collaborate18 - Oracle 12.2- Application Containers37 April 2018
More features in short
More features in short .. (1)
Collaborate18 - Oracle 12.2- Application Containers38 April 2018
A "normal PDB" can be converted
– Important: Decision on the "SHARING" of each object
Application Common Users and Roles
– Defined in Application Root
– Available in all Application PDBs
More features in short ..
Collaborate18 - Oracle 12.2- Application Containers39 April 2018
Application Container wide queries are possible from the Application Root
– "CONTAINERS" clause
Container Map
– Allow the re-direction of statements from the Application Root to an Application PDB
based on a mapping table
Collaborate18 - Oracle 12.2- Application Containers40 April 2018
Summary
Application Containers - Summary
Collaborate18 - Oracle 12.2- Application Containers41 April 2018
Interesting concept for SaaS
Easy upgrade and patching of lots of Application PDBs
It‘s a “release 1.0“ of a new feature
Some flaws
Oracle Managed Files (OMF) are required
Documentation is misleading in some places
Collaborate18 - Oracle 12.2- Application Containers42 April 2018
Further Information
Oracle 12.2 Concepts (Chapter 19)
Oracle 12.2 Administrators Guide (Chapter 40 and 44)
Toadworld.com – Series on Application Containers:
http://www.toadworld.com/platforms/oracle/b/weblog/archive/2017/06/26/oracle-multi-tenant-
application-containers-part-i
Questions and Answers
Markus Flechtner
Principal Consultant
Phone +49 211 5866 64725
Markus.Flechtner@Trivadis.com
@markusdba https://www.markusdba.net
You can ownload the slides from https://www.slideshare.net/markusflechtner
Please don‘t forget the session evaluation – Thank you!
April 2018 Collaborate18 - Oracle 12.2- Application Containers43

More Related Content

What's hot

Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive PresentationNabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive PresentationNabil Nawaz
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2Markus Flechtner
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprisesNelson Calero
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedis Labs
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfSrirakshaSrinivasan2
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsAnil Nair
 
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratopOracle Database performance tuning using oratop
Oracle Database performance tuning using oratopSandesh Rao
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linuxKyle Hailey
 
Oracle data guard for beginners
Oracle data guard for beginnersOracle data guard for beginners
Oracle data guard for beginnersPini Dibask
 
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1Satishbabu Gunukula
 
Why oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19cWhy oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19cSatishbabu Gunukula
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cTanel Poder
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
MySQL Shell for Database Engineers
MySQL Shell for Database EngineersMySQL Shell for Database Engineers
MySQL Shell for Database EngineersMydbops
 
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionMarkus Michalewicz
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentationVimlendu Kumar
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
 
Database-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable TablespacesDatabase-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable TablespacesMarkus Flechtner
 

What's hot (20)

Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive PresentationNabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ Twitter
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
 
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratopOracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
Oracle data guard for beginners
Oracle data guard for beginnersOracle data guard for beginners
Oracle data guard for beginners
 
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
 
Why oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19cWhy oracle data guard new features in oracle 18c, 19c
Why oracle data guard new features in oracle 18c, 19c
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
MySQL Shell for Database Engineers
MySQL Shell for Database EngineersMySQL Shell for Database Engineers
MySQL Shell for Database Engineers
 
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentation
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
 
Database-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable TablespacesDatabase-Migration and -Upgrade with Transportable Tablespaces
Database-Migration and -Upgrade with Transportable Tablespaces
 

Similar to Oracle Application Containers

2017 10-oow-fma-application-containers-v01-final
2017 10-oow-fma-application-containers-v01-final2017 10-oow-fma-application-containers-v01-final
2017 10-oow-fma-application-containers-v01-finalMarkus Flechtner
 
TechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTrivadis
 
TechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTrivadis
 
ADO .NET by Sonu Vishwakarma
ADO .NET by Sonu VishwakarmaADO .NET by Sonu Vishwakarma
ADO .NET by Sonu VishwakarmaSonu Vishwakarma
 
application-template-deployment-guide.pdf
application-template-deployment-guide.pdfapplication-template-deployment-guide.pdf
application-template-deployment-guide.pdfamazon4it
 
plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100Prithvi Rajkumar
 
Snowflake for Data Engineering
Snowflake for Data EngineeringSnowflake for Data Engineering
Snowflake for Data EngineeringHarald Erb
 
Rdbms Practical file diploma
Rdbms Practical file diploma Rdbms Practical file diploma
Rdbms Practical file diploma mustkeem khan
 
Jak konsolidovat Vaše databáze s využitím Cloud služeb?
Jak konsolidovat Vaše databáze s využitím Cloud služeb?Jak konsolidovat Vaše databáze s využitím Cloud služeb?
Jak konsolidovat Vaše databáze s využitím Cloud služeb?MarketingArrowECS_CZ
 
Odi 12c-new-features-wp-2226353
Odi 12c-new-features-wp-2226353Odi 12c-new-features-wp-2226353
Odi 12c-new-features-wp-2226353Udaykumar Sarana
 
Big data presentation, explanations and use cases in industrial sector
Big data presentation, explanations and use cases in industrial sectorBig data presentation, explanations and use cases in industrial sector
Big data presentation, explanations and use cases in industrial sectorNicolas Sarramagna
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Alex Zaballa
 
Get the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW versionGet the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW versionLudovico Caldara
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedKenneth Peeples
 
Improve PowerShell reporting using SharePoint lists for results
Improve PowerShell reporting using SharePoint lists for resultsImprove PowerShell reporting using SharePoint lists for results
Improve PowerShell reporting using SharePoint lists for resultsFrank Daske
 
Data relay introduction to big data clusters
Data relay introduction to big data clustersData relay introduction to big data clusters
Data relay introduction to big data clustersChris Adkin
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsScyllaDB
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...Alex Zaballa
 

Similar to Oracle Application Containers (20)

2017 10-oow-fma-application-containers-v01-final
2017 10-oow-fma-application-containers-v01-final2017 10-oow-fma-application-containers-v01-final
2017 10-oow-fma-application-containers-v01-final
 
TechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New Features
 
TechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security Features
 
ADO .NET by Sonu Vishwakarma
ADO .NET by Sonu VishwakarmaADO .NET by Sonu Vishwakarma
ADO .NET by Sonu Vishwakarma
 
application-template-deployment-guide.pdf
application-template-deployment-guide.pdfapplication-template-deployment-guide.pdf
application-template-deployment-guide.pdf
 
plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100plug-into-cloud-wp-12c-1896100
plug-into-cloud-wp-12c-1896100
 
Snowflake for Data Engineering
Snowflake for Data EngineeringSnowflake for Data Engineering
Snowflake for Data Engineering
 
Rdbms Practical file diploma
Rdbms Practical file diploma Rdbms Practical file diploma
Rdbms Practical file diploma
 
Jak konsolidovat Vaše databáze s využitím Cloud služeb?
Jak konsolidovat Vaše databáze s využitím Cloud služeb?Jak konsolidovat Vaše databáze s využitím Cloud služeb?
Jak konsolidovat Vaše databáze s využitím Cloud služeb?
 
Odi 12c-new-features-wp-2226353
Odi 12c-new-features-wp-2226353Odi 12c-new-features-wp-2226353
Odi 12c-new-features-wp-2226353
 
Sq lite module9
Sq lite module9Sq lite module9
Sq lite module9
 
Big data presentation, explanations and use cases in industrial sector
Big data presentation, explanations and use cases in industrial sectorBig data presentation, explanations and use cases in industrial sector
Big data presentation, explanations and use cases in industrial sector
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
 
Get the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW versionGet the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW version
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speed
 
Improve PowerShell reporting using SharePoint lists for results
Improve PowerShell reporting using SharePoint lists for resultsImprove PowerShell reporting using SharePoint lists for results
Improve PowerShell reporting using SharePoint lists for results
 
Data relay introduction to big data clusters
Data relay introduction to big data clustersData relay introduction to big data clusters
Data relay introduction to big data clusters
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful Migrations
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 

More from Markus Flechtner

Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cMarkus Flechtner
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenMarkus Flechtner
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cMarkus Flechtner
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-ArchitekturMarkus Flechtner
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Markus Flechtner
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorMarkus Flechtner
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerMarkus Flechtner
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?Markus Flechtner
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabaseMarkus Flechtner
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issuesMarkus Flechtner
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-DeveloperMarkus Flechtner
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesMarkus Flechtner
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsMarkus Flechtner
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteMarkus Flechtner
 
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-DictionaryDatenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-DictionaryMarkus Flechtner
 
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Markus Flechtner
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerMarkus Flechtner
 
The three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATThe three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATMarkus Flechtner
 

More from Markus Flechtner (20)

Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19c
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21c
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
OraChk
OraChkOraChk
OraChk
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer Collector
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issues
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-Developer
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection Issues
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
 
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-DictionaryDatenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
Datenbank-Selbstverwaltung - Das Oracle-Data-Dictionary
 
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
 
The three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSATThe three investigators: OraChk, TFA and DBSAT
The three investigators: OraChk, TFA and DBSAT
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Oracle Application Containers

  • 1. BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH Application Containers – an Introduction Oracle Database 12c Release 2 – Multitenancy for Applications Markus Flechtner
  • 2. Our company. Collaborate18 - Oracle 12.2- Application Containers2 April 2018 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. 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. Collaborate18 - Oracle 12.2- Application Containers3 April 2018 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. About Markus Flechtner Principal Consultant, Trivadis, Duesseldorf/Germany, since April 2008 Discipline Manager Infrastructure Database @Trivadis 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 Blog: https://markusdba.net/ @markusdba April 2018 Collaborate18 - Oracle 12.2- Application Containers4
  • 5. Agenda Collaborate18 - Oracle 12.2- Application Containers5 April 2018 1. Container Database Architecture 2. Application Containers – Overview 3. Application Common Objects 4. Installing Applications 5. Upgrading and Patching Applications 6. Administration & Daily Business 7. More features in short 8. Summary
  • 6. Collaborate18 - Oracle 12.2- Application Containers6 April 2018 Container Database Architecture
  • 7. Oracle Multitenant in Oracle Database 12c Collaborate18 - Oracle 12.2- Application Containers7 April 2018 The container database architecture (multitenant 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)
  • 8. Container Database Architecture - overview PMON SMON LGWR DBW0 DIAG … SYSTEM SYSAUX REDO CTLUNDO CDB$ROOT [RW] TEMP PDB$SEED [RO] CRM01 [RW] FA01 [RW] CRM DBA CDBDBA FA DBA APP DBA Application Tablespaces Application Tablespaces April 2018 Collaborate18 - Oracle 12.2- Application Containers8 SYSTEM SYSAUX UNDO TEMP SYSTEM SYSAUX UNDO TEMP SYSTEM SYSAUX UNDO TEMP
  • 9. Container Database Architecture - Sharing To avoid the duplication of system metadata, a CDB uses a new object property called SHARING SQL> SELECT sharing, count(*) 2 FROM dba_object GROUP BY sharing; SHARING COUNT(*) ------------------ ---------- METADATA LINK 66457 DATA LINK 214 EXTENDED DATA LINK 56 NONE 5053 CDB$ROOT [RW] PDB$SEED [RO] CRM01 [RW] April 2018 Collaborate18 - Oracle 12.2- Application Containers9
  • 10. Collaborate18 - Oracle 12.2- Application Containers10 April 2018 Application Containers Overview
  • 11. Application Containers - Overview Collaborate18 - Oracle 12.2- Application Containers11 April 2018 Consist of – Application Root – Application Seed – Application PDBs Applications can share – Data model – Code – Metadata – Data CDB$ROOT PDB$SEED CRM01 APPSEED DEMOPDB2 Application Root (APPROOT) DEMOPDB1
  • 12. Application Containers – Use Cases Collaborate18 - Oracle 12.2- Application Containers12 April 2018 Software as a Service (SaaS) Better master data management Coordinated and simplified upgrades „manage many as one“ CRM$SEED CRMCUST2 Version1 Application Root (CRM) CRMCUST1 Version1 CRMCUST3 Version2 CRMCUST4 Version2 Application Root (FA) FA$SEED FACUST1 Version1 FACUST2 Version3 CDB$ROOT
  • 13. Collaborate18 - Oracle 12.2- Application Containers13 April 2018 Application Common Objects
  • 14. Sharing - Application Common Objects Collaborate18 - Oracle 12.2- Application Containers14 April 2018 Application Common Objects (Sharing-Attribute) CREATE TABLE <table_name> SHARING=METADATA ( col1 .. ) Sharing Definition Data METADATA APPROOT APPPDB DATA APPROOT APPROOT Data accessible from Application PDB (RO) EXTENDED DATA APPROOT APPROOT APPPDB Data is stored in Application Root and can be retrieved from all Application PDBs (RO) Additional PDB-level data can be stored in Application PDB NONE local local
  • 15. Which sharing methods are allowed? Collaborate18 - Oracle 12.2- Application Containers15 April 2018 Object Type Metadata Link Data Link Extended Data Link None Table YES YES YES YES Views YES YES YES YES Sequences YES YES NO YES All others YES NO NO YES
  • 16. Foreign Keys to Data Linked Tables Collaborate18 - Oracle 12.2- Application Containers16 April 2018 Bug 21955394 (Patches are available) DEMOPDB Application Root (APPROOT) APPROOT SQL> create table DEPT SHARING=DATA (DEPTNO number constraint PK_DEPT primary key, DNAME varchar2(30)); DEPT (DATA) DEPT (DEF) EMP (DEF) EMP (DATA) APPROOT SQL> create table EMP SHARING=METADATA (EMPNO number constraint PK_EMP primary key, ENAME varchar2(30) not null, DEPTNO constraint FK_DEPT references DEPT); APPROOT SQL> insert into DEPT .. DEMOPDB SQL> insert into EMP .. ORA-02291: integrity constraint (SCOTT.FK_DEPTNO) violated - parent key not found
  • 17. Be Careful with DML on Application Container Objects Collaborate18 - Oracle 12.2- Application Containers17 April 2018 DML from Application PDB on an a Data-Linked Table: DML from Application PDB on a Extended Data-Linked Table (row from Application Root): SQL> update scott.dept set loc='SEATTLE' where loc='CHICAGO'; update scott.dept set loc='SEATTLE' where loc='CHICAGO' *ERROR at line 1: ORA-65097: DML into a data link table is outside an application action SQL> select * from scott.zip_codes where zip_code='40227'; CO ZIP_C CITY -- ----- ---------------------------------------- DE 40227 Duesseldorf SQL> update scott.zip_codes set zip_code='44444' where zip_code='40227'; 0 rows updated.
  • 18. Collaborate18 - Oracle 12.2- Application Containers18 April 2018 Installing Applications
  • 19. Prepare the Application in the Application Root (1) Collaborate18 - Oracle 12.2- Application Containers19 April 2018 Create Application Root (similar to CDB$ROOT) – Oracle Managed Files (OMF) are required when using Application Containers Create the application in the Application Root During application creation the statements are captured create pluggable database DEMO AS APPLICATION CONTAINER admin user admin identified by manager; alter pluggable database application DEMOAPP begin install '1.0'; .. create tablespaces (OMF) .. create users .. create application objects alter pluggable database application DEMOAPP end install '1.0'; Not documented!
  • 20. Prepare the Application in the Application Root (2) Collaborate18 - Oracle 12.2- Application Containers20 April 2018 Create Application Common Objects SQL> Alter session set container=DEMO; SQL> alter pluggable database application DEMOAPP begin install '1.0'; SQL> show user USER is "SYS" SQL> create table SCOTT.EMP SHARING=METADATA [..] Table created. alter pluggable database application DEMOAPP end install '1.0'; Works!
  • 21. Prepare the Application in the Application Root (3) Collaborate18 - Oracle 12.2- Application Containers21 April 2018 Create Application Common Objects (as object owner) SQL> Alter session set container=DEMO; SQL> alter pluggable database application DEMOAPP begin install '1.0'; SQL> create user scott .. SQL> connect scott/tiger@DEMO SQL> create table EMP SHARING=METADATA [..] ORA-65021 illegal use of „SHARING“-clause
  • 22. Prepare the Application in the Application Root (4) Collaborate18 - Oracle 12.2- Application Containers22 April 2018 Create Application Common Objects (as object owner) SQL> alter pluggable database application DEMOAPP begin install '1.0'; SQL> exec dbms_application_info.set_module('INSTALL_V1',null); SQL> create user scott .. SQL> connect scott/tiger@DEMO SQL> exec dbms_application_info.set_module('INSTALL_V1',null); SQL> create table EMP SHARING=METADATA [..] Table created. SQL> connect sys/manager@DEMO as sysdba SQL> exec dbms_application_info.set_module('INSTALL_V1',null); SQL> alter pluggable database application DEMOAPP end install '1.0'; Not documented!
  • 23. Create an Application PDB Collaborate18 - Oracle 12.2- Application Containers23 April 2018 Two ways to create an Application PDB – Via an Application Seed – Directly from Application Root During the PDB creation the statements are „replayed“
  • 24. Application Seed Collaborate18 - Oracle 12.2- Application Containers24 April 2018 Similar to PDB$SEED Optional Only one Application Seed per Application container allowed SQL> CREATE PLUGGABLE DATABASE AS SEED 2 ADMIN USER app_admin IDENTIFIED BY manager; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 3 DEMO READ WRITE NO 4 DEMO$SEED MOUNTED
  • 25. Create an Application PDB (1) – from Application Seed Collaborate18 - Oracle 12.2- Application Containers25 April 2018 Step 1: Install Application in Application Seed Clone the Application Seed ALTER PLUGGABLE DATABASE DEMO$SEED OPEN; ALTER SESSION SET CONTAINER=DEMO$SEED; ALTER PLUGGABLE DATABASE APPLICATION DEMO SYNC; ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE DEMO$SEED OPEN READ ONLY; create pluggable database DEMOPDB1 from DEMO$SEED; alter pluggable database DEMOPDB1 open;
  • 26. Create an Application PDB (2) – from Application Root Collaborate18 - Oracle 12.2- Application Containers26 April 2018 SQL> ALTER SESSION SET CONTAINER=DEMO; SQL> CREATE PLUGGABLE DATABASE DEMOPDB1 2 ADMIN USER ADMIN IDENTIFIED BY ADMIN; SQL> ALTER PLUGGABLE DATABASE DEMOPDB1 OPEN; SQL> ALTER SESSION SET CONTAINER=DEMOPDB1; SQL> ALTER PLUGGABLE DATABASE APPLICATION DEMOAPP SYNC; .. after that the application can be used in DEMOPDB1
  • 27. Collaborate18 - Oracle 12.2- Application Containers27 April 2018 Patching and Upgrading Applications
  • 28. Application Containers – Upgrade an Application (1) Collaborate18 - Oracle 12.2- Application Containers28 April 2018 Upgrade the application in the Application Root Upgrade in Application PDB 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;
  • 29. Application Containers – Upgrade an Application (2) Collaborate18 - Oracle 12.2- Application Containers29 April 2018 During an upgrade, a read-only clone of the source Application Root is created From the alert.log: Purpose: Application Root for Application PDBs not upgraded to the new release DEMO(5):alter pluggable database application DEMOAPP begin upgrade '1.0' to '2.0' CREATE PLUGGABLE DATABASE "F613214177_3_1" AS APPLICATION CONTAINER from "DEMO" CREATE_FILE_DEST='/u01/oradata' [..] Completed: CREATE PLUGGABLE DATABASE "F613214177_3_1" AS APPLICATION CONTAINER from "DEMO" CREATE_FILE_DEST='/u01/oradata'[..] ALTER PLUGGABLE DATABASE "F613214177_3_1" OPEN READ ONLY INSTANCES=ALL [..] Completed: ALTER PLUGGABLE DATABASE "F613214177_3_1" OPEN READ ONLY INSTANCES=ALL
  • 30. Patching an Application Collaborate18 - Oracle 12.2- Application Containers30 April 2018 Limited set of operations (e.g. no DROP commands, no ALTER TABLE) A minimum start version can be defined alter pluggable database application DEMOAPP begin patch <Patch#> .. modify application objects alter pluggable database application DEMOAPP end patch <Patch#>;
  • 31. Collaborate18 - Oracle 12.2- Application Containers31 April 2018 Administration & Daily Business
  • 32. Administration Collaborate18 - Oracle 12.2- Application Containers32 April 2018 All administrative tasks are executed from the application root CREATE/OPEN/CLOSE/DROP work as with normal PDBs – But closing the Application Root will close all Application PDBs Application Root can only be dropped if there are no Application PDBs A normal PDB can be converted to an Application Container APPSEED DEMOPDB2 Application Root (APPROOT) DEMOPDB1
  • 33. Backup & Recovery Collaborate18 - Oracle 12.2- Application Containers33 April 2018 When connected to CDB$ROOT – Same as with usual PDBs When connected to Application Root For recovery the same principles apply RMAN> CONNECT TARGET sys/manager@oracle12c:1521/demoapp RMAN> BACKUP DATABASE ROOT; # backup application root RMAN> BACKUP PLUGGABLE DATABASE DEMOPDB1; # backup application PDB RMAN> BACKUP DATABASE; # backup application root + PDBs
  • 34. Execution Plans (1) – Data Linked Table Collaborate18 - Oracle 12.2- Application Containers34 April 2018 select e.empno, e.ename, d.deptno, d.dname 2 from scott.emp e -- local in application PDB 3 scott.dept d -- from application root (data linked) 4 where d.deptno=e.deptno; --------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| --------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 35 | 3 (0)| |* 1 | HASH JOIN | | 1 | 35 | 3 (0)| | 2 | DATA LINK FULL | DEPT | 1 | 22 | | | 3 | TABLE ACCESS FULL| EMP | 14 | 182 | 3 (0)| ---------------------------------------------------------------
  • 35. Execution Plans (2) – Extended Data Linked Table Collaborate18 - Oracle 12.2- Application Containers35 April 2018 select * from scott.zip_codes; --------------------------------------------------------------------------------------------- | Id | Operation | Name | Pstart| Pstop | TQ |IN-OUT|PQ Distrib -------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | | | | 1 | PX COORDINATOR | | | | | | | 2 | PX SEND QC (RANDOM) | :TQ10000 | | | Q1,00| P->S |QC(RAND) | 3 | PX PARTITION LIST ALL | | 1 | 2 | Q1,00| PCWC | | 4 | EXTENDED DATA LINK FULL | ZIP_CODES| | | Q1,00| PCWP | ---------------------------------------------------------------------------------------------
  • 36. Data Dictionary Views (CDB_APP%) Collaborate18 - Oracle 12.2- Application Containers36 April 2018 CDB_APPLICATIONS CDB_APPLICATION_ROLES CDB_APP_ERRORS CDB_APP_PATCHES CDB_APP_PDB_STATUS CDB_APP_STATEMENTS CDB_APP_VERSIONS
  • 37. Collaborate18 - Oracle 12.2- Application Containers37 April 2018 More features in short
  • 38. More features in short .. (1) Collaborate18 - Oracle 12.2- Application Containers38 April 2018 A "normal PDB" can be converted – Important: Decision on the "SHARING" of each object Application Common Users and Roles – Defined in Application Root – Available in all Application PDBs
  • 39. More features in short .. Collaborate18 - Oracle 12.2- Application Containers39 April 2018 Application Container wide queries are possible from the Application Root – "CONTAINERS" clause Container Map – Allow the re-direction of statements from the Application Root to an Application PDB based on a mapping table
  • 40. Collaborate18 - Oracle 12.2- Application Containers40 April 2018 Summary
  • 41. Application Containers - Summary Collaborate18 - Oracle 12.2- Application Containers41 April 2018 Interesting concept for SaaS Easy upgrade and patching of lots of Application PDBs It‘s a “release 1.0“ of a new feature Some flaws Oracle Managed Files (OMF) are required Documentation is misleading in some places
  • 42. Collaborate18 - Oracle 12.2- Application Containers42 April 2018 Further Information Oracle 12.2 Concepts (Chapter 19) Oracle 12.2 Administrators Guide (Chapter 40 and 44) Toadworld.com – Series on Application Containers: http://www.toadworld.com/platforms/oracle/b/weblog/archive/2017/06/26/oracle-multi-tenant- application-containers-part-i
  • 43. Questions and Answers Markus Flechtner Principal Consultant Phone +49 211 5866 64725 Markus.Flechtner@Trivadis.com @markusdba https://www.markusdba.net You can ownload the slides from https://www.slideshare.net/markusflechtner Please don‘t forget the session evaluation – Thank you! April 2018 Collaborate18 - Oracle 12.2- Application Containers43