SlideShare a Scribd company logo
1 of 62
Download to read offline
12c Single-Tenant
Infrastructure at your Service.
12c Single-Tenant:
Multitenant Features for All Editions
12c Single-Tenant 18.09.2016
Infrastructure at your Service.
About me
Franck Pachot
Senior consultant
Oracle Technology Leader
Mobile +41 79 963 27 22
franck.pachot@dbi-services.com
www.dbi-services.com
Page 2
12c Single-Tenant
Experts At Your Service
> 45 specialists in IT infrastructure
> Certified, experienced, passionate
Based In Switzerland
> 100% self-financed Swiss company
> Over CHF6 mio. turnover
Leading In Infrastructure Services
> More than 120 customers in CH, D, & F
> Over 40 SLAs dbi FlexService contracted
18.09.2016
dbi services
Who we are
Page 3
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 4
12c Single-Tenant
The feature was originally called Oracle Pluggable Databases
> Dictionary separation (CDB / PDB)
> Transportable Tablespace for SYSTEM, SYSAUX and UNDO
> Unplug/plug of PDBs, clone, relocate, etc.
It goes beyond with Multitenant Option
> One CDB can manage multiple PDBs
> Ready for consolidation into the Cloud
Finally the feature was released as Oracle Multitenant
> Ready for consolidation into the Cloud
Definition of multitenant
18.09.2016
Multitenant architecture
Page 5
12c Single-Tenant
Definition of multitenant
18.09.2016
Multitenant architecture
Page 6
Multiple databases
per instance
One database per instance
(all editions without options)
Deprecated
but still supported
Multitenant architecture:
dictionary separation, unplug/plug,ā€¦
Non-CDB
Same architecture
as in 11g, 10g, 9i, 8i,
Oracle 7, Oracle 6,ā€¦
Single-Tenant
12c multitenant
features but limited
to one PDB per CDB
Multitenant
Option
Consolidation but
only for Enterprise
Edition plus option
12c Single-Tenant
Incorrect:
> CDB$ROOT is a container but cannot be unplugged
> PDB$SEED is a PDB but cannot be unplugged
> When you unplug, you do not detach anything. You just close it forever.
PDB like USB sticksā€¦
18.09.2016
Page 7
Multitenant architecture
PDB
PDB
PDB$SEED
CDB$ROOT
CDB
12c Single-Tenant
CDB
PDBs are tablespaces
18.09.2016
Page 8
Multitenant architecture
USER_DATA1
UNDO
SYSAUX
SYSTEM
Non-CDB1
CDB
CDB$ROOTPDB$SEEDPDB_APP1PDB_APP2
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB_APP1:SYSTEM
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
PDB_APP2:USER_DATA2
PDB_APP2:SYSAUX
PDB_APP2:SYSTEMUSER_DATA2
UNDO
SYSAUX
SYSTEM
Non-CDB2
Without multitenant option we
can create only one user PDB
12c Single-Tenant
Non-CDB vs. single-tenant
18.09.2016
Page 9
Multitenant architecture
USER_DATA1
UNDO
SYSAUX
SYSTEM
Non-CDB1
USER_DATA2
UNDO
SYSAUX
SYSTEM
Non-CDB2
CDB1
CDB$ROOTPDB$SEEDPDB_APP1
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB_APP1:SYSTEM
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
CDB2
CDB$ROOTPDB$SEEDPDB_APP1
PDB_APP12USER_DATA2
PDB_APP1:SYSAUX
PDB_APP1:SYSTEM
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
12c Single-Tenant
In DBA_FEATURE_USAGE_STATISTIC the feature is called
> "Oracle Multitenant"
> 12.1.0.2 shows "Oracle Pluggable Databases" - Bug 20718081
It detects multitenant architecture, not multitenant option usage
> Enterprise Manager displays no information about the option
> Detail is in DBA_FEATURE_USAGE_STATISTICS.AUX_COUNT
Database Feature usage
18.09.2016
Multitenant architecture
Page 10
SQL> select name, aux_count from dba_feature_usage_statistics;
NAME AUX_COUNT
-------------------- ----------
Oracle Multitenant 4096
12c Single-Tenant
In DBA Feature Usage Statistics, usage is detected for any CDB
> Related to Multitenant Architecture, not to Multitenant Option
The AUX_COUNT tells if the option is currently used:
> CON_ID=0 is the CDB
> CON_ID=1 is CDB$ROOT
> CON_ID=2 is PDB$SEED
> CON_ID=3 is the first PDB
> No history stored, so if you created one more PDB by mistake, just drop it
In Standard Edition, ORA-65010 raised if no rows from:
Feature usage detection
18.09.2016
Multitenant architecture
select count(*) into feature_boolean from v$database where cdb = 'YES';
select count(*) into aux_count from v$pdbs where con_id > 2;
Page 11
select rownum from dual connect by level <= 3
minus select con_id# from container$ where status <> 4
CDB CDB
CDB$ROOT PDB$SEED PDB_APP1 PDB_APP2
con_id=ļ‚‹
ļ‚Œ ļ‚ ļ‚Ž ļ‚
12c Single-Tenant 18.09.2016
Mutitenant architecture
Page 12
CDB CDB
CDB$ROOT PDB$SEED PDB_APP1 PDB_APP2
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB_APP1:SYSTEM
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
PDB_APP2:USER_DATA2
PDB_APP2:SYSAUX
PDB_APP2:SYSTEM
System metadata User metadata
A CDB is a container
> CON_ID=0 is the CDB
that contains containers
> CON_ID=1 is CDB$ROOT
> CON_ID=2 is PDB$SEED
> CON_ID=3 is the first PDB
> ...
Containers where con_id ā‰„ 2
> are PDBs (pluggable databases)
CDB having max(con_id)= 3
> is Single-Tenant (no option)
> Controlled by max_pdbs=1
con_id=ļ‚‹
ļ‚Œ ļ‚ ļ‚Ž ļ‚
CON_ID arithmetic
12c Single-Tenant
So, from what you have seen, Single-Tenant is a database
> With more datafiles, slightly more processes and memory
> And the risk to activate an expensive option
But there's more reasons to use it:
> The non-CDB is deprecated
> It brings new features:
> Data movement: pluggable databases
> Agility: flashback PDB
> Fast upgrade: plug to new version
> Security: lockdown profiles
Single-Tenant vs. non-CDB
18.09.2016
Multitenant architecture
Page 13
SQL> alter system set max_pdbs=1 comment='single-tenant';
New: we can set the number of user PDBs
12c Single-Tenant
Demo
18.09.2016
Page 14
Multitenant architecture
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
SQL> exec dbms_feature_usage_internal.exec_db_usage_sampling(sysdate);
PL/SQL procedure successfully completed.
SQL> select * from dba_feature_usage_statistics where name like
'%Pluggable%' or name like '%Multitenant%';
NAME VERSION DETECTED_USAGES AUX_COUNT
------------------------- ----------------- --------------- ----------
Oracle Multitenant 12.2.0.1.0 2 1
SQL> show parameter max_pdbs
NAME TYPE VALUE
-------------------------- ----------- ------------------------------
max_pdbs integer 4098
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 15
12c Single-Tenant
Move datafiles (physical)
> duplicate
Less Flexible
> Moves whole tablespace
> Must be self-contained
> May have some version limitation
But fast
> Physical copy
> Depends only on the bandwidth
> Faster in same storage
Move table rows (logical)
> exp/imp
More Flexible
> Can move any subset
> Can change data model
> Can change physical layout
> Can move to different version
But slow
> Like select + insert + rebuild index
> Generates undo
> Generates redo
Data Movement
18.09.2016
Page 16
Pluggable databases
12c Single-Tenant
exp/imp
> Logical transport (like select/insert) -> very slow
Data Pump export / import
> Includes direct-path but still logical -> flexible but slow
RMAN Duplicate
> Physical transport -> fast but same database version
Transportable Tablespaces
> Physical transport of user data, logical transport of metadata
-> fast and cross version
but source in read-only
Unplug / Plug or PDB clone
> Physical transport of user data and metadata
-> the fastest
-> online when in local undo
Data Movement
18.09.2016
Pluggable databases
Page 17
12c Single-Tenant
Transportable tablespace not available in Standard Edition
Unplug / Plug or Clone PDB is faster and is available in SE
> and even online (no need for read-only in local undo mode)
> relocate, proxy,ā€¦
Transportable tablespaces
18.09.2016
Pluggable databases
Page 18
12c Single-Tenant
CDB
From non-CDB to PDB
18.09.2016
Page 19
Pluggable databases
USER_DATA1
UNDO
SYSAUX
SYSTEM
Non-CDB1
CDB$ROOTPDB$SEEDPDB_APP1
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
PDB_APP1:SYSTEM
1. Source Non-CDB in read only
and new CDB ready
2. Unplug from non-CDB
and plug into CDB
3. noncdb_to_pdb.sql
PDB_APP1:SYSTEM
12c Single-Tenant
With non-CDB
> You can transport only data with TTS
> Metadata has to be re-created
> And this transport is not available in Standard Edition
In Single-Tenant
> You can transport physically data + metadata
> In all editions
> Online
> With a simple command
Data Movement summary
18.09.2016
Pluggable databases
Page 20
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 21
12c Single-Tenant
> Point In Time Recovery needs to rollback transactions from that PIT
> Restore UNDO at that PIT, and this cannot overwrite CDB UNDO
CDB$ROOT:UNDO
CDB
Shared or local UNDO
18.09.2016
Page 22
Flashback PDB
CDB$ROOTPDB$SEEDPDB_APP1
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB_APP1:SYSTEM
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
PDB$SEED:UNDO
SYSTEM
transaction
USER
transaction
data
undo
data
undo
undo
12c Single-Tenant
New: you can flashback a PDB
In SHARED UNDO mode
> Uses an auxiliary instance, as in PDBPITR to restore UNDO
> Exception is CLEAN RESTORE POINT
> Restore point taken when PDB is closed do not need UNDO
In LOCAL UNDO mode
> No need for auxiliary instance
> No need for clean restore points
Flashback PDB
18.09.2016
Page 23
Flashback PDB
SQL> create clean restore point REGTEST1;
create clean restore point REGTEST1
*
ERROR at line 1:
ORA-65025: Pluggable database is not closed on all instances.
12c Single-Tenant
You can define restore points at PDB or CDB level
> From RMAN the CON_ID is not displayed ļŒ
Flashback logging is always at CDB level
> Creating one restore point in PDB enables flashback logs for whole database
PDB restore points
18.09.2016
Page 24
Flashback PDB
SCN NAME CON_ID PDB GUARANTEE CLEAN_PDB
---------- --------------- ---------- --- --------- ---------
1514402 BEFORE_RELEASE 4 YES YES NO
1514393 END_OF_MONTH 0 NO NO NO
1514410 BEFORE_RELEASE 5 YES NO NO
1514415 END_OF_MONTH 5 YES NO NO
RMAN> list restore point all;
SCN RSP Time Type Time Name
---------------- --------- ---------- --------- ----
1514393 14-FEB-16 END_OF_MONTH
1514402 GUARANTEED 14-FEB-16 BEFORE_RELEASE
1514410 14-FEB-16 BEFORE_RELEASE
1514415 14-FEB-16 END_OF_MONTH
12c Single-Tenant
Flashback for Dev/Test databases in Single-Tenant
> At CDB or PDB level?
> Shared UNDO or Local UNDO
It is faster at PDB level
> No instance restart
It is easier at PDB level
> You donā€™t loose AWR, etc
If you need to flashback to a PIT with active transactions
> Easier and faster with local undo
In Single-Tenant
18.09.2016
Page 25
Flashback PDB
12c Single-Tenant
Demo
18.09.2016
Page 26
Flashback PDB
SQL> select * from database_properties where property_name like '%UNDO%';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------- -------------- -----------------------------
LOCAL_UNDO_ENABLED TRUE true if local undo is enabled
SQL> alter pluggable database close;
Pluggable database altered.
SQL> flashback pluggable database to restore point INITIALSTATE;
Flashback complete.
SQL> alter pluggable database PDB open;
alter pluggable database PDB open
*
ERROR at line 1:
ORA-01113: file 11 needs media recovery
ORA-01110: data file 11: '/u02/oradata/CDB1/pdb/undotbs01.dbf'
SQL> alter pluggable database PDB open resetlogs;
Pluggable database altered.
12c Single-Tenant
You need an auxiliary instance to restore the UNDO
> Because UNDO is at CDB level
> Information from multiple PDB transactions is shared into same datafiles
> This is because of SHARED UNDO MODE
New: you can have a CDB in LOCAL UNDO MODE
> UNDO tablespace is at PDB level
> PDB are now self-contained and it allows
> PDB online relocation
> PDB Flashback to any PIT
> PDB PITR without auxiliary instance
Local UNDO
18.09.2016
Page 27
Local Undo in 12.2
12c Single-Tenant
Local UNDO
18.09.2016
Page 28
Local Undo in 12.2
Local UNDO is the default in DBCA
> Recommended, even in single-tenant
12c Single-Tenant
How to check if you are in LOCAL UNDO mode
> No row means FALSEā€¦
You can enable LOCAL UNDO at database creation
> New PDBs will create their UNDO tablespace from PDB$SEED
You can change the defaults from PDB$SEED
Local UNDO
18.09.2016
Page 29
Local Undo in 12.2
SQL> select * from database_properties where property_name like '%UNDO%';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------- -------------------- -----------------------------------
LOCAL_UNDO_ENABLED TRUE true if local undo is enabled
SQL> create bigfile undo tablespace UNDOTBS2 datafile
'/u02/oradata/CDB/pdb/undotbs02.dbf' size 100M autoextend on next 100M maxsize
5G retention guarantee;
Tablespace created.
SQL> alter system set undo_tablespace='UNDOTBS2';
System altered.
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.
12c Single-Tenant
With LOCAL UNDO each container has an UNDO tablespace
> No row means FALSEā€¦
You can enable LOCAL UNDO at database creation
Local UNDO
18.09.2016
Page 30
Local Undo in 12.2
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 700 SYSTEM YES /u02/oradata/CDB/system01.dbf
2 210 PDB$SEED:SYSTEM NO
/u02/oradata/CDB/pdbseed/system01.dbf
3 550 SYSAUX NO /u02/oradata/CDB/sysaux01.dbf
4 165 PDB$SEED:SYSAUX NO
/u02/oradata/CDB/pdbseed/sysaux01.dbf
5 270 UNDOTBS1 YES /u02/oradata/CDB/undotbs01.dbf
6 225 PDB$SEED:UNDOTBS1 NO
/u02/oradata/CDB/pdbseed/undotbs01.dbf
7 5 USERS NO /u02/oradata/CDB/users01.dbf
8 210 PDB:SYSTEM NO /u02/oradata/CDB/pdb/system01.dbf
9 185 PDB:SYSAUX NO /u02/oradata/CDB/pdb/sysaux01.dbf
10 225 PDB:UNDOTBS1 NO /u02/oradata/CDB/pdb/undotbs01.dbf
11 5 PDB:USERS NO /u02/oradata/CDB/pdb/users01.dbf
12c Single-Tenant
Changing from SHARED to LOCAL UNDO
> You must be in UPGRADE mode
And create an UNDO tablespace in PDB$SEED (before open PDBs)
Local UNDO
18.09.2016
Page 31
Local Undo in 12.2
SQL> shutdown immediate
SQL> startup upgrade
SQL> alter database local undo on;
SQL> shutdown immediate
SQL> startup
SQL> alter database local undo on;
alter database local undo on
*
ERROR at line 1:
ORA-65192: database must be in UPGRADE mode for this operation
SQL> alter pluggable database PDB$SEED open read write force;
SQL> alter session set container=PDB$SEED;
SQL> create undo tablespace UNDO datafile size 100M autoextend on next 100M;
SQL> alter pluggable database PDB$SEED close;
SQL> alter pluggable database PDB$SEED open read only;
12c Single-Tenant
In LOCAL UNDO you donā€™t need an auxiliary instance for PDBPITR
Pluggable Databases are totally self-contained
Local UNDO
18.09.2016
Page 32
Local Undo in 12.2
run {
set until restore point 'T0' ;
restore pluggable database PDB;
recover pluggable database PDB;
alter pluggable database PDB open resetlogs;
}
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 33
12c Single-Tenant
Documentation says itā€™s as easy and faster:
> As it is only links you need only to upgrade CDB$ROOT
Because all system objects are in CDB$ROOT
> PDB has only links.
> No need to re-create, re-compile all objects
> Butā€¦
Fast?
11.05.2016
Page 34
Upgrade by plug-in
12c Single-Tenant
After plug-in or clone from previous release
> we need to run catupgrd:
Soā€¦ how fast is it?
> catalog.sql ā€¦ catproc.sql ā€¦ and all componentsā€¦
Fast?
11.05.2016
Page 35
Upgrade by plug-in
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl
-d $ORACLE_HOME/rdbms/admin -l /tmp -c PDBMIG
$ORACLE_HOME/rdbms/admin/catupgrd.sql
Argument list for
[/u01/app/oracle/product/12202EE/rdbms/admin/catctl.pl]
Run in c = PDBMIG
Do not run in C = 0
Input Directory d = /u01/app/oracle/product/12202EE/rdbms/admin
Echo OFF e = 1
Log Dir l = /tmp
12c Single-Tenant
Faster than a CDB (with 3 containers) but not faster than non-CDB
Fast?
11.05.2016
Page 36
Upgrade by plug-in
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
Oracle Server UPGRADED 12.2.0.1.0 00:40:20
JServer JAVA Virtual Machine UPGRADED 12.2.0.1.0 00:05:29
Oracle Real Application Clusters UPGRADED 12.2.0.1.0 00:00:01
Oracle Workspace Manager UPGRADED 12.2.0.1.0 00:00:56
OLAP Analytic Workspace UPGRADED 12.2.0.1.0 00:01:07
Oracle OLAP API UPGRADED 12.2.0.1.0 00:00:23
Oracle Label Security UPGRADED 12.2.0.1.0 00:00:19
Oracle XDK UPGRADED 12.2.0.1.0 00:01:02
Oracle Text UPGRADED 12.2.0.1.0 00:00:37
Oracle XML Database UPGRADED 12.2.0.1.0 00:02:09
Oracle Database Java Packages UPGRADED 12.2.0.1.0 00:00:13
Oracle Multimedia UPGRADED 12.2.0.1.0 00:01:52
Spatial UPGRADED 12.2.0.1.0 00:16:54
Oracle Application Express VALID 5.0.0.00.31 00:00:08
Oracle Database Vault UPGRADED 12.2.0.1.0 00:04:16
Final Actions 00:03:10
Post Upgrade 00:02:11
12c Single-Tenant
PDB clone can be across versions
> Datafiles are compatible
> System objects are in CDB
Remote clone from 12cR1 to 12cR2:
> Remote (source) alert.log:
Need to apply patch on source and target:
> patch18633374: COPYING ACROSS REMOTE SERVERS
> Or use unplug/plug instead
Then apply catupgrd.sql on the PDB (catcon.pl -c)
Remote clone from previous version
18.09.2016
Page 37
Upgrade by plug-in
ORA-17628: Oracle error 17630 returned by remote Oracle server
ORA-17630: Mismatch in the remote file protocol version client server
ORA-17630: Mismatch in the remote file protocol version client 3 server 2
12c Single-Tenant
Upgrade by PDB plug-in to new CDB
> Faster than whole CDB
> Faster than non-CDB
> ā€¦ in future versions
> AWR stays in old CDB
> Needs two instances
Upgrade the whole CDB
> Everything is still there
> AWR
> Backups
> Similar to what we know
> Takes longer
> There are 3 containers
When?
11.05.2016
Page 38
Upgrade by plug-in
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 39
12c Single-Tenant
Common and local users
18.09.2016
Page 40
Security
Local users are created in the PDB
> Do not start with C## or "common_user_prefix" when set
> Are known in local container only
> Created in one container with container=current
Common users are created in the CDB
> Start with C## or "common_user_prefix"
> except oracle_maintained ones
> Are known in all containers
> Created in CDB$ROOT with container=all
> Can change containers with alter session
> Can have a schema in each PDB
> but most common users should be schemaless
Same common users, roles, profiles should be created
on all CDBs where PDBs can be plugged-in
CDB1
CDB$ROOTPDB$SEEDPDB_APP1
Local user
Common user
12c Single-Tenant
Common and local users
18.09.2016
Page 41
Security
Local users are for
> Application schemas
> Application users
> Application admins
Common users are for
> system administrator
> Oracle maintained
> Monitoring,ā€¦
> It look like inheritance but actually it's replicated
> Altered in CDB$ROOT, changes replicated in PDB
> Immediately if opened, deferred if closed
> At creation (from seed, clone, plug-inā€¦)
Single-Tenant vs. non-CDB: separation of roles
Ā§
CDB1
CDB$ROOTPDB$SEEDPDB_APP1
SYSTEM
APPLICATION
12c Single-Tenant
Local privileges
> Common or local roles, or privileges
> Granted to local or common user
> But only on current container
with container=current (default)
Common privileges
> From CDB$ROOT to common users
> with container=common
So you can grant DBA locally to the PDB local admin
> But are you sure that his rights are limited to the PDB?
Common and local privileges
18.09.2016
Security
SQL> grant DBA to MY_DEVELOPER container=current;
12c Single-Tenant
Did you ever
> so that they can kill their sessions?
> Thatā€™s a quite powerful privilege
Alternative:
> Great encapsulation, but how does it work with TOAD ā€˜killā€™ button?
In 12c (next) Multitenant, there is a solution: lockdown profiles
> available in Single-Tenant but not in non-CDB
> to control PDB local users beyond privileges
Lockdown profiles
18.09.2016
Page 43
Security
SQL> grant ALTER SYSTEM to MY_DEVELOPER;
SQL> create procedure kill_session (ā€¦) as begin
if ā€¦ /* check if session USERNAME */
execute immediate 'alter system kill session ā€¦'
ā€¦
SQL> grant EXECUTE on kill_session to MY_DEVELOPER;
12c Single-Tenant
You want to delegate some DBA roles to a PDB owner
> You need a finer level than system privileges
With lockdown profiles you can lockdown local users
> disable database options, features, access to system files, network
> control what can be done by some powerful commands:
> ALTER SYSTEM, ALTER SESSION, ALTER [PLUGGABLE] DATABASE
Lockdown profiles
18.09.2016
Page 44
Security
SQL> create lockdown profile APPDBA_PROF;
Lockdown Profile created.
SQL> select * from DBA_LOCKDOWN_PROFILES;
PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS
------------- --------- ------------ ------ ---------- ---------- ------
APPDBA_PROF DISABLE
SQL> alter session set container=PDB1;
Session altered.
SQL> alter system set pdb_lockdown=APPDBA_PROF;
System altered.
12c Single-Tenant
You want to disable options (cf. V$OPTION):
> Database queuing (also known as Advanced Queuing)
> Oracle Data Guard
> Partitioning
> Real Application Clusters
for a PDB
> ā€¦ disable option all;
> ā€¦ disable option all except=(ā€¦);
Lockdown profiles ā€“ disable option
18.09.2016
Page 45
Security
SQL> alter lockdown profile APPDBA_PROF disable option = ('Partitioning');
Lockdown Profile altered.
SQL> select * from DBA_LOCKDOWN_PROFILES;
PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS
------------- --------- ------------ ------ ---------- ---------- ------
APPDBA_PROF OPTION PARTITIONING DISABLE
12c Single-Tenant
Demo
18.09.2016
Page 46
Security
ā€¦
SQL> alter lockdown profile DEMO_LOCKDOWN
2 enable option = ('Partitioning');
Lockdown Profile altered.
SQL> select * from dba_lockdown_profiles;
PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPTION STATUS
------------- --------- ------------------------------------- ------------ -------------- -------
DEMO_LOCKDOWN FEATURE AWR_ACCESS DISABLE
DEMO_LOCKDOWN FEATURE DROP_TABLESPACE_KEEP_DATAFILES DISABLE
DEMO_LOCKDOWN OPTION PARTITIONING ENABLE
DEMO_LOCKDOWN STATEMENT ALTER SYSTEM DISABLE
DEMO_LOCKDOWN STATEMENT ALTER SYSTEM KILL SESSION ENABLE
DEMO_LOCKDOWN STATEMENT ALTER SYSTEM SET OPTIMIZER_MODE ENABLE
PRIVATE_DBAAS EMPTY
PUBLIC_DBAAS EMPTY
SAAS EMPTY
12c Single-Tenant
You want to disable:
> Some ALTER SYSTEM commands
> But not revoke whole ALTER SYSTEM privilege
for a PDB
> Any user will get an ā€˜ORA-01031: insufficient privilegesā€™ for any ALTER
SYSTEM command, except an ALTER SYSTEM KILL SESSION
Only ALTER SYSTEM commands are currently documented
Lockdown profiles ā€“ disable alter system
18.09.2016
Page 47
Security
SQL> alter lockdown profile APPDBA_PROF disable statement = ('ALTER SYSTEM')
clause all except = ('KILL SESSION');
SQL> select * from DBA_LOCKDOWN_PROFILES;
PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS
------------- --------- ------------ ----------- ---------- ---------- -------
APPDBA_PROF OPTION PARTITIONING DISABLE
APPDBA_PROF STATEMENT ALTER SYSTEM KILL SESSION ENABLE
12c Single-Tenant
You want to disable:
> Some ALTER SYSTEM commands
> Allow ALTER SYSTEM SET, but for some parameters only
Lockdown profiles ā€“ disable alter system
18.09.2016
Page 48
Security
SQL> alter lockdown profile APPDBA_PROF disable statement = ('ALTER SYSTEM')
clause = ('SET');
Lockdown Profile altered.
SQL> alter lockdown profile APPDBA_PROF enable statement = ('ALTER SYSTEM')
clause = ('SET') option = ('undo_retention', 'temp_undo_enabled',
'resumable_timeout', 'cursor_sharing', 'session_cached_cursors', 'heat_map',
'resource_manager_plan', 'optimizer_dynamic_sampling');
Lockdown Profile altered.
SQL> select * from DBA_LOCKDOWN_PROFILES where profile_name='APPDBA_PROF';
PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPTION STATUS
------------- --------- ------------ ------- ------------------------- -------
APPDBA_PROF STATEMENT ALTER SYSTEM SET DISABLE
APPDBA_PROF STATEMENT ALTER SYSTEM SET CURSOR_SHARING ENABLE
ā€¦
12c Single-Tenant
Example:
When disabling, we can set the value to set:
> Sets the value to in spfile
> restart the PDB after setting the lockdown profile
Lockdown profiles ā€“ disable alter system
18.09.2016
Page 49
Security
SQL> alter system set optimizer_dynamic_sampling=4;
System altered.
SQL> alter system set optimizer_index_cost_adj=1;
alter system set optimizer_index_cost_adj=1
*
ERROR at line 1:
ORA-01031: insufficient privileges
alter lockdown profile APPDBA_PROF disable statement=('ALTER SYSTEM')
clause=('SET') option=('cursor_sharing') value=('EXACT');
12c Single-Tenant
Don't forget to:
> So that the DBA cannot reset pdb_lockdown
ALTER SYSTEM RESET
> is also disabled by clause=('SET')
Undocumented but possible:
> ALTER SESSION (same clause/option than ALTER SYSTEM)
> ALTER DATABASE
> ALTER PLUGGABLE DATABASE
Lockdown profiles ā€“ disable alter system
18.09.2016
Page 50
Security
SQL> alter lockdown profile APPDBA_PROF
disable statement = ('ALTER SYSTEM')
clause = ('SET')
option=('pdb_lockdown');
12c Single-Tenant
You want to disable:
> Network access
> DBMS_DEBUG_JDWP, UTL_HTTP, UTL_INADDR, UTL_SMTP, UTL_TCP
> XDB
> COMMON_SCHEMA_ACCESS through proxy users
for a PDB
> ā€˜NETWORK_ACCESSā€™ disables all networking packages
> ā€˜OS_ACCESSā€™ disables all file manipulation
> DROP_TABLESPACE_KEEP_DATAFILES needed to drop a tablespace
without 'including datafiles' with non-OMF datafile
> 'AWR_ACCESS' needed to create snapshotā€¦
Lockdown profiles ā€“ disable features
18.09.2016
Page 51
Security
SQL> alter lockdown profile APPDBA_PROF disable feature =
('UTL_HTTP','UTL_SMTP','UTL_TCP');
12c Single-Tenant
Not all documented:
Lockdown profiles ā€“ disable features
18.09.2016
Page 52
Security
strings $ORACLE_HOME/bin/oracle
NETWORK_ACCESS
COMMON_SCHEMA_ACCESS
UTL_TCP
UTL_HTTP
UTL_SMTP
UTL_INADDR
XDB_PROTOCOLS
CTX_PROTOCOLS
CTX_LOGGING
OS_ACCESS
UTL_FILE
EXTERNAL_PROCEDURES
JAVA_OS_ACCESS
JAVA_RUNTIME
TRACE_VIEW_ACCESS
AQ_PROTOCOLS
SECURITY_POLICIES
EXTERNAL_AND_GLOBAL_AUTHENTICATION
LOCAL_SYSOPER_RESTRICTED_MODE_CONNECT
COMMON_USER_CONNECT
FILE_TRANSFER
AWR_ACCESS
COMMON_USER_LOCAL_SCHEMA_ACCESS
LOCAL_USER_COMMON_SCHEMA_ACCESS
EXTERNAL_FILE_ACCESS
DROP_TABLESPACE_KEEP_DATAFILES
LOB_FILE_ACCESS
ADR_ACCESS
12c Single-Tenant
A user can run a program on the host through
> dbms_scheduler
> external procedure
> ā€¦
You donā€™t want it to run with the oracle user
You create the credential for another OS user
And limit a PDB to use this user:
PDB isolation ā€“ PDB_OS_CREDENTIALS
18.09.2016
Page 53
Security
exec dbms_credential.create_credential( credential_name=>'PDB1_OS_USER',
username=>'limitedUser', password=>'secret');
alter session set container=PDB1;
alter system set pdb_os_credential=CDB_PDB_OS_USER scope=spfile;
12c Single-Tenant
Besides the OS user we want to limit the access to filesystems
In 12.1
> we can limit directories to a PATH_PREFIX at PDB creation
> Cannot be changed after creation
> NONE if we want absolute path
> We can use OMF (CREATE_FILE_DEST) to encourage new datafile location
But it is still possible for a PDB user to add datafiles anywhere on
the server. Enhancement Request has been opened.
PDB isolation ā€“ PATH_PREFIX
18.09.2016
Page 54
Security
12c Single-Tenant
1. Multitenant architecture
2. Data movement: pluggable databases
3. Agility: flashback PDB
4. Fast upgrade: plug to new version
5. Security: lockdown profiles
6. Conclusion: Multitenant is not an option
Agenda
18.09.2016
12c Single-Tenant
Page 55
12c Single-Tenant
Yes you have 3 containers
> More datafiles
> A PDB$SEED that you donā€™t need
Butā€¦ who cares?
> It's just one more (ORACLE_HOME, templates, ā€¦)
> Backup optimization on
> if you don't want to fill backups with read-only tablespaces
> don't set an external retention shorter than RMAN one
> Allocate a little more memory
Overhead
18.09.2016
Conclusion
Page 56
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
12c Single-Tenant
1. Create an empty CDB (with only CDB$ROOT and PDB$SEED)
2. Open source non-CDB in READ ONLY
You can ā€˜unplugā€™ a non-CDB in 12c and plug into CDB
3. describe
4. Shutdown source
5. Plug into CDB
Alternative: clone through database link
3. Create database link to source non-CDB
4.
5. Shutdown source
In all cases:
3. Run noncdb_to_pdb.sql in the PDB
4. Open the PDB + backup
Move to Single-Tenant
18.09.2016
Conclusion
Page 57
create pluggable database PDBORCL FROM NON$CDB@dblink;
exec dbms_pdb.describe('/oradata/PDBORCL.xml');
create pluggable database PDBORCL using /oradata/PDBORCL.xml';
12c Single-Tenant
Itā€™s the future
> Non-CDB is deprecated, but still supported
> Yes there are more datafiles, but
separating system data and user data is a good idea
Multitenant features are not only for Multitenant Option
SE and EE without option can benefit from
> More agility in data movement, upgrades
> PITR and flashback,
> segregation of duty,
> lockdown features, options and statement usage
Core Message
18.09.2016
12c Multitenant
Any questions? Please do ask.
Page 58
12c Single-Tenant
12c Single-Tenant
12c Single-Tenant
ORAWORLD Magazine != ORAWORLD-Team
OraWorld-Team
They also write articles
8.11.2016
61
12c Single-Tenant
Authors
> Anton Els
> VĆ­t Å pinka
> Franck Pachot
Reviewers
> Deiby GĆ³mez
> Arup Nanda
> Mike Donovan
Availability
> Christmas 2016
How to learn it?
18.09.2016
12c Multitenant
Page 62

