Back in the early Oughties of this century, I attended a meeting in downtown Chicago at which Oracle announced the imminent release of Oracle Database 10g. What was unique about this meeting was that Larry Ellison himself showed up to help promote the impending release, and when all the neat new features – a self-monitoring database, improved interfaces to Oracle Enterprise Manager, simplified methods for deploying and running Real Application Cluster (RAC) databases – had been announced, Ellison bounded up to the stage and asked the 500+ Oracle DBAs present, “So, what do you think? Isn’t this great stuff?”
Suddenly, an old, short, balding DBA stood up and in broken English cried out: “Larry! What are you doing to us? You are taking our jobs away!” Ellison closed his eyes, pinched the space between his eyebrows, muttered something to himself like “Fer crissakes!” (or maybe something a little stronger) and then said: “You’ll finally be doing what you are supposed to be doing! Instead of wasting time tailing alert logs of every database you’re responsible for, now you’ll have more time to work with developers and business analysts to build better systems. Your job isn’t going away … but it is changing.”
It’s been nearly three weeks since I returned from Oracle OpenWorld 2017, so that’s given me a bit more time to think deeply about the information I garnered there to adequately report where Oracle as a company, its database technology, and the world of Oracle DBAs is heading for the next several months.
I. Autonomous Database: "But Larry, You Are Killing Our Jobs!"
Of course, the biggest news from the perspective of Oracle DBAs everywhere was Larry Ellison’s announcement of the impending release of Oracle Autonomous Database (AuDB). As Ellison explained, “My autopilot flies my plane a lot better than I do.” Since I’ve often compared the professionalism that the role of an Oracle DBA requires to that of a skilled airline pilot or cardiac surgeon, I like this analogy. As long as a DBA has implemented Oracle’s recommended best practices for her production database, she can realistically leave the database alone most of the time and only intervene when unexpected performance anomalies occur. This frees her for more important tasks of helping developers and designers to build better systems rapidly according to approved standards.
Ellison explained AuDB will tune itself and it’s automatically elastic, adding or removing cores while DB is running. This essentially enables an IT organization to buy just the resources required to satisfy a database’s performance requirements flexibly, and that means it’s going to be cheaper than what most shops do today: overprovisioning their systems to anticipate maximum resource demands and then being able to reduce the required resource footprint in the future without manual intervention.
The initial release of AuDB is planned for December 2017 in the Oracle Public Cloud (OPC). This first release is aimed specifically at data warehouse workloads at an approximate cost of just $300 per month per TB of data; it will run on an Exadata hardware infrastructure and will eventually be available for Cloud @ Customer deployments. In addition, Oracle’s recent changes in their licensing strategy that permits a customer to “bring your own licensing” (BYOL) to Oracle Public Cloud environments appears aimed directly at helping to mitigate concerns about increased licensing costs during an organization’s transition to Oracle’s private / hybrid / public cloud environments.
Ellison also announced that because AuDB runs within the Oracle Cloud infrastructure, Oracle will be able to guarantee 99.995% uptime for crucial systems, including maintenance and patching time – or less than 30 minutes of downtime per year. While other Cloud services claim to offer 99.999% availability, Ellison explained that’s quite misleading because it doesn’t include unplanned downtime due to maintenance, software bugs, security patches … and that doesn’t include planned downtime either. Best of all, Ellison said, this guarantee is in the contract for OPC Cloud services for the AuDB. And it will cost “less than half than Redshift charges you – in fact, you have to be willing to pay a lot less.”
The important thing, of course, is if these inter-Cloud battles really do matter to Oracle developers and DBAs. My personal take is that it probably won’t have any impact on what we’re doing as Oracle professionals in the immediate future. But Oracle definitely appears to be playing the long game with its Cloud offerings, and Amazon and Microsoft likely see that battle the same way.
For a closer look at what AuDB promises to implement and how that will impact the role of Oracle DBAs in the future, take a look at these two OOW17 presentations:
CON6647: Data Warehousing for Everybody: Oracle Autonomous Data Warehouse Cloud
CON6648: Step-by-Step Guide to Oracle Autonomous Data Warehouse Cloud
II.Security at last comes to the fore ... and maybe just in time
A topic that I’ve been focusing on in my talks and discussions among Oracle DBAs and developers is the issue of how as information engineering professionals simply must begin to concentrate on the issues of security, both within and outside our environments’ firewalls. So I was extremely pleased to see Larry Ellison place these issues front and center during his second OOW17 keynote.
Put simply, Ellison explained, our IT organizations are losing the cyberwar and it’s not getting any better because “It can’t be our people versus their computers; it’s gotta be our computers versus theirs.” In other words, the ability of hackers to compromise systems has grown exponentially over the past several years, and it’s no longer a bored teenager trying out some kewl exploits – it’s now rogue nation-state actors against an array of often poorly-prepared DBAs, CISOs, and developers who cannot react quickly enough to counter these attacks. And it doesn’t help, said Ellison, when IT organizations complain that “security auditors are slowing us down” and preventing us from finishing our daily tasks in a timely manner.
Ellison reminded everyone that “[n]o one ever got called before Congress because they couldn’t sell tickets to a concert; they got called before Congress because data was stolen.” Resorting back to his earlier aviation analogies, Ellison said that “in the airline industry, safety is Job One. In our industry, security is like Job Ten or something.” And in diverse multi-national IT organizations, it’s often difficult to locate every individual server that needs to be patched and secure it in time to avoid penetration by malicious actors, and this often leads directly to the type of recent security incursions at Equifax that resulted in severe loss of that company’s market value.
Ellison presented his solution to these security issues: a pairing of the previously-mentioned Autonomous Database (AuDB) with a brand-new offering called the Autonomous Cyber Defense System (ACDS). AuDB will automatically patch itself to prevent security issues, but more importantly, it will be able to detect and recover any deleted, corrupted, or otherwise lost data as the result of a cyber-attack without human intervention.
ACDS will use machine learning algorithms to train itself by mining the enormous amount of logged sources already available – including but not limited to OS level logs, application logs, and database auditing logs – so that it understands exactly what is an expected activity pattern for a system. Machine learning will also then be employed to detect anomalous events – for example, database auditing deactivated, then suddenly reactivated again – as well as anomalous login activity – for example, an organization’s CFO logging into the Accounts Payable system from a completely different geographic location than normally observed. Ellison acknowledged that there are already robust log analyzers in the marketplace that offer complex mechanisms to capture data from myriad sources - “If you’re both a programmer and a data scientist, you can apply advanced analytics to logs” – but he also stated that these analyzers don’t offer the capability for auto-remediation, a prime feature of ACDS.
Finally, Ellison announced that ACDS will run in the new Oracle Management and Security Cloud and based on machine learning will determine when access to data or metadata within an Oracle database is perceived as an anomalous event. Interestingly, ACDS won’t require all systems monitored to reside within the Oracle Public Cloud; it can also be applied to AWS and Microsoft Azure environments as well, which can then be secured using these machine learning algorithms.
III. Wait, What Happened to Oracle 13c?
After hearing all the buzz from OOW17, you may be wondering, “Wait a minute, have I been in a coma for a few days? What happened to Oracle Database 13c? And while we’re at it, what about 14c through 17c?”
Don’t worry, you haven’t been out of touch with reality; you’ve just stumbled across Oracle’s transition to a completely new software release strategy. The new strategy is composed of three categories of software releases:
Releases. Each year will see at least one new major release numbered after the last two digits of the year; for example, Oracle 18c is actually release 18.1.0, and that will be available in January 2018.
Release Upgrades (RUs) will be issued once per quarter and will increment the second digit in this new scheme, so the first release upgrade for release 18.1 is scheduled for April 2018 and will be numbered as 18.2.0. RUs are the replacement for bundle patches (BPs) and will combine all BPs for all related software, including database, Exadata, and applications.
Release Upgrades Revisions (RURs) will be issued quarterly as well, and they’ll increment only the third digit – so the first RUR for 18.2.0 will be labelled 18.2.1, the next as 18.2.2, and so forth. RURs replace PSUs and are intended to extend the lifetime of a particular RU, focusing on security and fully-regression-tested solutions to any bugs found since the prior RU or RUR.
This new strategy effectively overturns the old methodology many Oracle DBAs have employed within their shops when waiting for new features – usually, delaying patch application until the second set of patches is available. It also effectively removes the pressure on Oracle software development teams to rush a particular feature set into that next big release and instead focuses on understanding what features will be available within which release, RU, or RUR after extreme regression testing.
What I like about the new strategy is that we’ll know precisely which RU or RUR corresponds with each release, making it simple to figure out exactly which RU or RUR needs to be applied to bring my current Oracle database up to date: simply find the most current corresponding RU or RUR, and use OPATCH to apply the patches. As of this writing, it appears that each major release will require an upgrade instead of a patch – in other words, anticipate an outage for a single-instance database that requires restarting the database in UPGRADE mode – but this could change by the time Oracle 19c is ready for implementation.
IV. Oracle 18c
For all intents and purposes, Oracle 18c’s first release - 18.1.0 – that’s due out in January 2018 could actually be considered 18.104.22.168, and while it’s essentially a minor version uptick, it still has some neat new features. I hobnobbed with my good friend and colleague from Oracle, Dominic Giles (the creator and curator of Swingbench), to come up with just a few of our mutual favorites:
Online Partition Merge. Completing the improvements to table partitioning that started in Oracle 12cR1, in Oracle 18c we will now finally be able to perform merges of multiple partitions simultaneously, including online reconstruction of indices if desired. This completes the panoply of online multi-partition processing that now includes the ability to add, drop, truncate, split, move, and compress partitioned table data without any interruption in application service.
Polymorphic Table Functions. Implemented as part of the 2016 ANSI SQL specification, polymorphic table functions (PTFs) hide sophisticated algorithms that implement dynamic SQL for extremely fast analytic processing. Common use case for PTFs include complex analyses based on multitudes of factors such as credit verification, loan approvals, and investment decisions. PTFs accept as input sets of table columns but return result sets in tabular format, including standard Oracle tables as well as semi-structured data like JSON or XML. Hopefully we’ll hear a lot more about PTFs as the official Oracle 18c release approaches in just a few weeks.
Database In-Memory for External Tables. Continuing the expansion of Oracle database functionality into non-Oracle table structures, 18c will offer the ability to apply the capabilities of the In-Memory Column Store (IMCS) to data that’s stored in external tables. Since 22.214.171.124 expanded the realm of ORGANIZATION EXTERNAL to other file formats, including HIVE and HDFS, this new feature set means that queries against data stored outside the traditional Oracle RDBMS can now take advantage of SQL processing that’s one or two orders of magnitude faster.
Approximate Aggregation Improvements. Oracle 12cR1 gave us the new APPROXIMATE_COUNT_DISTINCT function that enables queries to quickly return counts with an acceptable degree of possible error, which is find for situations where a 1-2% variance from the correct aggregate – think pie charts for mobile applications! – trades speed for accuracy. Oracle 12cR2 added two new analytic functions, APPROXIMATE_MEDIAN and APPROXIMATE_PERCENTILE, that gave us additional “close enough for what we need right now” functions to return median and percentile values, respectively. Oracle 18c promises to expand these capabilities with the new APPROX_COUNT, APPROX_SUM, and APPROX_RANK functions as well as the ability to leverage them to perform Top-N aggregation – for example, displaying the top ten performers within sales region (or, even better, the next ten performers within regions!) with extremely simple SQL code.
V. Oracle ACEs, Meet the Developers Champions
I also had the opportunity to attend the annual pre-OOW Oracle ACE Directors’ briefing the Friday just before OOW17 kicked off. It was an extremely compressed format – in the past, we’ve taken two days to cover the same amount of information – but we had top speakers like Maria Colgan, Penny Avril, and Andy Mendelsohn to brief us ahead of time about the latest news that would be coming out at OOW17 so we could be ready to evangelize on those features right after the conference ended.
We also spent more time with the new Oracle Developer Champions (ODC) community – the new name for the same great folks at Oracle Technology Network (OTN). It gave us ACE Directors a chance to mingle with real-world leading Oracle application developers and shows the emphasis that OOW17 has placed on Oracle’s changing focus: Developers are going to become as important – maybe even more important! – than DBAs in the coming years as Oracle databases become ever more automated, self-tuning, and self-healing.
Conclusion: Dramatic Change Is the Only Certainty
You’ve probably heard at least one IT industry wonk in the past few months proclaim that it’s time to either disrupt, or be disrupted. The announcements at OOW17 certainly appear to reinforce that saw. While some Oracle DBAs may be intimidated by these dramatic shifts in Oracle’s strategies, it’s time to realize that our roles are undergoing changes we couldn’t have foreseen even five years ago. So I’m recommitting myself to delve into the new features of Oracle 18c as soon as it’s released so that my clients and fellow DBAs can take immediate advantage of them. Saddle up, my friends – we’re burning daylight!
(Oh, and here’s one final humorous item: We finally discovered what happens when Larry presses the button on his remote! It just gets someone else’s attention to click forward or backward in his slide deck.)