SlideShare une entreprise Scribd logo
1  sur  50
1
Oracle 12c
New Features
New Background Processes - General
Acronym Process Name Description
BWnn Database Writer Process (20
possible)
Writes modified blocks from the database buffer cache to the data files. The
names of the 37th through 100th Database Writer Processes are BW36-BW99.
See DBWn for more information on these processes.
LGn Log Writer Slave On multiprocessor systems, LGWR creates slave processes to improve the
performance of writing to the redo log. LGWR slaves are not used when there is
a SYNC standby destination.
LREG Listener Registration Process LREG notifies the listeners about instances, services, handlers, and endpoint.
RM RAT Masking Slave Process This background process is used with Data Masking and Real Application
Testing.
RPOP Instant Recovery Repopulation
Daemon
Responsible for re-creating and/or repopulating data files from snapshot files
and backup files. It works with the instant recovery feature to ensure
immediate data file access. The local instance has immediate access to the
remote snapshot file's data, while repopulation of the recovered primary data
files happens concurrently. Any changes in the data are managed between the
instance's DBW processes and RPOP to ensure the latest copy of the data is
returned to the user.
Sann SG Allocator A small fraction of SGA is allocated during instance startup. The SAnn process
allocates the rest of SGA in small chunks. The process exits upon completion of
SGA allocation.
2
12c Supported Operating Systems
Operating System Minimum OS level Requirement
IBM AIX Power System
AIX 6.1 TL7 SP3 or later, 64-bit kernel
AIX 7.1 TL1 SP3 or later, 64-bit kernel
Redhat Linux
Red Hat Enterprise Linux 7: 3.10.0-54.0.1.el7.x86_64 or later
Red Hat Enterprise Linux 7 with the Unbreakable Enterprise
Kernel: 3.8.13-33.el7uek.x86_64 or later
Red Hat Enterprise Linux 6: 2.6.32-71.el6.x86_64 or later
Red Hat Enterprise Linux 6 with the Unbreakable Enterprise
Kernel: 2.6.32-100.28.5.el6.x86_64 or later
Red Hat Enterprise Linux 5 Update 6: 2.6.18-238.0.0.0.1.el5 or
later
Red Hat Enterprise Linux 5 Update 6 with the Unbreakable
Enterprise Kernel: 2.6.32-100.0.19 or later
Oracle Linux
Oracle Linux 7 with the Unbreakable Enterprise kernel: 3.8.13-
33.el7uek.x86_64 or later
Oracle Linux 7 with the Red Hat Compatible kernel: 3.10.0-
54.0.1.el7.x86_64 or later
Oracle Linux 6 with the Unbreakable Enterprise kernel: 2.6.39-
200.24.1.el6uek.x86_64 or later
Oracle Linux 6 with the Red Hat Compatible kernel: 2.6.32-
71.el6.x86_64 or later
Oracle Linux 5 Update 6 with the Unbreakable Enterprise
kernel: 2.6.32-100.0.19 or later
Oracle Linux 5 Update 6 with the Red Hat compatible kernel:
2.6.18-238.0.0.0.1.el5 or later
SUSE Distributions for
x86-64 SUSE Linux Enterprise Server 11 SP2: 3.0.13-0.27 or later
Operating System Minimum OS level Requirement
IBM: Linux on
System z
Red Hat Enterprise Linux 6.3: 2.6.32-279.el6.s390x or later
Red Hat Enterprise Linux 5.8: 2.6.18-308.el5 s390x or later
SUSE Linux Enterprise Server 11 SP2: 3.0.13-0.27-default s390x or later
Windows x64
Windows Server 2008 x64 - Standard, Enterprise, DataCenter, and Web
editions
Windows Server 2008 R2 x64 - Standard, Enterprise, Datacenter, Web,
and Foundation editions
Windows 7 x64 - Professional, Enterprise, and Ultimate editions
Windows 8 x64 and Windows 8.1 x64 - Pro and Enterprise editions
Windows Server 2012 x64 and Windows Server 2012 R2 x64 - Standard,
Datacenter, Essentials, and Foundation editions
SPARC (64-Bit)
Oracle Solaris 11 SRU 14.5 or later SRUs and updates
Oracle Solaris 10 Update 11 (Oracle Solaris 10 1/13 s10s_u11wos_24a)
or later updates
Solaris on x86-64
(64-Bit)
Oracle Solaris 11 SRU 14.5 or later SRUs and updates
Oracle Solaris 10 Update 11 (Oracle Solaris 10 1/13 s10x_u11wos_24a)
or later updates
HP-UX Itanium HP-UX 11i V3 patch Bundle Sep/ 2008 (B.11.31.0809.326a) or higher
3
12c Direct Upgrade Path
4
VARCHAR2 32K
• STANDARD (Default) = 4000 bytes (Pre-12c)
• 12c – EXTENDED = 32767 bytes
• Parameter “max_string_size” values STANDARD, EXTENDED
• Parameter changes need database bounce and will update objects, may invalidate them
• Parameter changes are irreversible, once changed to value EXTENDED
• Parameter can also be changed at PDB level
• Steps for parameter changes –
o Shutdown the database/PDB
o Change the parameter and open database in upgrade mode
o Execute @?/rdbms/admin/utl32k.sql
o Restart database in normal mode
5
In-Database Analytics:
On going SQL Evolution
4 5
• Introduction of
Window functions
• Enhanced Window
functions (percentile,etc)
• Rollup, grouping sets,
cube
• Statistical functions
• SQL model clause
• Partition Outer Join
• SQL Pivot
• Recursive WITH
• ListAgg, Nth value
window
• Pattern matching
• Top N clause
• Identity Columns
• Column Defaults
6
 FETCH returns top ‘N’ records
 Can specify rows or percentage,
 Can include OFFSET to skip specified number of rows
 Respects ORDER BY clause
 Internally uses ANALYTIC functions
Limiting Rows from SQL Query
SELECT * FROM topn ORDER BY id FETCH FIRST 5 ROWS ONLY;
SELECT * FROM topn ORDER BY id OFFSET 20 ROWS FETCH NEXT 5 ROWS ONLY;
SELECT * FROM topn ORDER BY id FETCH FIRST 2 PERCENT ROWS ONLY;
7
Topn.sql
 Use Identity Columns instead of specifying a Sequence and using
triggers / processes to retrieve the next value from the sequence
• ALWAYS [Default] – Uses the sequence generator
• BY DEFAULT – Can explicitly assign a specified value
• BY DEFAULT ON NULL – Can explicitly assign,
but uses sequence if evaluates to NULL
Identity Column
CREATE TABLE t1 (c1 NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,
c2 NUMBER);
8
identity.sql
 Default values are utilized when inserting a record if column
not specified in the insert statement
 With ON NULL will use default even if specified in the insert statement
 If you specify a value explicitly it will not use default
 Avoids the need for trigger logic
Default | Default On Null
CREATE TABLE def_test (id NUMBER,
name VARCHAR2(20),
age NUMBER DEFAULT ON NULL 30);
9
def_test.sql
 Invisible columns are user specified hidden columns
• SELECT *  Won’t display invisible columns
• INSERT INTO x VALUES Won’t insert values in invisible columns
• Must explicitly specify invisible columns to include them
 New “colinvisible” setting at SQL prompt to show invisible columns