More Related Content

What's hot

Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insightsKirill Loifman
Ā 
Oracle 12c Multitenant architecture
Oracle 12c Multitenant architectureOracle 12c Multitenant architecture
Oracle 12c Multitenant architecturenaderattia
Ā 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationNuno Carvalho
Ā 
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Ludovico Caldara
Ā 
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)ć‚Ŗ惩ć‚Æ惫ć‚Øćƒ³ć‚øćƒ‹ć‚¢é€šäæ”
Ā 
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...ć‚Ŗ惩ć‚Æ惫ć‚Øćƒ³ć‚øćƒ‹ć‚¢é€šäæ”
Ā 
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)Laehyoung Kim
Ā 
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3ć‚Ŗ惩ć‚Æ惫ć‚Øćƒ³ć‚øćƒ‹ć‚¢é€šäæ”
Ā 
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorialFrederic Descamps
Ā 
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0ć‚Ŗ惩ć‚Æ惫ć‚Øćƒ³ć‚øćƒ‹ć‚¢é€šäæ”
Ā 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleMariaDB plc
Ā 
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œ
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œ
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œMichitoshi Yoshida
Ā 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMiguel AraĆŗjo
Ā 
Oracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACOracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACMarkus Michalewicz
Ā 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellFrederic Descamps
Ā 
Exadata
ExadataExadata
Exadatatalek
Ā 
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«č¶…ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«Shin Tanigawa
Ā 

