As we DBA's are always excited about the upcoming features, I will share below some of the main things that I've spotted on OOW. Please note that this can change, and we don't even have a beta release yet.
1 - Stability
First of all, it was very clear that Oracle's main focus for the 19c database will be stability. This will be the final release for the "12cR2" family. So it was repeated multiple times: "don't expect to see many new features in this release".
Since 12.1.0.1, Oracle has been implementing a lot of core changes in Oracle Database (like multi-tenancy, unified audit, etc) and it's still very hard nowadays to find a stable 12 release to recommend. 12.1.0.2 is my favorite one, however many bugs are unfixed and it lacks a secure PDB layout (PDB escape techniques are pretty easy to explore). 18c will probably be ignored by all as it was a "transition" release, so I hope that 19c becomes the real stable one, as 11.2.0.4 was for 11g release family. Let's see...
Now comes the real features...
2 - Automatic Indexing
This is indeed the most important and one of the coolest features I've even seen in Oracle DB. Once this kind of automation is implemented and released, it will open doors to many other product automations (like automatic table reorganization, automatic table encryption or anything you can imagine).
The automatic indexing methodology will be based on a common approach to manual SQL Tuning. Oracle will capture the SQL statements, identify the candidate indexes and evaluates the ones that will benefit those statements. The whole process is not something simple.
Basically, Oracle will first create those indexes as unusable and invisible (metadata only). Then, outside the application workflow, oracle will ask the optimizer to test if those candidate indexes improve the SQL performance. In case the performance is better for all statements when indexed is used, it will become visible. If performance is worse, it remains invisible. And if it only performs better for some statements, the index is only marked visible for those SQLs (via SQL Patch, maybe).
The automation will also drop the indexes that become obsoleted by the newly created indexes (logical merge) and also remove the indexes that were created automatically but have not been used in a long time. Everything is customizable. For more details, we need to wait for the Beta Release!
3 - Real-time Stats + Stats Only Queries
With those features, you will be able to turn on the real-time stats for some of your database objects and it will be possible to run some SQLs that will query only the object stats, not doing a single logical read! Cool, isn't it?
4 - Data-guard DML Redirect
When you have a physical standby, opened in read-only mode, and plug in it some type of report tool that needs to create an underlying table or insert some log lines to operate, you have a problem. With this feature, you can define some tables (or maybe schema, it's not clear yet) and you will be able to run DMLs on them. So Oracle will redirect that DML to your primary and reflect the changes on your standby, not impacting those tools. This can be dangerous if not configured properly but will also allow us to do many new things.
5 - Partial JSON Update support
When you update a JSON data column, currently Oracle needs to upload the whole new column value to the database and validates. With this, we will now be able to update just a part (like a tag) of a json data.
6 - Schema-only Oracle accounts
With Oracle 18c, it was introduced the passwordless accounts. This means that you could connect to your schema using only a sort of external authentication like Active Directory. Now oracle has gone further, creating the true concept of Schema Only account (meaning there will be no way to authenticate).
7 - DB REST API
Oracle is trying to make the whole Oracle Database "rest aware", meaning that in a very soon future you will be able to perform ALL kinds of DB operations using REST API (like creating a database, creating a user, granting a privilege or adding a new listener port).
8 - Partitioned Hybrid Tables
Remember in very old times when we didn't have partitioned table, and had to implement partition manually using views + UNION ALL of many tables? Thanks god since 8 (released in 1997) we don't need it. Now Oracle finally did one step further, and you can have a partitioned hybrid table, meaning each partition can be of a different type or source (like one partition is external table and other is a traditional data table).
With Oracle 18 XE limited to 12GB data, this feature will be cool as we will probably be able to offload some of the data externally.
9 - EZConnect Improvements
EZConnect is something very useful to make fast connection calls without requiring a TNS. Problem is that, until now, if you want to use some value pairs likes SDU, RETRY_COUNT, CONNECT_TIMEOUT, this wasn't possible and you would end-up using TNS. Now in 19c you will be able to write something like:
sqlplus soe/soe@//salesserver1:1521/sales.us.example.com?connect_timeout=60&transport_connect_timeout=30&retry_count=3
It will also allow to enable multiples hosts/ports in the connection string (typically used in load-balancing client connections).
10 - Some other cool features
There are many other features that we have to wait for the Beta release to understand better. Below are some of them:
Improvements for count distinct and group by queries
Sharding now supports multiple PDB shards in a CDB
SQL JSON Enhancements
RAT and ADDM at PDB level
Data Dictionary Encryption
Database Vault Operations Control