Invisible Column
ALTER TABLE t1 MODIFY c1 INVISIBLE;
10
inv_test1.sql
inv_test2.sql
 Multiple indexes may exists on same set of columns with same order
 Restrictions are –
 Indexes must be of different type (b-tree, bitmap etc.)
 Only one index can be visible. Others must be INVISIBLE
Multiple Indexes on same column
 
CREATE INDEX IND1 ON T(STATUS);
 
CREATE BITMAP INDEX IND2 ON T(STATUS) INVISIBLE;
 
11
 Pre 12c, undo & redo of undo for GTT was generated
 In 12c, undo can also be stored in TEMP tablespace
 So, reduction in undo and redo
 Restrictions are –
 Compatibility must be 12.0 or higher
 Enable TEMP_UNDO_ENABLE parameter
 Can be set at session level if set before any transaction
Temporary Undo
12
gtt1.sql
gtt1.sql
 Pre-12c
 Put Tablespace in READ-ONLY/OFFLINE mode
 Move Datafile
 Rename datafile at database level
 Put Tablespace in READ-WRITE mode
 In 12c, Datafile movement is online operation
Active Datafile/Partition movement
ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf';
ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf' REUSE;
ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf' KEEP;
13
 Enable to archive rows within a table by marking them as archive
 Rows will remain in table but not visible to application
 Pseudo column ORA_ARCHIVE_STATE will be attached to table, this holds value 0 for visible and 1 for hidden
columns
 API DBMS_ILM.ARCHIVESTATENAME can be used to update values, which returns 1 for non-zero value (ILM –
Information Life Cycle)
 Constraint integrity will be maintained. Internal packages (like dbms_stats) consider all values
 Parameter “row archival visibility” can be set at session level -
 ACTIVE – Rows are not visible to application
 ALL – Rows are visible to application
 CTAS operation will disable row archiving for new target table
Row Archiving
ALTER TABLE T ROW ARCHIVAL;
ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL | ACTIVE;
14
row_archival.sql
row_archival_perf.sql
Soc. Sec. #
115-69-3428
DOB
11/06/71
PIN
5623
Policy
enforced
redaction of
sensitive data
Data Redaction
• Mask Application Data Dynamically
Call Center
Operator
Payroll
Processing
15
Redaction - Methods
•Masking is done based on criteria
Method Original Data Redacted Data
FULL 10000 0
PARTIAL 443-22-3422 XXX-XX-3422
REGULAR EXPRESSION sandeep@abc.com xxx@abc.com
RANDOM 123456 431652
16
redact.sql
Redaction – Partial Fixed character Redactions
Shortcut Description
DBMS_REDACT.REDACT_US_SSN_F5
Redacts the first 5 numbers of Social Security numbers when the column is a
VARCHAR2 data type. For example, the number 987-65-4320 becomes XXX-XX-4320.
DBMS_REDACT.REDACT_US_SSN_L4
Redacts the last 4 numbers of Social Security numbers when the column is a
VARCHAR2 data type. For example, the number 987-65-4320 becomes 987-65-XXXX.
DBMS_REDACT.REDACT_US_SSN_ENTIRE
Redacts the entire Social Security number when the column is a VARCHAR2 data type.
For example, the number 987-65-4320 becomes XXX-XX-XXXX.
DBMS_REDACT.REDACT_NUM_US_SSN_F5
Redacts the first 5 numbers of Social Security numbers when the column is a NUMBER
data type. For example, the number 987654320 becomes XXXXX4320.
DBMS_REDACT.REDACT_NUM_US_SSN_L4
Redacts the last 4 numbers of Social Security numbers when the column is a NUMBER
data type. For example, the number 987654320 becomes 98765XXXX.
DBMS_REDACT.REDACT_NUM_US_SSN_ENTIRE
Redacts the entire Social Security number when the column is a NUMBER data type.
For example, the number 987654320 becomes XXXXXXXXX.
DBMS_REDACT.REDACT_ZIP_CODE
Redacts a 5-digit postal code when the column is a VARCHAR2 data type. For example,
95476 becomes XXXXX.
DBMS_REDACT.REDACT_NUM_ZIP_CODE
Redacts a 5-digit postal code when the column is a NUMBER data type. For example,
95476 becomes XXXXX.
DBMS_REDACT.REDACT_DATE_MILLENNIUM Redacts dates that are in the DD-MON-YY format to 01-JAN-00 (January 1, 2000).
DBMS_REDACT.REDACT_DATE_EPOCH Redacts all dates to 01-JAN-70.
DBMS_REDACT.REDACT_CCN16_F12
Redacts a 16-digit credit card number, leaving the last 4 digits displayed. For example,
5105 1051 0510 5100 becomes ****-****-****-5100.
17
 Tracking “hotness” of object with three kind of temperatures
 Hot – Object actively participating in read and write operations
 Warm – Object is only for queries i.e. for Read Only
 Cold – Object is not participating in any kind of activity
 Initialization parameter, HEAT_MAP can be modified at session or system level with value ON/OFF
 HEAT MAP can be enabled at Object, Segment, Tablespace, Extent or Block level
 HEAT MAP only works in non-CDB environment. ADO and HEAT MAP not supported in CDB Database
 ADO (Automatic Data Optimization) allows to create policies for data compression and movement
 ADO policies are not limited to Heap map data; custom conditions (PL/SQL) extends flexibility of ADO
HEAT MAP & ADO
18
 Compress partitions using Advance Row Compression after no modifications after 20 Days
ADO Examples
ALTER TABLE ODM_TEST ILM ADD POLICY COLUMN STORE COMPRESS FOR QUERY HIGH SEGMENT
AFTER 30 DAYS OF NO MODIFICATION;
ALTER TABLE ODM_TEST ILM ADD POLICY ROW STORE COMPRESS ADVANCED SEGMENT AFTER 30 DAYS
OF NO MODIFICATION;
 Compress blocks in the table after no row is in given block has been modified for 3 Days
ALTER TABLE ODM_TEST ILM ADD POLICY ROW STORE COMPRESS ADVANCED ROW AFTER 3 DAYS OF
NO MODIFICATION;
 Moves partitions to a different tablespace when current tablespace runs low on space. The “tier to”
keyword indicates that data will be moved to new tablespace when current tablespace becomes too full
ALTER TABLE ODM_TEST ILM ADD POLICY tier to SECONDARY_TBS;
 Compress partitions using HCC after no modifications after 30 Days
Note – HCC requires use of Exadata Storage or Sun ZFS Storage appliance.
19
ado_test.sql
Global Data Services
• Current Setup is having –
 Active Standby configured
 Golden Gate configured
 Other third party replication tool
 Extended RAC
• Current Challenges
 No seamless way to efficiently use all databases
 No automated load balancing and fault tolerance
• Solution – Global Data Services
 Looks like a virtual multi-instance database to database clients
 GDS Attributes