What's hot (20)

Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
Ā 
Oracle 12c Multitenant architecture
Oracle 12c Multitenant architectureOracle 12c Multitenant architecture
Oracle 12c Multitenant architecture
Ā 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication
Ā 
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Ā 
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)
GoldenGate惆ć‚Æćƒ‹ć‚«ćƒ«ć‚»ćƒŸćƒŠćƒ¼3怌Oracle GoldenGate Technical Deep Dive怍(2016/5/11)
Ā 
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...
[Oracle DBA & Developer Day 2016] ć—ć°ć”ć‚‡ć†å…ˆē”Ÿć®ē‰¹åˆ„講ē¾©ļ¼ļ¼ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øē®”ē†ć®ćƒ™ć‚¹ćƒˆćƒ—ćƒ©ć‚Æćƒ†ć‚£ć‚¹ ļ½žASM恋悉Exada...
Ā 
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)
ķ“ė¼ģš°ė“œ ķ™˜ź²½ģ„ ģœ„ķ•œ ė„¤ķŠøģ›Œķ¬ ź°€ģƒķ™”ģ™€ NSX(źø°ģ“ˆķŽø)
Ā 
Oracle GoldenGate ꦂ要 2020幓11꜈ē‰ˆ
Oracle GoldenGate ꦂ要 2020幓11꜈ē‰ˆOracle GoldenGate ꦂ要 2020幓11꜈ē‰ˆ
Oracle GoldenGate ꦂ要 2020幓11꜈ē‰ˆ
Ā 
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3
ć—ć°ć”ć‚‡ć†å…ˆē”ŸćŒčŖžć‚‹ļ¼ć‚Ŗ惩ć‚Æćƒ«ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®é€²åŒ–ć®ę­“å²ćØęœ€ę–°ęŠ€č”“å‹•å‘#3
Ā 
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a Nutshell:  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorial
Ā 
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0
Oracle GoldenGate 19c 悒ä½æē”Ø恗恟 ē°”å˜ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ē§»č”Œć‚¬ć‚¤ćƒ‰_v1.0
Ā 
Oracle GoldenGateå°Žå…„Tips
Oracle GoldenGateå°Žå…„TipsOracle GoldenGateå°Žå…„Tips
Oracle GoldenGateå°Žå…„Tips
Ā 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
Ā 
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œ
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œ
ē›£ęŸ»ćƒ­ć‚°ć‚’ć‚‚ć£ćØčŗ«čæ‘恫ļ¼ć€œēµ±åˆē›£ęŸ»ć®ć™ć™ć‚ć€œ
Ā 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
Ā 
Oracle GoldenGate FAQ
Oracle GoldenGate FAQOracle GoldenGate FAQ
Oracle GoldenGate FAQ
Ā 
Oracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RACOracle Extended Clusters for Oracle RAC
Oracle Extended Clusters for Oracle RAC
Ā 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a Nutshell
Ā 
Exadata
ExadataExadata
Exadata
Ā 
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«č¶…ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«
超ē°”単!Apache Tomcat悒Windowsć«ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«
Ā 

