12cR1 new features. I have tried to cover all new features of 12cR1 and many more may be missing. These are all my own views and do not necessarily reflect the views of Oracle. Requesting all visitors to comment on it to improve further.
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
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
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
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