o Global Service Placement – Allows the preferred and available databases for that service to be specified
o Replication Lag – Clients can be routed to replicas not lagging behind tolerance limit specified
o Region Affinity – Allows customers to set preferences to specific region (e.g. Asia, Europe) to connect
20
Global Data Services – ADG example
• Reporting client routed to ‘best’ database
o Based on location, response time, data, acceptable data lag
o Reports will automatically run on least loaded server
• Reporting client failover
o If preferred database not available, will route to another
database in same region or a remote database
• Global service migration
o Automatically migrates services based on failover/switchover - if
primary database is down, start Call Center service on the new
primary
Active Data Guard
Reporting Service
Call Center Service
21
Global Data Services
Primary Active Standby
Data Guard
Order History ViewOrder Capture
Critical E-Commerce App accessing
Active Data Guard Standby
What happens when
Active Standby is down?
Orders
Service
History
Service
Primary Active Standby
Data Guard
Order History ViewOrder Capture
Orders
Service
History
Service
?
Use Case : Active Data Guard without GDS
22
Global Data Services
When Active Standby is down …
GDS fails over History Service to
primary, redirects connection
through FAN/FCF
Primary Active Standby
Data Guard
Orders
Service
History
Service
Global Data Services
Order History
View
Order
Capture
History
Service
Use Case : Active Data Guard with GDS (ALL HA)
23
 PGA Size Restriction – PGA_AGGREGATE_LIMIT
 Partitioning
 Add, Drop, Truncate, Split, Merge multiple partitions at a time
 Partitions can be moved online. If fails, can be cleaned up using API, DBMS_PART.CLEANUP_ONLINE_OP
 Pre-upgrade Script – Replaces the legacy utlu[121]s.sql
 Parallel upgrade (Default 4, Maximum 8)
 $ORACLE_HOME/perl/bin/perl catctl.pl –n 4 –catupgrade.sql
 Restore/Recover database over network
 RECOVER DATABASE FROM SERVICE primary_tns USING COMPRESSED BACKUPSET;
 Concurrent execution of set operations like UNION and UNION ALL. New hint for this called
PQ_CONCURRENT_UNION
Miscellaneous
24
 Datapump
 Turn off redo generation – TRANSPFORM=DISABLE_ARCHIVE_LOGGING:Y
 Transport view as table – VIEW_AS_TABLES=MYVIEW:MYTABLE
 Dynamic Sampling – introduced new value, 11
 PL/SQL interface to inventory/patch level
SELECT DBMS_QOPATCH.GET_OPATCH_LSINVENTORY() FROM DUAL;
 Gather concurrent statistics
Miscellaneous
SQL> ALTER SYSTEM SET RESOURCE_MANAGER_PLAN='DEFAULT_MAIN';
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=4;
SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT', 'ALL');
SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCOTT');
25
12c Optimizer
 Table statistics are gathered online for
 Create table as Select (CTAS)
 Insert /*+ append */ into (IIS)
 Statistics getting generated on insert when table is empty
 Post insert, if operation is rolled back, statistics update as NULL
 Execution plan is reflecting “OPTIMIZER STATISTICS GATHERING”
 Though subsequent inserts are not updating statistics, execution plan still reflects “statistics
gathering” information
 Histograms & index statistics gathered using new “GATHER AUTO” option without re-
gathering base column statistics
Online Statistics
27
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'TABLE', OPTIONS=> 'GATHER AUTO');
online_stats.sql
• Introduced to have better statistics on dependent columns
• Two Types of extended statistics
o Column Group Statistics – when multiple column from same table are used in where clause predicates
o Expression Statistics – when column is used as part of complex expression in where clause predicate
• Automatically maintained when stats are gathered on the table
• Candidates for columns groups can be manually or automatically determined
Extended Statistics
28
Start column usage capture
DBMS_STATS.SEED_COL
_USAGE(NULL, NULL,
300);
Run Application Workload
Check column usage - SELECT
DBMS_STATS.REPORT_COL_
USAGE (user, ‘Table’) from dual;
Create extended stats – SELECT
DBMS_STATS.CREATE_EXTEND
ED_STATS (user, ‘Table’) from
dual;
extended_stats.sql
29
Optimizer Evolution
Optimizer evolved to
be cost based
CBOCBO
CBOCBO
Optimizer proactively
adapts to become
Reactive tuning
with the use of
advisors and auto
jobs
As environment changes
Potential for plan changes
Databases become
more real-time, ad-
hoc environments
Reactive tuning not enough
Rules were not enough
Databases became more
feature rich
In the beginning there
were rules
RBO
30
Adaptive Query Optimization
Adaptive Query
Optimization
Adaptive Plans Adaptive Statistics
Join Methods Parallel distribution
Methods
Discover at
compile time
Discover at run
time
AQO – Adaptive Plans (Join Methods)
31
Table scan
Order _items
NESTED LOOPS
Index Scan
Prod_info_in
d
Statistics
Collector
HASH JOIN
Table scan
Prod_info
Rows coming out of order_items table are
buffered up to a point If row count is less than
the threshold use nested Loops otherwise switch
to hash join
Statistics collector disabled after decision is made
and becomes a pass through operation
Table scan
Order _items
NESTED LOOPS
Index Scan
Prod_info_in
d
Table scan
Prod_info
Statistics
Collector
Adaptive plans are enabled by default & Controlled by parameter, OPTIMIZER_ADAPTIVE_REPORTING_ONLY (Def - false)
adaptive.sql
Hybrid Hash Join
•New Adaptive Parallel Data Distribution method – HYBRID-HASH
o Statistics collectors inserted in front of PX process on left hand side of the join
o If actual number of rows < 2xDOP then switch from HASH to broadcast (Round-robin)
o Decision will be taken only during run-time
•Enabled by default
32
AQO – Parallel Data Distribution
User connects to
the database
User
Background process is
spawned
When user issues a
parallel SQL statement the
background process
becomes the Query
Coordinator
Parallel servers communicate among themselves & the QC
using messages that are passed via memory buffers in the
shared pool
How the data is distributed among the processes is
based on the operation being done & number of rows
expected
QC gets parallel
servers from global
pool and distributes
the work to them
Parallel servers - individual
sessions that perform work
in parallel
adaptive_px.sql
• First introduced as cardinality feedback in 11.2 (Replaced with statistics feedback)
• In 12c, join statistics are also monitored
• New column in v$sql -> is_reoptimizable
• Information found at execution time is persisted as SQL Plan Directives
• On second execution, statement is reparsed using execution statistics
• New child cursor created with new plan
• Directives are additional information used during optimization to generate better plan
o Directives will be automatically maintained
o Persisted on disk in SYSAUX Tablespace
o Managed using new package DBMS_SPD
o Directives can be used for multiple statements, as they are collected on query expression not
on a statement level
o Directives auto flushed after every 15 minutes. Can be manually flushed using
exec dbms_spd.flush_sql_plan_directive;
33
AQO – Adaptive Statistics
adaptive_stats.sql
Frequency Histograms: When NDV is less than histogram bucket# (Max 254)
Example-
Histograms
5 6 6 6 9 11 11 12 12 12 12 12 13 13 13 13 13 16 17 17
Rows 20
Distinct Values 8
Histogram Size 10
Values in each bucket N/A
1 4 5 7 12 17 18 20
Histogram Details in Oracle DB
Data
Histogram
34
Height Balanced Histograms (Pre 12c): When NDV >= histogram bucket# OR 254
Example-
Histograms
5 6 6 6 9 11 11 12 12 12 12 12 13 13 13 13 13 16 17 17
Rows 20
Distinct Values 8
Histogram Size 5
Values in each bucket 20/5=4
0 1 2 3 4 5
Histogram Details in Oracle DB
Data
Histogram
35
Hybrid Histograms (12c): When NDV >= histogram bucket# OR 254
Example-
Histograms
Rows 100
Distinct Values 37
Histogram Size 20
Values in each bucket 100/20=5
8 12 12 13 13 13 15 16 16 17 18 18 19 19 19 20 20 20 20 20
21 22 22 22 23 23 24 24 25 26 26 26 27 27 27 27 27 27 28 28
28 28 28 28 29 29 29 29 29 29 30 30 30 31 31 31 31 31 32 32
32 33 33 33 33 33 33 33 33 34 34 34 35 35 35 35 35 35 35 36
37 38 38 38 38 38 39 39 40 41 42 42 43 43 43 44 45 46 50 59
36
histogram_hybrid.sql
Histograms
• Hybrid histograms enables “best of both worlds” approach
• It combines characteristics of both frequency and height balanced histograms
• Hybrid histograms helps optimizer to get more accurate cardinality
• Maximum bucket size is increased to 2048 while default size is still 256
• ESTIMATE_PERCENT to non-default value, height balanced histograms will be
generated
37
Histograms
Top Frequency
•Frequency histogram is only created if NDV < 254
•Case where a small number of values occupies most of the rows
(>99%)
•Creating frequency histogram on that small set of values is very useful
even though NDV > 254
•Ignores unpopular values to create a better quality histogram for
popular values
•Built using same technique used for frequency histograms
38
histogram_topn.sql
12c Recovery Manager
 Support for multitenant container databases and pluggable databases
 Backup can be created for CDB or individual PDBs
 PDB or CDB can be restored
 Restriction – PDB cannot be restored once dropped
 Special backup privilege – SYSBACKUP
 Privileges on X$, GV$ and V$
 Execute privileges for dbms_backup_restore, dbms_rcvman, dbms_datapump
 SQL Interface improvements
 Any SQL can run from RMAN prompt
 Table or table partition level recovery is possible from FULL database RMAN backup