Viewers also liked

Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014ƖzgĆ¼r Umut Vurgun
Ā 
Plugging in oracle database 12c pluggable databases
Plugging in   oracle database 12c pluggable databasesPlugging in   oracle database 12c pluggable databases
Plugging in oracle database 12c pluggable databasesKellyn Pot'Vin-Gorman
Ā 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
Ā 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
Ā 
Oracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesOracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesNAYATech
Ā 
Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Bryan Yang
Ā 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingKristian Alexander
Ā 
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlyData Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlySarah Guido
Ā 
Spark meetup v2.0.5
Spark meetup v2.0.5Spark meetup v2.0.5
Spark meetup v2.0.5Yan Zhou
Ā 
Pandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data SciencePandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data ScienceKrishna Sankar
Ā 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with SparkKrishna Sankar
Ā 
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€scalaconfjp
Ā 
Always Valid Inference (Ramesh Johari, Stanford)
Always Valid Inference (Ramesh Johari, Stanford)Always Valid Inference (Ramesh Johari, Stanford)
Always Valid Inference (Ramesh Johari, Stanford)Hakka Labs
Ā 
Exadata 12c New Features RMOUG
Exadata 12c New Features RMOUGExadata 12c New Features RMOUG
Exadata 12c New Features RMOUGFuad Arshad
Ā 
Advanced Data Science on Spark-(Reza Zadeh, Stanford)
Advanced Data Science on Spark-(Reza Zadeh, Stanford)Advanced Data Science on Spark-(Reza Zadeh, Stanford)
Advanced Data Science on Spark-(Reza Zadeh, Stanford)Spark Summit
Ā 
What is new on 12c for Backup and Recovery? Presentation
What is new on 12c for Backup and Recovery? PresentationWhat is new on 12c for Backup and Recovery? Presentation
What is new on 12c for Backup and Recovery? PresentationFrancisco Alvarez
Ā 
Reactive microservices with play and akka
Reactive microservices with play and akkaReactive microservices with play and akka
Reactive microservices with play and akkascalaconfjp
Ā 
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsMiklos Christine
Ā 

Viewers also liked (20)

Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014
Ā 
Plugging in oracle database 12c pluggable databases
Plugging in   oracle database 12c pluggable databasesPlugging in   oracle database 12c pluggable databases
Plugging in oracle database 12c pluggable databases
Ā 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
Ā 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
Ā 
Oracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA TechnologiesOracle12 - The Top12 Features by NAYA Technologies
Oracle12 - The Top12 Features by NAYA Technologies
Ā 
Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0 Introduce to Spark sql 1.3.0
Introduce to Spark sql 1.3.0
Ā 
Spark etl
Spark etlSpark etl
Spark etl
Ā 
AMIS Oracle OpenWorld 2015 Review ā€“ part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review ā€“ part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review ā€“ part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review ā€“ part 3- PaaS Database, Integration, Ident...
Ā 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data Benchmarking
Ā 
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlyData Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Ā 
Spark meetup v2.0.5
Spark meetup v2.0.5Spark meetup v2.0.5
Spark meetup v2.0.5
Ā 
Pandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data SciencePandas, Data Wrangling & Data Science
Pandas, Data Wrangling & Data Science
Ā 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with Spark
Ā 
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€
Building a Unified Data Pipline in Spark / Apache Spark悒ē”Ø恄恟Big Dataćƒ‘ć‚¤ćƒ—ćƒ©ć‚¤ćƒ³ć®ēµ±äø€
Ā 
Always Valid Inference (Ramesh Johari, Stanford)
Always Valid Inference (Ramesh Johari, Stanford)Always Valid Inference (Ramesh Johari, Stanford)
Always Valid Inference (Ramesh Johari, Stanford)
Ā 
Exadata 12c New Features RMOUG
Exadata 12c New Features RMOUGExadata 12c New Features RMOUG
Exadata 12c New Features RMOUG
Ā 
Advanced Data Science on Spark-(Reza Zadeh, Stanford)
Advanced Data Science on Spark-(Reza Zadeh, Stanford)Advanced Data Science on Spark-(Reza Zadeh, Stanford)
Advanced Data Science on Spark-(Reza Zadeh, Stanford)
Ā 
What is new on 12c for Backup and Recovery? Presentation
What is new on 12c for Backup and Recovery? PresentationWhat is new on 12c for Backup and Recovery? Presentation
What is new on 12c for Backup and Recovery? Presentation
Ā 
Reactive microservices with play and akka
Reactive microservices with play and akkaReactive microservices with play and akka
Reactive microservices with play and akka
Ā 
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
Ā 

