Oracle 19c New Features
Oracle 19c New Features
New Features
Valentin Leonard Tabacaru
Principal Product Manager
October 2019
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon in making purchasing
decisions.
The development, release, timing, and pricing of any features or functionality described for
Oracle’s products may change and remains at the sole discretion of Oracle Corporation.
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
11.2.0.4 EXTENDED
12.1.0.2 EXTENDED
12.2.0.1
18c
19c EXTENDED*
11.2.0.4
12.1.0.2
12.2.0.1
12.2.0.3
12.2.0.2
9
*Oracle Database 19c is the long term support release.
Oracle Database 19c New Features
Always check MOS Note 742060.1 for the latest schedule.
Database Software Innovation in 19c
Automatic Indexing
Q1 Q2 Q3
12.2.0.1 12.2.0.2
Global Fault-Tolerant 12.2.0.3
Key Vault
Ran a complex Netsuite workload, and compared ATP to existing expert tuning
17,542 SQL statements, 1,852 tables, 8,151 indexes - years of tuning to create these indexes
Before running on ATP, all indexes and statistics were dropped
Elapsed Indexes
Expert Autonomous Expert
Time Used 1733
(sec)
Autonomous
CPU USAGE(USER%+SYS%)
Default:
Manual tuned with all integrity
constraints and secondary
indexes
No Secondary Indexes:
All secondary index removed
Auto Indexing
All secondary index removed and
Auto indexing running WORKLOAD ELAPSED TIME (1/2 SECOND INTERVAL)
DEFAULT AI + NO SECONDARY INDEXES NO SECONDARY INDEXES
Database
20 Oracle Database 19c New Features
In-Memory for IoT Data Streams
Example: Insert Temperature Sensor Readings
IoT
TEMPERATURE SENSOR
Insert: • New in-memory insert algorithm
<6:05AM, 55o >
• Declare table MEMOPTIMIZE FOR
In-Memory
Ingest Buffer
WRITE
Time Temp • Client performs low-latency insert into
In-Memory 05:50 52o in-memory buffer using standard SQL
Append
05:55 54o Insert
06:00 54o • High throughput bulk insert done
06:05 55o asynchronously in background
DRAINER PROCESSES • Ultra-fast
PERIODICALLY
DRAIN BUFFER TO DISK • 25 million inserts per second on two
socket server
TEMPERTURE READINGS
• First time an insert is run, fast ingest area allocated from large pool
• Amount of memory allocated written to alert.log:
2018-09-04T15:43:43.667014-07:00
Memoptimize Write allocated 884M from large pool
Quarantine
DBRM resource
limit exceeded
SQL> select /* Time consuming query */ * from ...;
SQL Quarantined
*
ERROR at line 1:
ORA-56955: quarantined plan used
26 Oracle Database 19c New Features
High-Frequency Automatic Optimizer Statistics Collection
• DBMS_STATS.SET_GLOBAL_PREFS
• AUTO_TASK_STATUS (ON/OFF)
• AUTO_TASK_MAX_RUN_TIME (3600 – max & default)
• AUTO_TASK_INTERVAL (900 – default, 60 – minimum)
• Monitor high-frequency tasks – DBA_AUTO_STAT_EXECUTIONS
EXEC DBMS_STATS.SET_GLOBAL_PREFS('AUTO_TASK_STATUS','ON');
EXEC DBMS_STATS.SET_GLOBAL_PREFS('AUTO_TASK_MAX_RUN_TIME','600');
EXEC DBMS_STATS.SET_GLOBAL_PREFS('AUTO_TASK_INTERVAL','240');
5 DATA IS VISIBLE TO
CLIENT
1 DML
PRIMARY ACTIVE STANDBY
COL
----------
1
34 Oracle Database 19c New Features
Application Development
JSON_DATAGUIDE(T.JSON_DOCUMENTS)
----------------------------------------------------------------------
[ {"o:path": "$.Id", "type": ”number", "o:length": 132},
{"o:path": "$.Name", "type": "string", "o:length": 256},
{"o:path": "$.Location", "type": ”object", "o:length": 64 },
{"o:path": "$.Location.Street", "type": ”number", "o:length": 132},
....
{"o:path": "$.Tickets", "type": ”object", "o:length": 64 },
{"o:path": "$.Tickets. AdultPrice","type": ”number", "o:length": 5 },
....
]
39 Oracle Database 19c New Features
JSON DataGuide – Automatic Schema Inference
SELECT t.json_document.id
FROM theater t
WHERE JSON_EXISTS(t.json_document.location, '$.Phone' FALSE ON ERROR)
AND t.json_document.location.Phone IS NULL;
ID
--------------------
Redwood
New SQL diagnostics and repair tools, to provide better diagnosis and repair capabilities for
managing problematic SQL statements
• SQL Repair Advisor (DBMS_SQLDIAG.SQL_DIAGNOSE_AND_REPAIR)
• Creates a diagnostic task, executes it, and accepts SQL patch recommendation for a SQL
statement that is generating a critical error
• SQL Test Case Builder (DBMS_SQLDIAG.EXPORT_SQL_TESTCASE)
• compress: compress the SQL Test Case Builder output files into a zip file
• diag_event: specify the level of trace information to include in SQL Test Case Builder output
• problem_type: assign an issue type for a SQL Test Case Builder test case
A SQL test case contains a set of files needed to help reproduce a SQL problem on a different
machine
1. A dump file containing schemas objects and
statistics (.dmp)
2. The explain plan for the statements
(in advanced mode)
3. Diagnostic information gathered on the
offending statement
4. An import script to execute to reload the objects
5. A SQL script to replay system statistics
of the source
6. A table of content file describing the
SQL test case
7. Metadata (xxxxmain.xml).
UPDATES
OBJECT STORAGE
Table created.
51 Oracle Database 19c New Features
Multitenant
PDB$ PDB$
SEED SEED
CDB1 CDB1
PDB$ PDB$
Upgrade
SEED SEED
Upgrade Upgrade
Upgrade
• For all offerings using Oracle Database 19c, if you are not licensed for
Oracle Multitenant, then you may have up to 3 PDBs in a given
container database at any time
• EE: Extra cost option – if you are licensed for Oracle Multitenant, then
you can create up to 252 PDBs.
• Exadata and ODA: Extra cost option – if you are licensed for Oracle
Multitenant, then you can create up to 4096 PDBs
• DBCS EE-HP, DBCS EE-EP, and ExaCS: Included option – you can
create up to 4096 PDBs
• Ability to Create a PDB by Cloning a Remote PDB Using DBCA in Silent Mode
• You can now create a PDB by cloning a remote PDB using the
createFromRemotePDB parameter of the createPluggableDatabase
command of DBCA in silent mode
• Ability to Relocate a PDB to Another CDB Using DBCA in Silent Mode
• You can now relocate a PDB to another CDB by using the relocatePDB
command of DBCA in silent mode
• Automated PDB Relocation
• In Oracle Grid Infrastructure, you can use Fleet Patching and Provisioning to
automate relocation of a PDB from one CDB to another
Problem
• Database user accounts came with password authentication whether or not it was
used as a login account
• Some accounts will never be used for login, but passwords still need to be maintained
Solution
• Remove passwords (and all authentication) from these accounts
CREATE USER auxapp NO AUTHENTICATION;
• Use ALTER USER to add/remove authentication
19c Update
• On fresh 19c Database installations, Oracle Database accounts will be installed without
passwords (*Only SYS will have a password provided during installation)
Minimize impact to
• Applications
Least Privilege Separation of Duty • Performance
• High Availability
• Operations
Lockdown
• Database Vault Operations Control and
Lockdown work together for unequaled
customer security
DB Vault • Lockdown prevents PDB users from accessing
Ops Control or impacting other PDBs and CDB operations
• DV Ops Control prevents CDB operations
(common users) from accessing PDB local
customer data
Multitenant Container Database
Benefit
• New use case for multitenant database for on-premises customers
• Transparently prevent Cloud Admin (infrastructure DBA) access to PDB data
• Protected by default for every PDB customer – no customer action required
• No special SoD processes for PDB customers – operate the same way they do
today
• Adds to any existing PDB customer Database Vault protections – without
changes
• Simpler, faster Database Vault implementation
• Key Vault stores and manages encryption keys for 1000s of databases
Supports popular hardware security modules