RMAN
40
12c Data Guard
Oracle Data Guard Evolution
42
• Prior to 12c, maximum availability supports only SYNC/AFFIRM
• 12c comes with SYNC/NOAFFIRM. The primary performs write operations and waits
only for acknowledgement that data has received on the standby, not that it has written
to disk
• With sync/noaffirm, in which there is no check that data has been written to the disk on
the standby, hence expected minimal data loss
Data Guard – Fast Sync
43
Zero Data Loss Challenge
The longer the distance, the larger the performance impact
Primary Standby
Commit
Commit Ack
Network Send
Network Ack
44
Data Guard Far Sync
Far Sync
Instance
SYNC ASYNC
Zero
Data
Loss
No Compromise Between Availability and Performance
Operational Flow
StandbyPrimary
45
Data Guard Far Sync
Primary Standby
Redo
Logs
Standby
Redo
Logs
Commit
Commit
Acknowledge
 For SYNC transport: remote site acknowledges
received redo before writing it to standby redo logs
 Reduces latency of commit on primary
 Better DR – increased SYNC distance
 If network round-trip latency less than time for local
online redo log write, synchronous transport will not
impact primary database performance
NSS RFSLGWR
Commit
Commit
Acknowledge
Acknowledge
returned on receipt
Primary Standby
Redo
Logs
Standby
Redo
Logs
NSS RFSLGWR
46
Data Guard Far Sync
Far Sync Advantages
•Provides ability to failover to terminal database with no data loss
•Fast Sync standby is supported for maximum performance or maximum availability mode
•It is easy to setup without increasing storage cost
Primary Standby 1 Standby 2SYNC or ASYNC ASYNC
• In 11.2, standby 1 waits till log switch before forwarding redo from archived logs to
standby 2
• In 12c, standby 1 forwards redo to standby 2 in real-time, as it received : no propagation
delay for log switch
• Standby 2 (ADG) is up-to-date for offloading read-only queries and reports
• Far Sync support Physical and Logical standby and requires Active Data Guard license
47
Rolling Upgrade with ADG
48
Automate complexity through simple PL/SQL Package: DBMS_ROLLING
49
License Cost (Price in USD As on 01-Nov-2014)
Named User Plus Processor License
Oracle Database
Standard Edition One 180 5,800
Standard Edition 350 17,500
Enterprise Edition 950 47,500
Enterprise Edition Options
Multitenant 350 17,500
Real Application Clusters 460 23,000
Real Application Clusters One Node 200 10,000
Active Data Guard 230 11,500
Partitioning 230 11,500
Real Application Testing 230 11,500
Advanced Compression 230 11,500
Advanced Security 300 15,000
Label Security 230 11,500
Database Vault 230 11,500
OLAP 460 23,000
Advanced Analytics 460 23,000
Spatial and Graph 350 17,500
Database In-Memory 460 23,000
Database Enterprise Mgmt
Diagnostics Pack 150 7,500
Tuning Pack 100 5,000
Database Lifecycle Management Pack 240 12,000
Data Masking and Subsetting Pack 230 11,500
Database Patch Set Roadmap
50

Contenu connexe

Tendances

OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...Alex Zaballa
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG PresentationBiju Thomas
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Nelson Calero
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowAlex Zaballa
 
2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation2009 Collaborate IOUG Presentation
2009 Collaborate IOUG PresentationBiju Thomas
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresRemote DBA Services
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Alex Zaballa
 
Oracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c  - New Features for Developers and DBAsOracle Database 12c  - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAsAlex Zaballa
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cDavid Yahalom
 
2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - PresentationBiju Thomas
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesBiju Thomas
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
 
Oracle-L11 using Oracle flashback technology-Mazenet solution
Oracle-L11 using  Oracle flashback technology-Mazenet solutionOracle-L11 using  Oracle flashback technology-Mazenet solution
Oracle-L11 using Oracle flashback technology-Mazenet solutionMazenetsolution
 
Flashback - The Time Machine..
Flashback - The Time Machine..Flashback - The Time Machine..
Flashback - The Time Machine..Navneet Upneja
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and ArchitectureSidney Chen
 
17398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv117398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv1Mmusi Dithotse
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleNelson Calero
 
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)yoonus ch
 
Major features postgres 11
Major features postgres 11Major features postgres 11
Major features postgres 11EDB
 

Tendances (19)

OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
 
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should KnowOTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
 
2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation2009 Collaborate IOUG Presentation
2009 Collaborate IOUG Presentation
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
 
Oracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c  - New Features for Developers and DBAsOracle Database 12c  - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAs
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12c
 
2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTS
 
Oracle-L11 using Oracle flashback technology-Mazenet solution
Oracle-L11 using  Oracle flashback technology-Mazenet solutionOracle-L11 using  Oracle flashback technology-Mazenet solution
Oracle-L11 using Oracle flashback technology-Mazenet solution
 
Flashback - The Time Machine..
Flashback - The Time Machine..Flashback - The Time Machine..
Flashback - The Time Machine..
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
17398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv117398351 sap-system-copy-homcopyv1
17398351 sap-system-copy-homcopyv1
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
 
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)
Oracle 10g to 11g upgrade on sap(10.2.0.5.0 to 11.2.0.3)
 