Similar to 12cR2 Single-Tenant: Multitenant Features for All Editions

Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Markus Flechtner
Ā 
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Markus Flechtner
Ā 
Migration to Oracle Multitenant
Migration to Oracle MultitenantMigration to Oracle Multitenant
Migration to Oracle MultitenantJitendra Singh
Ā 
Database Consolidation using the Oracle Multitenant Architecture
Database Consolidation using the Oracle Multitenant ArchitectureDatabase Consolidation using the Oracle Multitenant Architecture
Database Consolidation using the Oracle Multitenant ArchitecturePini Dibask
Ā 
TechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTrivadis
Ā 
OOW 17 - database consolidation using the oracle multitenant architecture
OOW 17 - database consolidation using the oracle multitenant architectureOOW 17 - database consolidation using the oracle multitenant architecture
OOW 17 - database consolidation using the oracle multitenant architecturePini Dibask
Ā 
Winning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantWinning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantPini Dibask
Ā 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cMarkus Flechtner
Ā 
Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantPini Dibask
Ā 
Presentation 12c pdb
Presentation 12c pdbPresentation 12c pdb
Presentation 12c pdbJacques Kostic
Ā 
RMOUG 18 - Winning Performance Challenges in Oracle Multitenant
RMOUG 18 - Winning Performance Challenges in Oracle MultitenantRMOUG 18 - Winning Performance Challenges in Oracle Multitenant
RMOUG 18 - Winning Performance Challenges in Oracle MultitenantPini Dibask
Ā 
2-day-dba-oracle.pptx
2-day-dba-oracle.pptx2-day-dba-oracle.pptx
2-day-dba-oracle.pptxRocky572078
Ā 
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
Ā 
Collaborate 17 - Database consolidation using the oracle multitenant architec...
Collaborate 17 - Database consolidation using the oracle multitenant architec...Collaborate 17 - Database consolidation using the oracle multitenant architec...
Collaborate 17 - Database consolidation using the oracle multitenant architec...Pini Dibask
Ā 
OUGN winning performnace challenges in oracle Multitenant
OUGN   winning performnace challenges in oracle MultitenantOUGN   winning performnace challenges in oracle Multitenant
OUGN winning performnace challenges in oracle MultitenantPini Dibask
Ā 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi TenantRed Stack Tech
Ā 
Database Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantDatabase Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantPini Dibask
Ā 
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...Marco Vigelini
Ā 
Security Multitenant
Security MultitenantSecurity Multitenant
Security MultitenantArush Jain
Ā 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxssuser670564
Ā 

Similar to 12cR2 Single-Tenant: Multitenant Features for All Editions (20)

Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Ā 
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Oracle Multitenant Database 2.0 - Improvements in Oracle Database 12c Release 2
Ā 
Migration to Oracle Multitenant
Migration to Oracle MultitenantMigration to Oracle Multitenant
Migration to Oracle Multitenant
Ā 
Database Consolidation using the Oracle Multitenant Architecture
Database Consolidation using the Oracle Multitenant ArchitectureDatabase Consolidation using the Oracle Multitenant Architecture
Database Consolidation using the Oracle Multitenant Architecture
Ā 
TechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New FeaturesTechEvent 18c Multitenant New Features
TechEvent 18c Multitenant New Features
Ā 
OOW 17 - database consolidation using the oracle multitenant architecture
OOW 17 - database consolidation using the oracle multitenant architectureOOW 17 - database consolidation using the oracle multitenant architecture
OOW 17 - database consolidation using the oracle multitenant architecture
Ā 
Winning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantWinning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenant
Ā 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21c
Ā 
Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle Multitenant
Ā 
Presentation 12c pdb
Presentation 12c pdbPresentation 12c pdb
Presentation 12c pdb
Ā 
RMOUG 18 - Winning Performance Challenges in Oracle Multitenant
RMOUG 18 - Winning Performance Challenges in Oracle MultitenantRMOUG 18 - Winning Performance Challenges in Oracle Multitenant
RMOUG 18 - Winning Performance Challenges in Oracle Multitenant
Ā 
2-day-dba-oracle.pptx
2-day-dba-oracle.pptx2-day-dba-oracle.pptx
2-day-dba-oracle.pptx
Ā 
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
Ā 
Collaborate 17 - Database consolidation using the oracle multitenant architec...
Collaborate 17 - Database consolidation using the oracle multitenant architec...Collaborate 17 - Database consolidation using the oracle multitenant architec...
Collaborate 17 - Database consolidation using the oracle multitenant architec...
Ā 
OUGN winning performnace challenges in oracle Multitenant
OUGN   winning performnace challenges in oracle MultitenantOUGN   winning performnace challenges in oracle Multitenant
OUGN winning performnace challenges in oracle Multitenant
Ā 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi Tenant
Ā 
Database Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantDatabase Consolidation using Oracle Multitenant
Database Consolidation using Oracle Multitenant
Ā 
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
The first bug on Oracle Database 12c: how to create a pdb by cloning a remote...
Ā 
Security Multitenant
Security MultitenantSecurity Multitenant
Security Multitenant
Ā 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptx
Ā 

More from Franck Pachot

Meetup - YugabyteDB - Introduction and key features
Meetup - YugabyteDB - Introduction and key featuresMeetup - YugabyteDB - Introduction and key features
Meetup - YugabyteDB - Introduction and key featuresFranck Pachot
Ā 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatFranck Pachot
Ā 
19 features you will miss if you leave Oracle Database
19 features you will miss if you leave Oracle Database19 features you will miss if you leave Oracle Database
19 features you will miss if you leave Oracle DatabaseFranck Pachot
Ā 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on DockerFranck Pachot
Ā 
Les bases BI sont-elles diffƩrentes?
Les bases BI sont-elles diffƩrentes?Les bases BI sont-elles diffƩrentes?
Les bases BI sont-elles diffƩrentes?Franck Pachot
Ā 
Oracle in-Memory Column Store for BI
Oracle in-Memory Column Store for BIOracle in-Memory Column Store for BI
Oracle in-Memory Column Store for BIFranck Pachot
Ā 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualizationFranck Pachot
Ā 
12c SQL Plan Directives
12c SQL Plan Directives12c SQL Plan Directives
12c SQL Plan DirectivesFranck Pachot
Ā 
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory option
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory optionStar Transformation, 12c Adaptive Bitmap Pruning and In-Memory option
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory optionFranck Pachot
Ā 
CBO choice between Index and Full Scan: the good, the bad and the ugly param...
CBO choice between Index and Full Scan:  the good, the bad and the ugly param...CBO choice between Index and Full Scan:  the good, the bad and the ugly param...
CBO choice between Index and Full Scan: the good, the bad and the ugly param...Franck Pachot
Ā 
Oracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansOracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansFranck Pachot
Ā 
Oracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansOracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansFranck Pachot
Ā 
Oracle NOLOGGING
Oracle NOLOGGINGOracle NOLOGGING
Oracle NOLOGGINGFranck Pachot
Ā 
Exadata X3 in action: Measuring Smart Scan efficiency with AWR
Exadata X3 in action:  Measuring Smart Scan efficiency with AWRExadata X3 in action:  Measuring Smart Scan efficiency with AWR
Exadata X3 in action: Measuring Smart Scan efficiency with AWRFranck Pachot
Ā 
Oracle table lock modes
Oracle table lock modesOracle table lock modes
Oracle table lock modesFranck Pachot
Ā 
Dbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyDbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyFranck Pachot
Ā 
Reading AWR or Statspack Report - Straight to the Goal
Reading AWR or Statspack Report - Straight to the GoalReading AWR or Statspack Report - Straight to the Goal
Reading AWR or Statspack Report - Straight to the GoalFranck Pachot
Ā 

More from Franck Pachot (17)

Meetup - YugabyteDB - Introduction and key features
Meetup - YugabyteDB - Introduction and key featuresMeetup - YugabyteDB - Introduction and key features
Meetup - YugabyteDB - Introduction and key features
Ā 
Oracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor formatOracle dbms_xplan.display_cursor format
Oracle dbms_xplan.display_cursor format
Ā 
19 features you will miss if you leave Oracle Database
19 features you will miss if you leave Oracle Database19 features you will miss if you leave Oracle Database
19 features you will miss if you leave Oracle Database
Ā 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
Ā 
Les bases BI sont-elles diffƩrentes?
Les bases BI sont-elles diffƩrentes?Les bases BI sont-elles diffƩrentes?
Les bases BI sont-elles diffƩrentes?
Ā 
Oracle in-Memory Column Store for BI
Oracle in-Memory Column Store for BIOracle in-Memory Column Store for BI
Oracle in-Memory Column Store for BI
Ā 
Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
Ā 
12c SQL Plan Directives
12c SQL Plan Directives12c SQL Plan Directives
12c SQL Plan Directives
Ā 
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory option
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory optionStar Transformation, 12c Adaptive Bitmap Pruning and In-Memory option
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory option
Ā 
CBO choice between Index and Full Scan: the good, the bad and the ugly param...
CBO choice between Index and Full Scan:  the good, the bad and the ugly param...CBO choice between Index and Full Scan:  the good, the bad and the ugly param...
CBO choice between Index and Full Scan: the good, the bad and the ugly param...
Ā 
Oracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansOracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive Plans
Ā 
Oracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansOracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive Plans
Ā 
Oracle NOLOGGING
Oracle NOLOGGINGOracle NOLOGGING
Oracle NOLOGGING
Ā 
Exadata X3 in action: Measuring Smart Scan efficiency with AWR
Exadata X3 in action:  Measuring Smart Scan efficiency with AWRExadata X3 in action:  Measuring Smart Scan efficiency with AWR
Exadata X3 in action: Measuring Smart Scan efficiency with AWR
Ā 
Oracle table lock modes
Oracle table lock modesOracle table lock modes
Oracle table lock modes
Ā 
Dbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyDbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easy
Ā 
Reading AWR or Statspack Report - Straight to the Goal
Reading AWR or Statspack Report - Straight to the GoalReading AWR or Statspack Report - Straight to the Goal
Reading AWR or Statspack Report - Straight to the Goal
Ā 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Ā 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
Ā 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
Ā 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
Ā 
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
Ā 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
Ā 
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
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
Ā 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Ā 
"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
Ā 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
Ā 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
Ā 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
Ā 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Ā 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Ā 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Ā 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Ā 
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
Ā 
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...
Ā 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Ā 
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)
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Ā 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Ā 
"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
Ā 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Ā 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Ā 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
Ā 

