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
Web SQLDeveloper

Recent Posts

Start typing and press Enter to search