Major features postgres 11
Major features postgres 11Major features postgres 11
Major features postgres 11
 

Similaire à 12c Database new features

OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...Alex Zaballa
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2nesmaddy
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Alex Zaballa
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2Alex Zaballa
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2Alex Zaballa
 
Oracle grid control setup and usage challenges version5
Oracle grid control setup and usage challenges version5Oracle grid control setup and usage challenges version5
Oracle grid control setup and usage challenges version5Jeff Hinds
 
HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)akirahiguchi
 
Db2 V12 incompatibilities_&amp;_improvements_over_V11
Db2 V12 incompatibilities_&amp;_improvements_over_V11Db2 V12 incompatibilities_&amp;_improvements_over_V11
Db2 V12 incompatibilities_&amp;_improvements_over_V11Abhishek Verma
 
Introduction to Threading in .Net
Introduction to Threading in .NetIntroduction to Threading in .Net
Introduction to Threading in .Netwebhostingguy
 
Sql 2016 - What's New
Sql 2016 - What's NewSql 2016 - What's New
Sql 2016 - What's Newdpcobb
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5Gianluca Hotz
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new featuresAlfredo Krieg
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseParesh Patel
 
TSQL in SQL Server 2012
TSQL in SQL Server 2012TSQL in SQL Server 2012
TSQL in SQL Server 2012Eduardo Castro
 
Oracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAsOracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAsAlex Zaballa
 
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...Jürgen Ambrosi
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016Marcos Freccia
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq lsInSync Conference
 

Similaire à 12c Database new features (20)

OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
 
Less04 Instance
Less04 InstanceLess04 Instance
Less04 Instance
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
Oracle grid control setup and usage challenges version5
Oracle grid control setup and usage challenges version5Oracle grid control setup and usage challenges version5
Oracle grid control setup and usage challenges version5
 
HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)HandlerSocket plugin for MySQL (English)
HandlerSocket plugin for MySQL (English)
 
Db2 V12 incompatibilities_&amp;_improvements_over_V11
Db2 V12 incompatibilities_&amp;_improvements_over_V11Db2 V12 incompatibilities_&amp;_improvements_over_V11
Db2 V12 incompatibilities_&amp;_improvements_over_V11
 
Introduction to Threading in .Net
Introduction to Threading in .NetIntroduction to Threading in .Net
Introduction to Threading in .Net
 
Sql 2016 - What's New
Sql 2016 - What's NewSql 2016 - What's New
Sql 2016 - What's New
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new features
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
 
TSQL in SQL Server 2012
TSQL in SQL Server 2012TSQL in SQL Server 2012
TSQL in SQL Server 2012
 
Oracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAsOracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAs
 
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
 

Dernier

Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalFabian de Rijk
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...amilabibi1
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoKayode Fayemi
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfMahamudul Hasan
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...David Celestin
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatmentnswingard
 

Dernier (15)

Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 