12cR2 Single-Tenant: Multitenant Features for All Editions

  • 1. 12c Single-Tenant Infrastructure at your Service. 12c Single-Tenant: Multitenant Features for All Editions
  • 2. 12c Single-Tenant 18.09.2016 Infrastructure at your Service. About me Franck Pachot Senior consultant Oracle Technology Leader Mobile +41 79 963 27 22 franck.pachot@dbi-services.com www.dbi-services.com Page 2
  • 3. 12c Single-Tenant Experts At Your Service > 45 specialists in IT infrastructure > Certified, experienced, passionate Based In Switzerland > 100% self-financed Swiss company > Over CHF6 mio. turnover Leading In Infrastructure Services > More than 120 customers in CH, D, & F > Over 40 SLAs dbi FlexService contracted 18.09.2016 dbi services Who we are Page 3
  • 4. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 4
  • 5. 12c Single-Tenant The feature was originally called Oracle Pluggable Databases > Dictionary separation (CDB / PDB) > Transportable Tablespace for SYSTEM, SYSAUX and UNDO > Unplug/plug of PDBs, clone, relocate, etc. It goes beyond with Multitenant Option > One CDB can manage multiple PDBs > Ready for consolidation into the Cloud Finally the feature was released as Oracle Multitenant > Ready for consolidation into the Cloud Definition of multitenant 18.09.2016 Multitenant architecture Page 5
  • 6. 12c Single-Tenant Definition of multitenant 18.09.2016 Multitenant architecture Page 6 Multiple databases per instance One database per instance (all editions without options) Deprecated but still supported Multitenant architecture: dictionary separation, unplug/plug,ā€¦ Non-CDB Same architecture as in 11g, 10g, 9i, 8i, Oracle 7, Oracle 6,ā€¦ Single-Tenant 12c multitenant features but limited to one PDB per CDB Multitenant Option Consolidation but only for Enterprise Edition plus option
  • 7. 12c Single-Tenant Incorrect: > CDB$ROOT is a container but cannot be unplugged > PDB$SEED is a PDB but cannot be unplugged > When you unplug, you do not detach anything. You just close it forever. PDB like USB sticksā€¦ 18.09.2016 Page 7 Multitenant architecture PDB PDB PDB$SEED CDB$ROOT CDB
  • 8. 12c Single-Tenant CDB PDBs are tablespaces 18.09.2016 Page 8 Multitenant architecture USER_DATA1 UNDO SYSAUX SYSTEM Non-CDB1 CDB CDB$ROOTPDB$SEEDPDB_APP1PDB_APP2 PDB_APP1:USER_DATA1 PDB_APP1:SYSAUX PDB_APP1:SYSTEM PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM PDB_APP2:USER_DATA2 PDB_APP2:SYSAUX PDB_APP2:SYSTEMUSER_DATA2 UNDO SYSAUX SYSTEM Non-CDB2 Without multitenant option we can create only one user PDB
  • 9. 12c Single-Tenant Non-CDB vs. single-tenant 18.09.2016 Page 9 Multitenant architecture USER_DATA1 UNDO SYSAUX SYSTEM Non-CDB1 USER_DATA2 UNDO SYSAUX SYSTEM Non-CDB2 CDB1 CDB$ROOTPDB$SEEDPDB_APP1 PDB_APP1:USER_DATA1 PDB_APP1:SYSAUX PDB_APP1:SYSTEM PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM CDB2 CDB$ROOTPDB$SEEDPDB_APP1 PDB_APP12USER_DATA2 PDB_APP1:SYSAUX PDB_APP1:SYSTEM PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM
  • 10. 12c Single-Tenant In DBA_FEATURE_USAGE_STATISTIC the feature is called > "Oracle Multitenant" > 12.1.0.2 shows "Oracle Pluggable Databases" - Bug 20718081 It detects multitenant architecture, not multitenant option usage > Enterprise Manager displays no information about the option > Detail is in DBA_FEATURE_USAGE_STATISTICS.AUX_COUNT Database Feature usage 18.09.2016 Multitenant architecture Page 10 SQL> select name, aux_count from dba_feature_usage_statistics; NAME AUX_COUNT -------------------- ---------- Oracle Multitenant 4096
  • 11. 12c Single-Tenant In DBA Feature Usage Statistics, usage is detected for any CDB > Related to Multitenant Architecture, not to Multitenant Option The AUX_COUNT tells if the option is currently used: > CON_ID=0 is the CDB > CON_ID=1 is CDB$ROOT > CON_ID=2 is PDB$SEED > CON_ID=3 is the first PDB > No history stored, so if you created one more PDB by mistake, just drop it In Standard Edition, ORA-65010 raised if no rows from: Feature usage detection 18.09.2016 Multitenant architecture select count(*) into feature_boolean from v$database where cdb = 'YES'; select count(*) into aux_count from v$pdbs where con_id > 2; Page 11 select rownum from dual connect by level <= 3 minus select con_id# from container$ where status <> 4 CDB CDB CDB$ROOT PDB$SEED PDB_APP1 PDB_APP2 con_id=ļ‚‹ ļ‚Œ ļ‚ ļ‚Ž ļ‚
  • 12. 12c Single-Tenant 18.09.2016 Mutitenant architecture Page 12 CDB CDB CDB$ROOT PDB$SEED PDB_APP1 PDB_APP2 PDB_APP1:USER_DATA1 PDB_APP1:SYSAUX PDB_APP1:SYSTEM PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM PDB_APP2:USER_DATA2 PDB_APP2:SYSAUX PDB_APP2:SYSTEM System metadata User metadata A CDB is a container > CON_ID=0 is the CDB that contains containers > CON_ID=1 is CDB$ROOT > CON_ID=2 is PDB$SEED > CON_ID=3 is the first PDB > ... Containers where con_id ā‰„ 2 > are PDBs (pluggable databases) CDB having max(con_id)= 3 > is Single-Tenant (no option) > Controlled by max_pdbs=1 con_id=ļ‚‹ ļ‚Œ ļ‚ ļ‚Ž ļ‚ CON_ID arithmetic
  • 13. 12c Single-Tenant So, from what you have seen, Single-Tenant is a database > With more datafiles, slightly more processes and memory > And the risk to activate an expensive option But there's more reasons to use it: > The non-CDB is deprecated > It brings new features: > Data movement: pluggable databases > Agility: flashback PDB > Fast upgrade: plug to new version > Security: lockdown profiles Single-Tenant vs. non-CDB 18.09.2016 Multitenant architecture Page 13 SQL> alter system set max_pdbs=1 comment='single-tenant'; New: we can set the number of user PDBs
  • 14. 12c Single-Tenant Demo 18.09.2016 Page 14 Multitenant architecture SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO SQL> exec dbms_feature_usage_internal.exec_db_usage_sampling(sysdate); PL/SQL procedure successfully completed. SQL> select * from dba_feature_usage_statistics where name like '%Pluggable%' or name like '%Multitenant%'; NAME VERSION DETECTED_USAGES AUX_COUNT ------------------------- ----------------- --------------- ---------- Oracle Multitenant 12.2.0.1.0 2 1 SQL> show parameter max_pdbs NAME TYPE VALUE -------------------------- ----------- ------------------------------ max_pdbs integer 4098
  • 15. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 15
  • 16. 12c Single-Tenant Move datafiles (physical) > duplicate Less Flexible > Moves whole tablespace > Must be self-contained > May have some version limitation But fast > Physical copy > Depends only on the bandwidth > Faster in same storage Move table rows (logical) > exp/imp More Flexible > Can move any subset > Can change data model > Can change physical layout > Can move to different version But slow > Like select + insert + rebuild index > Generates undo > Generates redo Data Movement 18.09.2016 Page 16 Pluggable databases
  • 17. 12c Single-Tenant exp/imp > Logical transport (like select/insert) -> very slow Data Pump export / import > Includes direct-path but still logical -> flexible but slow RMAN Duplicate > Physical transport -> fast but same database version Transportable Tablespaces > Physical transport of user data, logical transport of metadata -> fast and cross version but source in read-only Unplug / Plug or PDB clone > Physical transport of user data and metadata -> the fastest -> online when in local undo Data Movement 18.09.2016 Pluggable databases Page 17
  • 18. 12c Single-Tenant Transportable tablespace not available in Standard Edition Unplug / Plug or Clone PDB is faster and is available in SE > and even online (no need for read-only in local undo mode) > relocate, proxy,ā€¦ Transportable tablespaces 18.09.2016 Pluggable databases Page 18
  • 19. 12c Single-Tenant CDB From non-CDB to PDB 18.09.2016 Page 19 Pluggable databases USER_DATA1 UNDO SYSAUX SYSTEM Non-CDB1 CDB$ROOTPDB$SEEDPDB_APP1 PDB_APP1:USER_DATA1 PDB_APP1:SYSAUX PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM PDB_APP1:SYSTEM 1. Source Non-CDB in read only and new CDB ready 2. Unplug from non-CDB and plug into CDB 3. noncdb_to_pdb.sql PDB_APP1:SYSTEM
  • 20. 12c Single-Tenant With non-CDB > You can transport only data with TTS > Metadata has to be re-created > And this transport is not available in Standard Edition In Single-Tenant > You can transport physically data + metadata > In all editions > Online > With a simple command Data Movement summary 18.09.2016 Pluggable databases Page 20
  • 21. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 21
  • 22. 12c Single-Tenant > Point In Time Recovery needs to rollback transactions from that PIT > Restore UNDO at that PIT, and this cannot overwrite CDB UNDO CDB$ROOT:UNDO CDB Shared or local UNDO 18.09.2016 Page 22 Flashback PDB CDB$ROOTPDB$SEEDPDB_APP1 PDB_APP1:USER_DATA1 PDB_APP1:SYSAUX PDB_APP1:SYSTEM PDB$SEED:SYSAUX PDB$SEED:SYSTEM CDB$ROOT:UNDO CDB$ROOT:SYSAUX CDB$ROOT:SYSTEM PDB$SEED:UNDO SYSTEM transaction USER transaction data undo data undo undo
  • 23. 12c Single-Tenant New: you can flashback a PDB In SHARED UNDO mode > Uses an auxiliary instance, as in PDBPITR to restore UNDO > Exception is CLEAN RESTORE POINT > Restore point taken when PDB is closed do not need UNDO In LOCAL UNDO mode > No need for auxiliary instance > No need for clean restore points Flashback PDB 18.09.2016 Page 23 Flashback PDB SQL> create clean restore point REGTEST1; create clean restore point REGTEST1 * ERROR at line 1: ORA-65025: Pluggable database is not closed on all instances.
  • 24. 12c Single-Tenant You can define restore points at PDB or CDB level > From RMAN the CON_ID is not displayed ļŒ Flashback logging is always at CDB level > Creating one restore point in PDB enables flashback logs for whole database PDB restore points 18.09.2016 Page 24 Flashback PDB SCN NAME CON_ID PDB GUARANTEE CLEAN_PDB ---------- --------------- ---------- --- --------- --------- 1514402 BEFORE_RELEASE 4 YES YES NO 1514393 END_OF_MONTH 0 NO NO NO 1514410 BEFORE_RELEASE 5 YES NO NO 1514415 END_OF_MONTH 5 YES NO NO RMAN> list restore point all; SCN RSP Time Type Time Name ---------------- --------- ---------- --------- ---- 1514393 14-FEB-16 END_OF_MONTH 1514402 GUARANTEED 14-FEB-16 BEFORE_RELEASE 1514410 14-FEB-16 BEFORE_RELEASE 1514415 14-FEB-16 END_OF_MONTH
  • 25. 12c Single-Tenant Flashback for Dev/Test databases in Single-Tenant > At CDB or PDB level? > Shared UNDO or Local UNDO It is faster at PDB level > No instance restart It is easier at PDB level > You donā€™t loose AWR, etc If you need to flashback to a PIT with active transactions > Easier and faster with local undo In Single-Tenant 18.09.2016 Page 25 Flashback PDB
  • 26. 12c Single-Tenant Demo 18.09.2016 Page 26 Flashback PDB SQL> select * from database_properties where property_name like '%UNDO%'; PROPERTY_NAME PROPERTY_VALUE DESCRIPTION ------------- -------------- ----------------------------- LOCAL_UNDO_ENABLED TRUE true if local undo is enabled SQL> alter pluggable database close; Pluggable database altered. SQL> flashback pluggable database to restore point INITIALSTATE; Flashback complete. SQL> alter pluggable database PDB open; alter pluggable database PDB open * ERROR at line 1: ORA-01113: file 11 needs media recovery ORA-01110: data file 11: '/u02/oradata/CDB1/pdb/undotbs01.dbf' SQL> alter pluggable database PDB open resetlogs; Pluggable database altered.
  • 27. 12c Single-Tenant You need an auxiliary instance to restore the UNDO > Because UNDO is at CDB level > Information from multiple PDB transactions is shared into same datafiles > This is because of SHARED UNDO MODE New: you can have a CDB in LOCAL UNDO MODE > UNDO tablespace is at PDB level > PDB are now self-contained and it allows > PDB online relocation > PDB Flashback to any PIT > PDB PITR without auxiliary instance Local UNDO 18.09.2016 Page 27 Local Undo in 12.2
  • 28. 12c Single-Tenant Local UNDO 18.09.2016 Page 28 Local Undo in 12.2 Local UNDO is the default in DBCA > Recommended, even in single-tenant
  • 29. 12c Single-Tenant How to check if you are in LOCAL UNDO mode > No row means FALSEā€¦ You can enable LOCAL UNDO at database creation > New PDBs will create their UNDO tablespace from PDB$SEED You can change the defaults from PDB$SEED Local UNDO 18.09.2016 Page 29 Local Undo in 12.2 SQL> select * from database_properties where property_name like '%UNDO%'; PROPERTY_NAME PROPERTY_VALUE DESCRIPTION -------------------- -------------------- ----------------------------------- LOCAL_UNDO_ENABLED TRUE true if local undo is enabled SQL> create bigfile undo tablespace UNDOTBS2 datafile '/u02/oradata/CDB/pdb/undotbs02.dbf' size 100M autoextend on next 100M maxsize 5G retention guarantee; Tablespace created. SQL> alter system set undo_tablespace='UNDOTBS2'; System altered. SQL> drop tablespace UNDOTBS1 including contents and datafiles; Tablespace dropped.
  • 30. 12c Single-Tenant With LOCAL UNDO each container has an UNDO tablespace > No row means FALSEā€¦ You can enable LOCAL UNDO at database creation Local UNDO 18.09.2016 Page 30 Local Undo in 12.2 File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 700 SYSTEM YES /u02/oradata/CDB/system01.dbf 2 210 PDB$SEED:SYSTEM NO /u02/oradata/CDB/pdbseed/system01.dbf 3 550 SYSAUX NO /u02/oradata/CDB/sysaux01.dbf 4 165 PDB$SEED:SYSAUX NO /u02/oradata/CDB/pdbseed/sysaux01.dbf 5 270 UNDOTBS1 YES /u02/oradata/CDB/undotbs01.dbf 6 225 PDB$SEED:UNDOTBS1 NO /u02/oradata/CDB/pdbseed/undotbs01.dbf 7 5 USERS NO /u02/oradata/CDB/users01.dbf 8 210 PDB:SYSTEM NO /u02/oradata/CDB/pdb/system01.dbf 9 185 PDB:SYSAUX NO /u02/oradata/CDB/pdb/sysaux01.dbf 10 225 PDB:UNDOTBS1 NO /u02/oradata/CDB/pdb/undotbs01.dbf 11 5 PDB:USERS NO /u02/oradata/CDB/pdb/users01.dbf
  • 31. 12c Single-Tenant Changing from SHARED to LOCAL UNDO > You must be in UPGRADE mode And create an UNDO tablespace in PDB$SEED (before open PDBs) Local UNDO 18.09.2016 Page 31 Local Undo in 12.2 SQL> shutdown immediate SQL> startup upgrade SQL> alter database local undo on; SQL> shutdown immediate SQL> startup SQL> alter database local undo on; alter database local undo on * ERROR at line 1: ORA-65192: database must be in UPGRADE mode for this operation SQL> alter pluggable database PDB$SEED open read write force; SQL> alter session set container=PDB$SEED; SQL> create undo tablespace UNDO datafile size 100M autoextend on next 100M; SQL> alter pluggable database PDB$SEED close; SQL> alter pluggable database PDB$SEED open read only;
  • 32. 12c Single-Tenant In LOCAL UNDO you donā€™t need an auxiliary instance for PDBPITR Pluggable Databases are totally self-contained Local UNDO 18.09.2016 Page 32 Local Undo in 12.2 run { set until restore point 'T0' ; restore pluggable database PDB; recover pluggable database PDB; alter pluggable database PDB open resetlogs; }
  • 33. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 33
  • 34. 12c Single-Tenant Documentation says itā€™s as easy and faster: > As it is only links you need only to upgrade CDB$ROOT Because all system objects are in CDB$ROOT > PDB has only links. > No need to re-create, re-compile all objects > Butā€¦ Fast? 11.05.2016 Page 34 Upgrade by plug-in
  • 35. 12c Single-Tenant After plug-in or clone from previous release > we need to run catupgrd: Soā€¦ how fast is it? > catalog.sql ā€¦ catproc.sql ā€¦ and all componentsā€¦ Fast? 11.05.2016 Page 35 Upgrade by plug-in $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d $ORACLE_HOME/rdbms/admin -l /tmp -c PDBMIG $ORACLE_HOME/rdbms/admin/catupgrd.sql Argument list for [/u01/app/oracle/product/12202EE/rdbms/admin/catctl.pl] Run in c = PDBMIG Do not run in C = 0 Input Directory d = /u01/app/oracle/product/12202EE/rdbms/admin Echo OFF e = 1 Log Dir l = /tmp
  • 36. 12c Single-Tenant Faster than a CDB (with 3 containers) but not faster than non-CDB Fast? 11.05.2016 Page 36 Upgrade by plug-in Component Current Version Elapsed Time Name Status Number HH:MM:SS Oracle Server UPGRADED 12.2.0.1.0 00:40:20 JServer JAVA Virtual Machine UPGRADED 12.2.0.1.0 00:05:29 Oracle Real Application Clusters UPGRADED 12.2.0.1.0 00:00:01 Oracle Workspace Manager UPGRADED 12.2.0.1.0 00:00:56 OLAP Analytic Workspace UPGRADED 12.2.0.1.0 00:01:07 Oracle OLAP API UPGRADED 12.2.0.1.0 00:00:23 Oracle Label Security UPGRADED 12.2.0.1.0 00:00:19 Oracle XDK UPGRADED 12.2.0.1.0 00:01:02 Oracle Text UPGRADED 12.2.0.1.0 00:00:37 Oracle XML Database UPGRADED 12.2.0.1.0 00:02:09 Oracle Database Java Packages UPGRADED 12.2.0.1.0 00:00:13 Oracle Multimedia UPGRADED 12.2.0.1.0 00:01:52 Spatial UPGRADED 12.2.0.1.0 00:16:54 Oracle Application Express VALID 5.0.0.00.31 00:00:08 Oracle Database Vault UPGRADED 12.2.0.1.0 00:04:16 Final Actions 00:03:10 Post Upgrade 00:02:11
  • 37. 12c Single-Tenant PDB clone can be across versions > Datafiles are compatible > System objects are in CDB Remote clone from 12cR1 to 12cR2: > Remote (source) alert.log: Need to apply patch on source and target: > patch18633374: COPYING ACROSS REMOTE SERVERS > Or use unplug/plug instead Then apply catupgrd.sql on the PDB (catcon.pl -c) Remote clone from previous version 18.09.2016 Page 37 Upgrade by plug-in ORA-17628: Oracle error 17630 returned by remote Oracle server ORA-17630: Mismatch in the remote file protocol version client server ORA-17630: Mismatch in the remote file protocol version client 3 server 2
  • 38. 12c Single-Tenant Upgrade by PDB plug-in to new CDB > Faster than whole CDB > Faster than non-CDB > ā€¦ in future versions > AWR stays in old CDB > Needs two instances Upgrade the whole CDB > Everything is still there > AWR > Backups > Similar to what we know > Takes longer > There are 3 containers When? 11.05.2016 Page 38 Upgrade by plug-in
  • 39. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 39
  • 40. 12c Single-Tenant Common and local users 18.09.2016 Page 40 Security Local users are created in the PDB > Do not start with C## or "common_user_prefix" when set > Are known in local container only > Created in one container with container=current Common users are created in the CDB > Start with C## or "common_user_prefix" > except oracle_maintained ones > Are known in all containers > Created in CDB$ROOT with container=all > Can change containers with alter session > Can have a schema in each PDB > but most common users should be schemaless Same common users, roles, profiles should be created on all CDBs where PDBs can be plugged-in CDB1 CDB$ROOTPDB$SEEDPDB_APP1 Local user Common user
  • 41. 12c Single-Tenant Common and local users 18.09.2016 Page 41 Security Local users are for > Application schemas > Application users > Application admins Common users are for > system administrator > Oracle maintained > Monitoring,ā€¦ > It look like inheritance but actually it's replicated > Altered in CDB$ROOT, changes replicated in PDB > Immediately if opened, deferred if closed > At creation (from seed, clone, plug-inā€¦) Single-Tenant vs. non-CDB: separation of roles Ā§ CDB1 CDB$ROOTPDB$SEEDPDB_APP1 SYSTEM APPLICATION
  • 42. 12c Single-Tenant Local privileges > Common or local roles, or privileges > Granted to local or common user > But only on current container with container=current (default) Common privileges > From CDB$ROOT to common users > with container=common So you can grant DBA locally to the PDB local admin > But are you sure that his rights are limited to the PDB? Common and local privileges 18.09.2016 Security SQL> grant DBA to MY_DEVELOPER container=current;
  • 43. 12c Single-Tenant Did you ever > so that they can kill their sessions? > Thatā€™s a quite powerful privilege Alternative: > Great encapsulation, but how does it work with TOAD ā€˜killā€™ button? In 12c (next) Multitenant, there is a solution: lockdown profiles > available in Single-Tenant but not in non-CDB > to control PDB local users beyond privileges Lockdown profiles 18.09.2016 Page 43 Security SQL> grant ALTER SYSTEM to MY_DEVELOPER; SQL> create procedure kill_session (ā€¦) as begin if ā€¦ /* check if session USERNAME */ execute immediate 'alter system kill session ā€¦' ā€¦ SQL> grant EXECUTE on kill_session to MY_DEVELOPER;
  • 44. 12c Single-Tenant You want to delegate some DBA roles to a PDB owner > You need a finer level than system privileges With lockdown profiles you can lockdown local users > disable database options, features, access to system files, network > control what can be done by some powerful commands: > ALTER SYSTEM, ALTER SESSION, ALTER [PLUGGABLE] DATABASE Lockdown profiles 18.09.2016 Page 44 Security SQL> create lockdown profile APPDBA_PROF; Lockdown Profile created. SQL> select * from DBA_LOCKDOWN_PROFILES; PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS ------------- --------- ------------ ------ ---------- ---------- ------ APPDBA_PROF DISABLE SQL> alter session set container=PDB1; Session altered. SQL> alter system set pdb_lockdown=APPDBA_PROF; System altered.
  • 45. 12c Single-Tenant You want to disable options (cf. V$OPTION): > Database queuing (also known as Advanced Queuing) > Oracle Data Guard > Partitioning > Real Application Clusters for a PDB > ā€¦ disable option all; > ā€¦ disable option all except=(ā€¦); Lockdown profiles ā€“ disable option 18.09.2016 Page 45 Security SQL> alter lockdown profile APPDBA_PROF disable option = ('Partitioning'); Lockdown Profile altered. SQL> select * from DBA_LOCKDOWN_PROFILES; PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS ------------- --------- ------------ ------ ---------- ---------- ------ APPDBA_PROF OPTION PARTITIONING DISABLE
  • 46. 12c Single-Tenant Demo 18.09.2016 Page 46 Security ā€¦ SQL> alter lockdown profile DEMO_LOCKDOWN 2 enable option = ('Partitioning'); Lockdown Profile altered. SQL> select * from dba_lockdown_profiles; PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPTION STATUS ------------- --------- ------------------------------------- ------------ -------------- ------- DEMO_LOCKDOWN FEATURE AWR_ACCESS DISABLE DEMO_LOCKDOWN FEATURE DROP_TABLESPACE_KEEP_DATAFILES DISABLE DEMO_LOCKDOWN OPTION PARTITIONING ENABLE DEMO_LOCKDOWN STATEMENT ALTER SYSTEM DISABLE DEMO_LOCKDOWN STATEMENT ALTER SYSTEM KILL SESSION ENABLE DEMO_LOCKDOWN STATEMENT ALTER SYSTEM SET OPTIMIZER_MODE ENABLE PRIVATE_DBAAS EMPTY PUBLIC_DBAAS EMPTY SAAS EMPTY
  • 47. 12c Single-Tenant You want to disable: > Some ALTER SYSTEM commands > But not revoke whole ALTER SYSTEM privilege for a PDB > Any user will get an ā€˜ORA-01031: insufficient privilegesā€™ for any ALTER SYSTEM command, except an ALTER SYSTEM KILL SESSION Only ALTER SYSTEM commands are currently documented Lockdown profiles ā€“ disable alter system 18.09.2016 Page 47 Security SQL> alter lockdown profile APPDBA_PROF disable statement = ('ALTER SYSTEM') clause all except = ('KILL SESSION'); SQL> select * from DBA_LOCKDOWN_PROFILES; PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPT OPTION_VAL STATUS ------------- --------- ------------ ----------- ---------- ---------- ------- APPDBA_PROF OPTION PARTITIONING DISABLE APPDBA_PROF STATEMENT ALTER SYSTEM KILL SESSION ENABLE
  • 48. 12c Single-Tenant You want to disable: > Some ALTER SYSTEM commands > Allow ALTER SYSTEM SET, but for some parameters only Lockdown profiles ā€“ disable alter system 18.09.2016 Page 48 Security SQL> alter lockdown profile APPDBA_PROF disable statement = ('ALTER SYSTEM') clause = ('SET'); Lockdown Profile altered. SQL> alter lockdown profile APPDBA_PROF enable statement = ('ALTER SYSTEM') clause = ('SET') option = ('undo_retention', 'temp_undo_enabled', 'resumable_timeout', 'cursor_sharing', 'session_cached_cursors', 'heat_map', 'resource_manager_plan', 'optimizer_dynamic_sampling'); Lockdown Profile altered. SQL> select * from DBA_LOCKDOWN_PROFILES where profile_name='APPDBA_PROF'; PROFILE_NAME RULE_TYPE RULE CLAUSE CLAUSE_OPTION STATUS ------------- --------- ------------ ------- ------------------------- ------- APPDBA_PROF STATEMENT ALTER SYSTEM SET DISABLE APPDBA_PROF STATEMENT ALTER SYSTEM SET CURSOR_SHARING ENABLE ā€¦
  • 49. 12c Single-Tenant Example: When disabling, we can set the value to set: > Sets the value to in spfile > restart the PDB after setting the lockdown profile Lockdown profiles ā€“ disable alter system 18.09.2016 Page 49 Security SQL> alter system set optimizer_dynamic_sampling=4; System altered. SQL> alter system set optimizer_index_cost_adj=1; alter system set optimizer_index_cost_adj=1 * ERROR at line 1: ORA-01031: insufficient privileges alter lockdown profile APPDBA_PROF disable statement=('ALTER SYSTEM') clause=('SET') option=('cursor_sharing') value=('EXACT');
  • 50. 12c Single-Tenant Don't forget to: > So that the DBA cannot reset pdb_lockdown ALTER SYSTEM RESET > is also disabled by clause=('SET') Undocumented but possible: > ALTER SESSION (same clause/option than ALTER SYSTEM) > ALTER DATABASE > ALTER PLUGGABLE DATABASE Lockdown profiles ā€“ disable alter system 18.09.2016 Page 50 Security SQL> alter lockdown profile APPDBA_PROF disable statement = ('ALTER SYSTEM') clause = ('SET') option=('pdb_lockdown');
  • 51. 12c Single-Tenant You want to disable: > Network access > DBMS_DEBUG_JDWP, UTL_HTTP, UTL_INADDR, UTL_SMTP, UTL_TCP > XDB > COMMON_SCHEMA_ACCESS through proxy users for a PDB > ā€˜NETWORK_ACCESSā€™ disables all networking packages > ā€˜OS_ACCESSā€™ disables all file manipulation > DROP_TABLESPACE_KEEP_DATAFILES needed to drop a tablespace without 'including datafiles' with non-OMF datafile > 'AWR_ACCESS' needed to create snapshotā€¦ Lockdown profiles ā€“ disable features 18.09.2016 Page 51 Security SQL> alter lockdown profile APPDBA_PROF disable feature = ('UTL_HTTP','UTL_SMTP','UTL_TCP');
  • 52. 12c Single-Tenant Not all documented: Lockdown profiles ā€“ disable features 18.09.2016 Page 52 Security strings $ORACLE_HOME/bin/oracle NETWORK_ACCESS COMMON_SCHEMA_ACCESS UTL_TCP UTL_HTTP UTL_SMTP UTL_INADDR XDB_PROTOCOLS CTX_PROTOCOLS CTX_LOGGING OS_ACCESS UTL_FILE EXTERNAL_PROCEDURES JAVA_OS_ACCESS JAVA_RUNTIME TRACE_VIEW_ACCESS AQ_PROTOCOLS SECURITY_POLICIES EXTERNAL_AND_GLOBAL_AUTHENTICATION LOCAL_SYSOPER_RESTRICTED_MODE_CONNECT COMMON_USER_CONNECT FILE_TRANSFER AWR_ACCESS COMMON_USER_LOCAL_SCHEMA_ACCESS LOCAL_USER_COMMON_SCHEMA_ACCESS EXTERNAL_FILE_ACCESS DROP_TABLESPACE_KEEP_DATAFILES LOB_FILE_ACCESS ADR_ACCESS
  • 53. 12c Single-Tenant A user can run a program on the host through > dbms_scheduler > external procedure > ā€¦ You donā€™t want it to run with the oracle user You create the credential for another OS user And limit a PDB to use this user: PDB isolation ā€“ PDB_OS_CREDENTIALS 18.09.2016 Page 53 Security exec dbms_credential.create_credential( credential_name=>'PDB1_OS_USER', username=>'limitedUser', password=>'secret'); alter session set container=PDB1; alter system set pdb_os_credential=CDB_PDB_OS_USER scope=spfile;
  • 54. 12c Single-Tenant Besides the OS user we want to limit the access to filesystems In 12.1 > we can limit directories to a PATH_PREFIX at PDB creation > Cannot be changed after creation > NONE if we want absolute path > We can use OMF (CREATE_FILE_DEST) to encourage new datafile location But it is still possible for a PDB user to add datafiles anywhere on the server. Enhancement Request has been opened. PDB isolation ā€“ PATH_PREFIX 18.09.2016 Page 54 Security
  • 55. 12c Single-Tenant 1. Multitenant architecture 2. Data movement: pluggable databases 3. Agility: flashback PDB 4. Fast upgrade: plug to new version 5. Security: lockdown profiles 6. Conclusion: Multitenant is not an option Agenda 18.09.2016 12c Single-Tenant Page 55
  • 56. 12c Single-Tenant Yes you have 3 containers > More datafiles > A PDB$SEED that you donā€™t need Butā€¦ who cares? > It's just one more (ORACLE_HOME, templates, ā€¦) > Backup optimization on > if you don't want to fill backups with read-only tablespaces > don't set an external retention shorter than RMAN one > Allocate a little more memory Overhead 18.09.2016 Conclusion Page 56 RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
  • 57. 12c Single-Tenant 1. Create an empty CDB (with only CDB$ROOT and PDB$SEED) 2. Open source non-CDB in READ ONLY You can ā€˜unplugā€™ a non-CDB in 12c and plug into CDB 3. describe 4. Shutdown source 5. Plug into CDB Alternative: clone through database link 3. Create database link to source non-CDB 4. 5. Shutdown source In all cases: 3. Run noncdb_to_pdb.sql in the PDB 4. Open the PDB + backup Move to Single-Tenant 18.09.2016 Conclusion Page 57 create pluggable database PDBORCL FROM NON$CDB@dblink; exec dbms_pdb.describe('/oradata/PDBORCL.xml'); create pluggable database PDBORCL using /oradata/PDBORCL.xml';
  • 58. 12c Single-Tenant Itā€™s the future > Non-CDB is deprecated, but still supported > Yes there are more datafiles, but separating system data and user data is a good idea Multitenant features are not only for Multitenant Option SE and EE without option can benefit from > More agility in data movement, upgrades > PITR and flashback, > segregation of duty, > lockdown features, options and statement usage Core Message 18.09.2016 12c Multitenant Any questions? Please do ask. Page 58
  • 61. 12c Single-Tenant ORAWORLD Magazine != ORAWORLD-Team OraWorld-Team They also write articles 8.11.2016 61
  • 62. 12c Single-Tenant Authors > Anton Els > VĆ­t Å pinka > Franck Pachot Reviewers > Deiby GĆ³mez > Arup Nanda > Mike Donovan Availability > Christmas 2016 How to learn it? 18.09.2016 12c Multitenant Page 62