Moving From Oracle Database SE2 To Enterprise Edition: Features and Benefits
Moving From Oracle Database SE2 To Enterprise Edition: Features and Benefits
Enterprise Edition
Features and Benefits
Name
Presenter’s Title
Organization, Division or Business Unit
Month 00, 2021
Oracle Database Editions
Options for any Use Case
ORACLE DATABASE
Enterprise Edition
ORACLE DATABASE
Standard Edition 2
ORACLE DATABASE High-volume (OLTP)
applications, query-
Personal Edition intensive data
ORACLE DATABASE warehouses
XE
Small business,
workgroup, web
applications
Named User
Development
Free Edition
Development
Edition
2 Copyright © 2021, Oracle and/or its affiliates. All rights reserved.
Why Should Customers and ISVs Move from SE2 to EE?
Scaling, Performance, Availability, Security…
ASO, Label Security,
Database Vault Advanced
Compression
Multitenant
Partitioning
In Memory
Management
Packs
Active Data
RAC Guard
Provides Row Level Locking, Read Core Enterprise Edition provides a wealth Users may purchase
Consistency, Online Backups, Fail of additional features: additional options:
Safe, Stored Procedures, Advanced Disaster Recovery, Basic Compression,
Analytical SQL, JSON Document, Online Operations, Flash Back, SQL Real Application Clusters,
Active Directory Integration, XML, Caching, Fine Grained Auditing, Privilege Partitioning, Active Data
Multitenant Architecture etc. Analysis, Materialized View Query Guard, Advanced
Rewrite, etc. Security etc.
3 Copyright © 2021, Oracle and/or its affiliates. All rights reserved.
Oracle Database Enterprise Edition
Additional Features and Benefits
Build SQL plan baseline — one or more accepted plans for each SQL statement
Optimizer can access and manage the plan history and SQL plan baselines of SQL statements
The optimizer uses the normal cost-based search method
In 19c: Automatic Resolution of SQL Plan Regressions — Automatic SPM Evolve Advisor
during execution
• If statistics prove to be out of range, sub-plans
can be swapped
• Bad effects of skew eliminated
PAXEXCPD PAXEXCPS ZXXVATEX INVTRDST OEXOEOSR
HJ
HJ
Table scan
NL Threshold exceeded, plan
T2
switches
Granule
Granule
Granule
Granule
Granule
Granule
Granule
Granule
Granule
Granule
Table
CUSTOMERS
In 19c: Parallel query for In-
Memory external tables
Oracle Database automatically detects all data sources (tables and views) that are queried while a result-cached
function is running
If changes to any of these data sources are committed, FUNCTION one_employee (employee_id_in
the cached result becomes invalid across all instances IN employees.employee_id%TYPE)
RETURN employees%ROWTYPE
Best candidates for result-caching are functions that
RESULT_CACHE RELIES_ON (employees)
are invoked frequently but depend on information that IS
changes infrequently or never l_employee employees%ROWTYPE;
BEGIN
...
RESULT_CACHE
• store each record retrieved for a specific employee ID number
• when execute function with employee ID previously stored, do not execute the function body
• retrieve record from the cache and return data immediately
RELIES_ON
• if any session commits changes to table, any data in result cache invalidated
• next function call executes the query and retrieve new data from table
Database stores a bitmap for each Bitmap index for the join of two or Bitmap entry to table row
index key more tables Conversion from entry to row (TO
Each index key stores pointers to Space efficient way to reduce the ROWID), or vice versa (FROM
multiple rows volume of data that must be joined ROWID)
In a conventional B-tree index, one by performing restrictions in Optimizer uses conversion
index entry points to a single row advance whenever it retrieves row from
Bitmap operations: table using bitmap index entry
• Single value lookup
• Range scan
• Full scan
In 18c: Adaptive Query Plans: Bitmap Index Pruning (uses some/not others)
Adaptive plans prune indexes that do not significantly reduce number of matched rows
12 Copyright © 2021, Oracle and/or its affiliates. All rights reserved.
Benefits
• Improved Performance for Analytic Queries and Mixed Workloads with Database In-Memory
• Database uses only tested and verified plans with SQL Plan Management
• Adaptive Execution Plans means the plan or a portion of it will be automatically adapted to avoid suboptimal
performance
• Speed up access to data by using Parallel Execution multiple processes
• The PL/SQL Function Result Cache result is much faster retrieval
• Bitmap join indexes are much more efficient in storage than materialized join views, an alternative for
materializing joins in advance
Query Results Cache Memory pool within the shared pool, that holds result sets and not data 19c Documentation
blocks
Summary management— Rewrite queries to use materialized views rather than detail tables to 19c Documentation
Materialized View Query Rewrite improve response time
Resource Manager manages CPU usage by controlling the database load to a very precise level
By default, this level is set to the number of CPUs
Configure Resource Manager to manage workloads differently by configuring consumer groups and resource plans
• Consumer group — collection of sessions that are managed as a unit
• Consumer group mapping rules — automatically map sessions to a consumer group
attributes used include the session’s service, module, action, Oracle username, client username, and program name
• Resource plan — specifies how the CPU should be shared among consumer groups
allocates percentages of the CPU to consumer groups
specifies how unused CPU is redistributed
• Resource plan directive — CPU allocation for Resource Plan
“DAYTIME”
each consumer group in resource plan
Update base tables at the same time you are building or rebuilding indexes on that table
DDL operations are not allowed
ONLINE clause to allow DML operations on the table or partition during rebuilding of the index
Not available for bitmap join index or cluster index
Create index online, rebuild index online, rebuild index partition online
11.2 & Prior Add Column, Add Constraint enable novalidate
Online move partition
Drop index online
12.1 Set unused column online, alter column visible/invisible,
Alter index unusable online, alter index visible/invisible
Alter index parallel/noparallel
Alter table move online for non-partitioned tables
Alter table from non-partitioned to partitioned online
12.2 Alter table split partition online
Create table for exchange (usable for online partition exchange)
Move/merge/split partition maintenance operations can now do data filtering
Alter table modify partitioned table to a different partitioning method (e.g., hash to range)
18c, 19c Alter table merge partition/sub-partition online
Use PARALLEL clause in the CREATE INDEX statement to specify DOP for creating the index
• If the DOP is not specified, number of CPUs is used as DOP
• If no PARALLEL clause, index creation is done serially
Multiple processes work simultaneously to create the index
Optionally specify that no redo and undo logging should occur during index creation
Can significantly improve performance but temporarily renders the index unrecoverable
• Solve database problems associated with high CPU loads using Database Resource Manager
• Database Resource Manager manages the database load so that all CPUs are utilized
• Online table redefinition offers administrators unprecedented flexibility to transform both data and table
structure while allowing users full access to the database
• Rebuilding indexes online enables users to update base tables at the same time that you are rebuilding
• Oracle Database Enterprise Edition can create the index more quickly in parallel than if a single server process
created the index serially
Parallel Data Pump Export/Import Multiple worker processes can perform intertable and interpartition 19c Documentation on Oracl
parallelism to load and unload tables in multiple, parallel, direct-path e Data Pump Performance
streams
Oracle Data Pump uses parallelism to build indexes and load package
bodies
Parallel spatial index builds CREATE INDEX geom_idx1 19c Documentation
ON dest_table(GET_GEOMETRY(CURR_LONGITUDE,
CURR_LATITUDE))
INDEXTYPE IS MDSYS.SPATIAL_INDEX_V2 LOCAL
PARALLEL;
Online Datafile Move Relocate a datafile while users are actively accessing data with ALTER 19c Documentation
DATABASE MOVE DATAFILE ...
Maintain data availability during storage migration
Online table organization CREATE TABLE statement ORGANIZATION clause — specify the order 19c Documentation
in which the table data rows are stored
Messaging Gateway administration Interface for creating Messaging Gateway agents, managing agents, 19c Documentation
package DBMS_MGWADM creating messaging system links, registering non-Oracle queues, and
setting up propagation jobs
Convert to PSTBY
Physical Standby
5
Restart w/ New
$OH PSTBY PROD
synchronize
6
Dynamically Change Oracle Data Avoid disabling fast-start failover to move to a new target standby, that exposes the 19c Documentation
Guard Broker Fast-Start Failover broker configuration to a period where automatic failover cannot be used at all. Use
SET FAST_START FAILOVER TARGET command to dynamically change the fast-
Target
start failover target standby database
Finer Granularity Supplemental Reduces the overhead in terms of resource usage and redo generation when only some 19c New Features Documentation
Logging of the tables in the database require supplemental logging such as in an Oracle
GoldenGate partial replication configuration
New Parameters to Tune Automatic Two new parameters DATA_GUARD_MAX_IO_TIME and DATA_GUARD_MAX_IO_TIME
Outage Resolution with Oracle Data DATA_GUARD_MAX_LONGIO_TIME to tune waits times for a specific Oracle Data DATA_GUARD_MAX_LONGIO_
Guard configuration based on the user network and disk I/O behavior TIME
Guard
Observe-only Mode for Oracle Data Use fast-start failover observe-only mode during configuration to test and tune 19c Documentation
Guard Broker's Fast-Start Failover properties more precisely, and discover what circumstances in your environment will
cause an automatic failover to occur
Simplified Database Parameter Manage all Oracle Data Guard-related parameter settings using SQL*Plus ALTER 19c Documentation
Management in Oracle Data Guard SYSTEM command or the new EDIT DATABASE ... SET PARAMETER
Broker command in DGMGRL (immediately executed on target db)
Fast rewind button, quickly returning a database to a previous point in time (PITR)
Eliminate time consuming restore and roll forward using a backup and archived logs
Backup to Disk/Tape
Restore (optional
(data files, optional
endian conversion,
endian conversion,
metadata import)
metadata export)
• Oracle Data Guard Rolling Upgrades for Patch Set, Database, and Operating System reduces planned downtime
• By adopting Transaction Guard end users receive the real response rather than ambiguous errors
• Oracle Database 19c new features for Data Guard simplify the complexity, reduce time, effort, and human errors,
and eliminate delays in redo transport and gap resolution
• Flashback Database helps minimize downtime due to accidental Schema Drop or unwanted Data removal
• Flashback Table avoids downtime due to accidental Table Drop or Update
• Cross-platform Backup and Recovery reduces operational complexity using cross-platform transportable
tablespace and cross-platform transportable database methods to migrate data between platforms
• Block change tracking improves the performance of incremental backups
Oracle Data Guard Redo Apply — applies redo data on the standby database using standard 19c Data Guard Concepts an
recovery techniques d Administration
SQL Apply — first transforms received redo data into SQL statements,
then executes generated SQL statements on logical standby database
Snapshot Standby — receives and archives, but does not apply, redo data
from primary database. Redo received is applied when it is converted back
into physical standby, after discarding all local updates
Flashback Transaction and Back out transaction +dependent transactions; mechanism to view all Flashback Transaction and
Flashback Transaction Query changes made to database at transaction level Flashback Transaction Quer
y
Lost Write Protection Shadow (bigfile) tablespace used by any tablespace or data file enabled My Oracle Support Note
for shadow lost write protection 1302539.1
Duplexed backup sets RMAN creates multiple, identical copies of backups, using BACKUP ... 19c Documentation
COPIES command
Parallel backup and recovery RMAN reads or writes in parallel depending on number of channels 19c Documentation
available for a device type
Tablespace point-in-time recovery RMAN automatic TSPITR — quickly recover tablespaces to an earlier 19c Documentation
time, not affecting state of other ts/objects
Recovering tables and table RMAN recovers tables or table partitions to specified point in time, not 19c Documentation
partitions from RMAN backups affecting remaining database objects
Trial recovery Apply redo like normal media recovery, but never write changes to disk, 19c Documentation
always roll back changes; only in memory
If stuck recovery or similar problem, marks data block as corrupt in
MEMORY when this allows recovery to proceed
Block-level media recovery Provides lower mean time to recover (MTTR) by recovering only corrupt 19c Documentation
data blocks
Fast-start fault recovery Simple recovery time configuration from instance/system failure using 19c Documentation
FAST_START_MTTR_TARGET
Database manages incremental checkpoint writes in an attempt to meet the
target
Keep
Used Roles/Privileges
DBA Create …
Select …
Custom Update …
DBA role
applications
…. Audit, Consider Removing
Unused Roles/Privileges
viewSalary
Select Data Realm Access Control List
- Employees under - Grant select to Manager
my report - Grant viewSalary to Manager
Employees
table
Application Privilege
- select, viewSalary
Under
my report
Employees
table
1. All records
2. My record Privilege
3. My reports Grants
Restricted
Salary & SSN
Columns
Used when standard object privileges and associated SELECT NAME, SALARY FROM
database roles are insufficient to meet security HR.EMPLOYEES;
requirements
Policy creates predicate to append to SQL statement SELECT NAME, SALARY FROM
HR.EMPLOYEES
based on user or role context
WHERE EMP_ID = ‘001’;
• SQL with appended predicate is executed
EXEMPT
• Subset of table/view rows and columns are returned ACCESS
• Can also redact column results POLICY
• Privilege analysis helps improve the security of applications and operations by identifying unused or excessive
privileges
• Privileges required by database administrators can easily be identified by analyzing the privileges used while performing
common administration activities
• Privileges required by applications can be easily identified by running privilege analysis during an application
connection to the database
• Real Application Security strengthens overall application and data security and ultimately reduces application
development time by moving security controls from the application layer to where the data resides in the
database
Enforcement of application security at the database layer increases security for data by enforcing application security logic
regardless of the access path to the database
• Virtual Private Database prevents SQL injection attacks from application layer
Transparent Sensitive Data A way to find and classify table columns that hold sensitive information 19c Documentation
Protection Find the table columns, classify data, and create policy to protect data as a
whole for a given class
TSDP policy protects sensitive data by using either Oracle Data Redaction
or VPD settings
Fine-grained auditing (FGA) Enables audit policies to be associated with columns in application tables, 19c Documentation
along with conditions to generate audit record — using the FGA API
Complements Unified Audit by enabling audit conditions to be associated
with specific columns
Audit trail records created by FGA can be captured and analyzed in Oracle
Audit Vault and Database Firewall
Data modified using conventional DML not 1243012 Meyer 11 Homestead Rd 1.99
compressed 9923032 McGryen 3 Main Street 1.99
Modified data will degrade compression ratio over 9833023 McGryen 3 Main Street 1.99
time unless table is recompressed
2133056 McGryen 3 Main Street 1.99
Ideal for Data Warehouse applications
Not intended for use with active OLTP data Compressed Block Not Compressed
RMAN skips reading, and backing up, any database blocks that are not currently allocated to some database object
• regardless of whether those blocks had previously been allocated.
• if table is dropped, RMAN will not back up space occupied by that table until new objects are created in that space
Unused block compression is used automatically when the following conditions are true:
• COMPATIBLE initialization parameter is set to 10.2 or higher
• There are currently no guaranteed restore points defined for the database
• Data file is locally managed
Compression block
• Data file backed up to a backup set
as part of a full backup or a level 0
incremental backup
• Backup set is created on disk, or Oracle
RMAN
Secure Backup is the media manager
Prefix Compression
• Eliminates duplicate copies of pre-defined number of index prefix columns at index leaf block level
• An effective way to permanently reduce index size, both on disk and in cache
• Basic Table Compression is a free data compression capability for data that is never, or very rarely, modified
• Skipping unused data blocks where possible, enables RMAN to back up datafiles using less space, and can make
I/O more efficient
• Prefix Compression has the potential to substantially reduce the overall size of indexes
• Effective way to permanently reduce the index size, both on disk and in cache
• Helps both multi-column unique indexes and non-unique indexes alike
• One of the most critical index optimization features available to DBAs for effectively managing the space used by the
indexes
Attribute Clustering Table-level directive that clusters data in close physical proximity based 19c Documentation
on the content of certain columns
Applies to any kind of direct path operation, such as a bulk insert or a
move operation
Business Benefit: Storing data that logically belongs together in close
physical proximity can greatly reduce the amount of data to be processed
and can lead to better compression ratios
Deferred Segment Creation Initial segment creation for partitioned tables and indexes can be deferred 19c Documentation
until data is first inserted into an object
Individual partitions will not be physically created before data is inserted
for the first time
Business Benefit: Several prepackaged applications are delivered with
large schemas containing many partitioned tables and indexes. With
deferred segment creation for partitioned tables, empty database objects
do not consume any space, reducing the installation footprint and
speeding up the installation.
<Email address>
<LinkedIn URL>
<Twitter handle>
https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-B6113390-
9586-46D7-9008-DCC9EDA45AB4