12c Database new features

  • 2. New Background Processes - General Acronym Process Name Description BWnn Database Writer Process (20 possible) Writes modified blocks from the database buffer cache to the data files. The names of the 37th through 100th Database Writer Processes are BW36-BW99. See DBWn for more information on these processes. LGn Log Writer Slave On multiprocessor systems, LGWR creates slave processes to improve the performance of writing to the redo log. LGWR slaves are not used when there is a SYNC standby destination. LREG Listener Registration Process LREG notifies the listeners about instances, services, handlers, and endpoint. RM RAT Masking Slave Process This background process is used with Data Masking and Real Application Testing. RPOP Instant Recovery Repopulation Daemon Responsible for re-creating and/or repopulating data files from snapshot files and backup files. It works with the instant recovery feature to ensure immediate data file access. The local instance has immediate access to the remote snapshot file's data, while repopulation of the recovered primary data files happens concurrently. Any changes in the data are managed between the instance's DBW processes and RPOP to ensure the latest copy of the data is returned to the user. Sann SG Allocator A small fraction of SGA is allocated during instance startup. The SAnn process allocates the rest of SGA in small chunks. The process exits upon completion of SGA allocation. 2
  • 3. 12c Supported Operating Systems Operating System Minimum OS level Requirement IBM AIX Power System AIX 6.1 TL7 SP3 or later, 64-bit kernel AIX 7.1 TL1 SP3 or later, 64-bit kernel Redhat Linux Red Hat Enterprise Linux 7: 3.10.0-54.0.1.el7.x86_64 or later Red Hat Enterprise Linux 7 with the Unbreakable Enterprise Kernel: 3.8.13-33.el7uek.x86_64 or later Red Hat Enterprise Linux 6: 2.6.32-71.el6.x86_64 or later Red Hat Enterprise Linux 6 with the Unbreakable Enterprise Kernel: 2.6.32-100.28.5.el6.x86_64 or later Red Hat Enterprise Linux 5 Update 6: 2.6.18-238.0.0.0.1.el5 or later Red Hat Enterprise Linux 5 Update 6 with the Unbreakable Enterprise Kernel: 2.6.32-100.0.19 or later Oracle Linux Oracle Linux 7 with the Unbreakable Enterprise kernel: 3.8.13- 33.el7uek.x86_64 or later Oracle Linux 7 with the Red Hat Compatible kernel: 3.10.0- 54.0.1.el7.x86_64 or later Oracle Linux 6 with the Unbreakable Enterprise kernel: 2.6.39- 200.24.1.el6uek.x86_64 or later Oracle Linux 6 with the Red Hat Compatible kernel: 2.6.32- 71.el6.x86_64 or later Oracle Linux 5 Update 6 with the Unbreakable Enterprise kernel: 2.6.32-100.0.19 or later Oracle Linux 5 Update 6 with the Red Hat compatible kernel: 2.6.18-238.0.0.0.1.el5 or later SUSE Distributions for x86-64 SUSE Linux Enterprise Server 11 SP2: 3.0.13-0.27 or later Operating System Minimum OS level Requirement IBM: Linux on System z Red Hat Enterprise Linux 6.3: 2.6.32-279.el6.s390x or later Red Hat Enterprise Linux 5.8: 2.6.18-308.el5 s390x or later SUSE Linux Enterprise Server 11 SP2: 3.0.13-0.27-default s390x or later Windows x64 Windows Server 2008 x64 - Standard, Enterprise, DataCenter, and Web editions Windows Server 2008 R2 x64 - Standard, Enterprise, Datacenter, Web, and Foundation editions Windows 7 x64 - Professional, Enterprise, and Ultimate editions Windows 8 x64 and Windows 8.1 x64 - Pro and Enterprise editions Windows Server 2012 x64 and Windows Server 2012 R2 x64 - Standard, Datacenter, Essentials, and Foundation editions SPARC (64-Bit) Oracle Solaris 11 SRU 14.5 or later SRUs and updates Oracle Solaris 10 Update 11 (Oracle Solaris 10 1/13 s10s_u11wos_24a) or later updates Solaris on x86-64 (64-Bit) Oracle Solaris 11 SRU 14.5 or later SRUs and updates Oracle Solaris 10 Update 11 (Oracle Solaris 10 1/13 s10x_u11wos_24a) or later updates HP-UX Itanium HP-UX 11i V3 patch Bundle Sep/ 2008 (B.11.31.0809.326a) or higher 3
  • 5. VARCHAR2 32K • STANDARD (Default) = 4000 bytes (Pre-12c) • 12c – EXTENDED = 32767 bytes • Parameter “max_string_size” values STANDARD, EXTENDED • Parameter changes need database bounce and will update objects, may invalidate them • Parameter changes are irreversible, once changed to value EXTENDED • Parameter can also be changed at PDB level • Steps for parameter changes – o Shutdown the database/PDB o Change the parameter and open database in upgrade mode o Execute @?/rdbms/admin/utl32k.sql o Restart database in normal mode 5
  • 6. In-Database Analytics: On going SQL Evolution 4 5 • Introduction of Window functions • Enhanced Window functions (percentile,etc) • Rollup, grouping sets, cube • Statistical functions • SQL model clause • Partition Outer Join • SQL Pivot • Recursive WITH • ListAgg, Nth value window • Pattern matching • Top N clause • Identity Columns • Column Defaults 6
  • 7.  FETCH returns top ‘N’ records  Can specify rows or percentage,  Can include OFFSET to skip specified number of rows  Respects ORDER BY clause  Internally uses ANALYTIC functions Limiting Rows from SQL Query SELECT * FROM topn ORDER BY id FETCH FIRST 5 ROWS ONLY; SELECT * FROM topn ORDER BY id OFFSET 20 ROWS FETCH NEXT 5 ROWS ONLY; SELECT * FROM topn ORDER BY id FETCH FIRST 2 PERCENT ROWS ONLY; 7 Topn.sql
  • 8.  Use Identity Columns instead of specifying a Sequence and using triggers / processes to retrieve the next value from the sequence • ALWAYS [Default] – Uses the sequence generator • BY DEFAULT – Can explicitly assign a specified value • BY DEFAULT ON NULL – Can explicitly assign, but uses sequence if evaluates to NULL Identity Column CREATE TABLE t1 (c1 NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY, c2 NUMBER); 8 identity.sql
  • 9.  Default values are utilized when inserting a record if column not specified in the insert statement  With ON NULL will use default even if specified in the insert statement  If you specify a value explicitly it will not use default  Avoids the need for trigger logic Default | Default On Null CREATE TABLE def_test (id NUMBER, name VARCHAR2(20), age NUMBER DEFAULT ON NULL 30); 9 def_test.sql
  • 10.  Invisible columns are user specified hidden columns • SELECT *  Won’t display invisible columns • INSERT INTO x VALUES Won’t insert values in invisible columns • Must explicitly specify invisible columns to include them  New “colinvisible” setting at SQL prompt to show invisible columns Invisible Column ALTER TABLE t1 MODIFY c1 INVISIBLE; 10 inv_test1.sql inv_test2.sql
  • 11.  Multiple indexes may exists on same set of columns with same order  Restrictions are –  Indexes must be of different type (b-tree, bitmap etc.)  Only one index can be visible. Others must be INVISIBLE Multiple Indexes on same column   CREATE INDEX IND1 ON T(STATUS);   CREATE BITMAP INDEX IND2 ON T(STATUS) INVISIBLE;   11
  • 12.  Pre 12c, undo & redo of undo for GTT was generated  In 12c, undo can also be stored in TEMP tablespace  So, reduction in undo and redo  Restrictions are –  Compatibility must be 12.0 or higher  Enable TEMP_UNDO_ENABLE parameter  Can be set at session level if set before any transaction Temporary Undo 12 gtt1.sql gtt1.sql
  • 13.  Pre-12c  Put Tablespace in READ-ONLY/OFFLINE mode  Move Datafile  Rename datafile at database level  Put Tablespace in READ-WRITE mode  In 12c, Datafile movement is online operation Active Datafile/Partition movement ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf'; ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf' REUSE; ALTER DATABASE MOVE DATAFILE '/u01/users01.dbf' TO '/u02/users02.dbf' KEEP; 13
  • 14.  Enable to archive rows within a table by marking them as archive  Rows will remain in table but not visible to application  Pseudo column ORA_ARCHIVE_STATE will be attached to table, this holds value 0 for visible and 1 for hidden columns  API DBMS_ILM.ARCHIVESTATENAME can be used to update values, which returns 1 for non-zero value (ILM – Information Life Cycle)  Constraint integrity will be maintained. Internal packages (like dbms_stats) consider all values  Parameter “row archival visibility” can be set at session level -  ACTIVE – Rows are not visible to application  ALL – Rows are visible to application  CTAS operation will disable row archiving for new target table Row Archiving ALTER TABLE T ROW ARCHIVAL; ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL | ACTIVE; 14 row_archival.sql row_archival_perf.sql
  • 15. Soc. Sec. # 115-69-3428 DOB 11/06/71 PIN 5623 Policy enforced redaction of sensitive data Data Redaction • Mask Application Data Dynamically Call Center Operator Payroll Processing 15
  • 16. Redaction - Methods •Masking is done based on criteria Method Original Data Redacted Data FULL 10000 0 PARTIAL 443-22-3422 XXX-XX-3422 REGULAR EXPRESSION sandeep@abc.com xxx@abc.com RANDOM 123456 431652 16 redact.sql
  • 17. Redaction – Partial Fixed character Redactions Shortcut Description DBMS_REDACT.REDACT_US_SSN_F5 Redacts the first 5 numbers of Social Security numbers when the column is a VARCHAR2 data type. For example, the number 987-65-4320 becomes XXX-XX-4320. DBMS_REDACT.REDACT_US_SSN_L4 Redacts the last 4 numbers of Social Security numbers when the column is a VARCHAR2 data type. For example, the number 987-65-4320 becomes 987-65-XXXX. DBMS_REDACT.REDACT_US_SSN_ENTIRE Redacts the entire Social Security number when the column is a VARCHAR2 data type. For example, the number 987-65-4320 becomes XXX-XX-XXXX. DBMS_REDACT.REDACT_NUM_US_SSN_F5 Redacts the first 5 numbers of Social Security numbers when the column is a NUMBER data type. For example, the number 987654320 becomes XXXXX4320. DBMS_REDACT.REDACT_NUM_US_SSN_L4 Redacts the last 4 numbers of Social Security numbers when the column is a NUMBER data type. For example, the number 987654320 becomes 98765XXXX. DBMS_REDACT.REDACT_NUM_US_SSN_ENTIRE Redacts the entire Social Security number when the column is a NUMBER data type. For example, the number 987654320 becomes XXXXXXXXX. DBMS_REDACT.REDACT_ZIP_CODE Redacts a 5-digit postal code when the column is a VARCHAR2 data type. For example, 95476 becomes XXXXX. DBMS_REDACT.REDACT_NUM_ZIP_CODE Redacts a 5-digit postal code when the column is a NUMBER data type. For example, 95476 becomes XXXXX. DBMS_REDACT.REDACT_DATE_MILLENNIUM Redacts dates that are in the DD-MON-YY format to 01-JAN-00 (January 1, 2000). DBMS_REDACT.REDACT_DATE_EPOCH Redacts all dates to 01-JAN-70. DBMS_REDACT.REDACT_CCN16_F12 Redacts a 16-digit credit card number, leaving the last 4 digits displayed. For example, 5105 1051 0510 5100 becomes ****-****-****-5100. 17
  • 18.  Tracking “hotness” of object with three kind of temperatures  Hot – Object actively participating in read and write operations  Warm – Object is only for queries i.e. for Read Only  Cold – Object is not participating in any kind of activity  Initialization parameter, HEAT_MAP can be modified at session or system level with value ON/OFF  HEAT MAP can be enabled at Object, Segment, Tablespace, Extent or Block level  HEAT MAP only works in non-CDB environment. ADO and HEAT MAP not supported in CDB Database  ADO (Automatic Data Optimization) allows to create policies for data compression and movement  ADO policies are not limited to Heap map data; custom conditions (PL/SQL) extends flexibility of ADO HEAT MAP & ADO 18
  • 19.  Compress partitions using Advance Row Compression after no modifications after 20 Days ADO Examples ALTER TABLE ODM_TEST ILM ADD POLICY COLUMN STORE COMPRESS FOR QUERY HIGH SEGMENT AFTER 30 DAYS OF NO MODIFICATION; ALTER TABLE ODM_TEST ILM ADD POLICY ROW STORE COMPRESS ADVANCED SEGMENT AFTER 30 DAYS OF NO MODIFICATION;  Compress blocks in the table after no row is in given block has been modified for 3 Days ALTER TABLE ODM_TEST ILM ADD POLICY ROW STORE COMPRESS ADVANCED ROW AFTER 3 DAYS OF NO MODIFICATION;  Moves partitions to a different tablespace when current tablespace runs low on space. The “tier to” keyword indicates that data will be moved to new tablespace when current tablespace becomes too full ALTER TABLE ODM_TEST ILM ADD POLICY tier to SECONDARY_TBS;  Compress partitions using HCC after no modifications after 30 Days Note – HCC requires use of Exadata Storage or Sun ZFS Storage appliance. 19 ado_test.sql
  • 20. Global Data Services • Current Setup is having –  Active Standby configured  Golden Gate configured  Other third party replication tool  Extended RAC • Current Challenges  No seamless way to efficiently use all databases  No automated load balancing and fault tolerance • Solution – Global Data Services  Looks like a virtual multi-instance database to database clients  GDS Attributes o Global Service Placement – Allows the preferred and available databases for that service to be specified o Replication Lag – Clients can be routed to replicas not lagging behind tolerance limit specified o Region Affinity – Allows customers to set preferences to specific region (e.g. Asia, Europe) to connect 20
  • 21. Global Data Services – ADG example • Reporting client routed to ‘best’ database o Based on location, response time, data, acceptable data lag o Reports will automatically run on least loaded server • Reporting client failover o If preferred database not available, will route to another database in same region or a remote database • Global service migration o Automatically migrates services based on failover/switchover - if primary database is down, start Call Center service on the new primary Active Data Guard Reporting Service Call Center Service 21
  • 22. Global Data Services Primary Active Standby Data Guard Order History ViewOrder Capture Critical E-Commerce App accessing Active Data Guard Standby What happens when Active Standby is down? Orders Service History Service Primary Active Standby Data Guard Order History ViewOrder Capture Orders Service History Service ? Use Case : Active Data Guard without GDS 22
  • 23. Global Data Services When Active Standby is down … GDS fails over History Service to primary, redirects connection through FAN/FCF Primary Active Standby Data Guard Orders Service History Service Global Data Services Order History View Order Capture History Service Use Case : Active Data Guard with GDS (ALL HA) 23
  • 24.  PGA Size Restriction – PGA_AGGREGATE_LIMIT  Partitioning  Add, Drop, Truncate, Split, Merge multiple partitions at a time  Partitions can be moved online. If fails, can be cleaned up using API, DBMS_PART.CLEANUP_ONLINE_OP  Pre-upgrade Script – Replaces the legacy utlu[121]s.sql  Parallel upgrade (Default 4, Maximum 8)  $ORACLE_HOME/perl/bin/perl catctl.pl –n 4 –catupgrade.sql  Restore/Recover database over network  RECOVER DATABASE FROM SERVICE primary_tns USING COMPRESSED BACKUPSET;  Concurrent execution of set operations like UNION and UNION ALL. New hint for this called PQ_CONCURRENT_UNION Miscellaneous 24
  • 25.  Datapump  Turn off redo generation – TRANSPFORM=DISABLE_ARCHIVE_LOGGING:Y  Transport view as table – VIEW_AS_TABLES=MYVIEW:MYTABLE  Dynamic Sampling – introduced new value, 11  PL/SQL interface to inventory/patch level SELECT DBMS_QOPATCH.GET_OPATCH_LSINVENTORY() FROM DUAL;  Gather concurrent statistics Miscellaneous SQL> ALTER SYSTEM SET RESOURCE_MANAGER_PLAN='DEFAULT_MAIN'; SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=4; SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT', 'ALL'); SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCOTT'); 25
  • 27.  Table statistics are gathered online for  Create table as Select (CTAS)  Insert /*+ append */ into (IIS)  Statistics getting generated on insert when table is empty  Post insert, if operation is rolled back, statistics update as NULL  Execution plan is reflecting “OPTIMIZER STATISTICS GATHERING”  Though subsequent inserts are not updating statistics, execution plan still reflects “statistics gathering” information  Histograms & index statistics gathered using new “GATHER AUTO” option without re- gathering base column statistics Online Statistics 27 SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'TABLE', OPTIONS=> 'GATHER AUTO'); online_stats.sql
  • 28. • Introduced to have better statistics on dependent columns • Two Types of extended statistics o Column Group Statistics – when multiple column from same table are used in where clause predicates o Expression Statistics – when column is used as part of complex expression in where clause predicate • Automatically maintained when stats are gathered on the table • Candidates for columns groups can be manually or automatically determined Extended Statistics 28 Start column usage capture DBMS_STATS.SEED_COL _USAGE(NULL, NULL, 300); Run Application Workload Check column usage - SELECT DBMS_STATS.REPORT_COL_ USAGE (user, ‘Table’) from dual; Create extended stats – SELECT DBMS_STATS.CREATE_EXTEND ED_STATS (user, ‘Table’) from dual; extended_stats.sql
  • 29. 29 Optimizer Evolution Optimizer evolved to be cost based CBOCBO CBOCBO Optimizer proactively adapts to become Reactive tuning with the use of advisors and auto jobs As environment changes Potential for plan changes Databases become more real-time, ad- hoc environments Reactive tuning not enough Rules were not enough Databases became more feature rich In the beginning there were rules RBO
  • 30. 30 Adaptive Query Optimization Adaptive Query Optimization Adaptive Plans Adaptive Statistics Join Methods Parallel distribution Methods Discover at compile time Discover at run time
  • 31. AQO – Adaptive Plans (Join Methods) 31 Table scan Order _items NESTED LOOPS Index Scan Prod_info_in d Statistics Collector HASH JOIN Table scan Prod_info Rows coming out of order_items table are buffered up to a point If row count is less than the threshold use nested Loops otherwise switch to hash join Statistics collector disabled after decision is made and becomes a pass through operation Table scan Order _items NESTED LOOPS Index Scan Prod_info_in d Table scan Prod_info Statistics Collector Adaptive plans are enabled by default & Controlled by parameter, OPTIMIZER_ADAPTIVE_REPORTING_ONLY (Def - false) adaptive.sql
  • 32. Hybrid Hash Join •New Adaptive Parallel Data Distribution method – HYBRID-HASH o Statistics collectors inserted in front of PX process on left hand side of the join o If actual number of rows < 2xDOP then switch from HASH to broadcast (Round-robin) o Decision will be taken only during run-time •Enabled by default 32 AQO – Parallel Data Distribution User connects to the database User Background process is spawned When user issues a parallel SQL statement the background process becomes the Query Coordinator Parallel servers communicate among themselves & the QC using messages that are passed via memory buffers in the shared pool How the data is distributed among the processes is based on the operation being done & number of rows expected QC gets parallel servers from global pool and distributes the work to them Parallel servers - individual sessions that perform work in parallel adaptive_px.sql
  • 33. • First introduced as cardinality feedback in 11.2 (Replaced with statistics feedback) • In 12c, join statistics are also monitored • New column in v$sql -> is_reoptimizable • Information found at execution time is persisted as SQL Plan Directives • On second execution, statement is reparsed using execution statistics • New child cursor created with new plan • Directives are additional information used during optimization to generate better plan o Directives will be automatically maintained o Persisted on disk in SYSAUX Tablespace o Managed using new package DBMS_SPD o Directives can be used for multiple statements, as they are collected on query expression not on a statement level o Directives auto flushed after every 15 minutes. Can be manually flushed using exec dbms_spd.flush_sql_plan_directive; 33 AQO – Adaptive Statistics adaptive_stats.sql
  • 34. Frequency Histograms: When NDV is less than histogram bucket# (Max 254) Example- Histograms 5 6 6 6 9 11 11 12 12 12 12 12 13 13 13 13 13 16 17 17 Rows 20 Distinct Values 8 Histogram Size 10 Values in each bucket N/A 1 4 5 7 12 17 18 20 Histogram Details in Oracle DB Data Histogram 34
  • 35. Height Balanced Histograms (Pre 12c): When NDV >= histogram bucket# OR 254 Example- Histograms 5 6 6 6 9 11 11 12 12 12 12 12 13 13 13 13 13 16 17 17 Rows 20 Distinct Values 8 Histogram Size 5 Values in each bucket 20/5=4 0 1 2 3 4 5 Histogram Details in Oracle DB Data Histogram 35
  • 36. Hybrid Histograms (12c): When NDV >= histogram bucket# OR 254 Example- Histograms Rows 100 Distinct Values 37 Histogram Size 20 Values in each bucket 100/20=5 8 12 12 13 13 13 15 16 16 17 18 18 19 19 19 20 20 20 20 20 21 22 22 22 23 23 24 24 25 26 26 26 27 27 27 27 27 27 28 28 28 28 28 28 29 29 29 29 29 29 30 30 30 31 31 31 31 31 32 32 32 33 33 33 33 33 33 33 33 34 34 34 35 35 35 35 35 35 35 36 37 38 38 38 38 38 39 39 40 41 42 42 43 43 43 44 45 46 50 59 36 histogram_hybrid.sql
  • 37. Histograms • Hybrid histograms enables “best of both worlds” approach • It combines characteristics of both frequency and height balanced histograms • Hybrid histograms helps optimizer to get more accurate cardinality • Maximum bucket size is increased to 2048 while default size is still 256 • ESTIMATE_PERCENT to non-default value, height balanced histograms will be generated 37
  • 38. Histograms Top Frequency •Frequency histogram is only created if NDV < 254 •Case where a small number of values occupies most of the rows (>99%) •Creating frequency histogram on that small set of values is very useful even though NDV > 254 •Ignores unpopular values to create a better quality histogram for popular values •Built using same technique used for frequency histograms 38 histogram_topn.sql
  • 40.  Support for multitenant container databases and pluggable databases  Backup can be created for CDB or individual PDBs  PDB or CDB can be restored  Restriction – PDB cannot be restored once dropped  Special backup privilege – SYSBACKUP  Privileges on X$, GV$ and V$  Execute privileges for dbms_backup_restore, dbms_rcvman, dbms_datapump  SQL Interface improvements  Any SQL can run from RMAN prompt  Table or table partition level recovery is possible from FULL database RMAN backup RMAN 40
  • 42. Oracle Data Guard Evolution 42
  • 43. • Prior to 12c, maximum availability supports only SYNC/AFFIRM • 12c comes with SYNC/NOAFFIRM. The primary performs write operations and waits only for acknowledgement that data has received on the standby, not that it has written to disk • With sync/noaffirm, in which there is no check that data has been written to the disk on the standby, hence expected minimal data loss Data Guard – Fast Sync 43
  • 44. Zero Data Loss Challenge The longer the distance, the larger the performance impact Primary Standby Commit Commit Ack Network Send Network Ack 44
  • 45. Data Guard Far Sync Far Sync Instance SYNC ASYNC Zero Data Loss No Compromise Between Availability and Performance Operational Flow StandbyPrimary 45
  • 46. Data Guard Far Sync Primary Standby Redo Logs Standby Redo Logs Commit Commit Acknowledge  For SYNC transport: remote site acknowledges received redo before writing it to standby redo logs  Reduces latency of commit on primary  Better DR – increased SYNC distance  If network round-trip latency less than time for local online redo log write, synchronous transport will not impact primary database performance NSS RFSLGWR Commit Commit Acknowledge Acknowledge returned on receipt Primary Standby Redo Logs Standby Redo Logs NSS RFSLGWR 46
  • 47. Data Guard Far Sync Far Sync Advantages •Provides ability to failover to terminal database with no data loss •Fast Sync standby is supported for maximum performance or maximum availability mode •It is easy to setup without increasing storage cost Primary Standby 1 Standby 2SYNC or ASYNC ASYNC • In 11.2, standby 1 waits till log switch before forwarding redo from archived logs to standby 2 • In 12c, standby 1 forwards redo to standby 2 in real-time, as it received : no propagation delay for log switch • Standby 2 (ADG) is up-to-date for offloading read-only queries and reports • Far Sync support Physical and Logical standby and requires Active Data Guard license 47
  • 48. Rolling Upgrade with ADG 48 Automate complexity through simple PL/SQL Package: DBMS_ROLLING
  • 49. 49 License Cost (Price in USD As on 01-Nov-2014) Named User Plus Processor License Oracle Database Standard Edition One 180 5,800 Standard Edition 350 17,500 Enterprise Edition 950 47,500 Enterprise Edition Options Multitenant 350 17,500 Real Application Clusters 460 23,000 Real Application Clusters One Node 200 10,000 Active Data Guard 230 11,500 Partitioning 230 11,500 Real Application Testing 230 11,500 Advanced Compression 230 11,500 Advanced Security 300 15,000 Label Security 230 11,500 Database Vault 230 11,500 OLAP 460 23,000 Advanced Analytics 460 23,000 Spatial and Graph 350 17,500 Database In-Memory 460 23,000 Database Enterprise Mgmt Diagnostics Pack 150 7,500 Tuning Pack 100 5,000 Database Lifecycle Management Pack 240 12,000 Data Masking and Subsetting Pack 230 11,500
  • 50. Database Patch Set Roadmap 50