How do I scale an Autonomous Database?

Traditionally database deployments have been designed and provision for the peak possible workload. And in reality, a substantial margin of safety was also provisioned on top of that in order to make sure the system could cope with any unforeseen demands.
But peak workloads tend to occur infrequently, leaving most of this costly capacity idle the majority of the time.

In order to enable customers to pay for only the resources they need, Oracle Autonomous Database allow customers to elastically adjust their compute and storage resources when necessary.

An Autonomous Database can be scaled through the UI as shown in the video below or via our cloud APIs or CLI commands. In the video you see how I can scale an 2 CPU  configuration to an 8 CPU configuration in under a minute  to accommodate 48 concurrent users running a JSON workload.

Alternatively, you can enable Auto Scaling and let Oracle scale the Autonomous Database up to 3x the initial CPU/IO resources immediately when needed by the workload. Once the resource demand drops off, the Autonomous Database will automatically be scaled back to the original or base CPU. Allow you to truly only pay for the resources you need, when you need them since the additional CPU is only charged for the time you use them.

You can enable Auto Scaling either during provisioning or by modify an existing database using the Scale Up/Down dialog on the UI (or via the API).

So what can you expect for Auto Scaling?

Let’s take a look at it in action by comparing what happens on two identical Autonomous Databases, one with Auto Scaling (ADW2) and one without (ADW1).  Both Autonomous Database have a CPU count of 4, which means ADW1 can use up to 4 CPUs, while ADW2 can use up to 12 CPUs (3 X Base CPU) if the workload demands it.

If I start 8 sessions on each database and begin running queries, and look at the Overview tab on the Autonomous Database Service Console, we can see how the two databases behave.

As you can see from the service console on the left above, with 8 active sessions (2 threads X 4 CPUs), we were able to max out our 4 CPUs on ADW1 (100% busy). However, on ADW2 we have the same 4 CPUs busy but the utilization is only indicating the system is only 33% busy as ADW2 has a maximum of 12 CPUs thanks to Auto Scaling.

Let’s now increase the number of concurrent sessions to 24 (2 threads X 12 CPUs) and see what happens on both systems.

If we look at ADW1 now, we see in the upper left hand corner that 8 sessions are on CPU but 16 sessions are waiting, as the CPU is fully utilized (100% busy) by 8 concurrent queries.

But if we look at ADW2 on the right hand side, we see that all 24 sessions are active and now 12 CPUs are fully utilized (100% busy).

Once the workload drops off, ADW2 will be automatically scaled back to just 4 CPUs and you will only pay for the additional CPU when they are used.

But how do I know what CPU has been used when?

Also available on the Overview tab of the Autonomous Database service console is a graph labeled “Number of OCPUs allocated”, which indicates exactly how many CPUs were used over time.

From the graph above, you would only be charged for the additional CPUs for the period of the peaks, where the CPU goes above the base CPU of count of 4.

What’s the difference between manual scaling and Auto Scale?

When you manually scale an Autonomous Database, we will increase the memory allocated, the number of concurrent sessions allowed, and the degree of parallelism used for queries issued on the HIGH service, as well as the CPU count and IO throughput. The assumption being that you will need these additional resources going forward or for some period of time.

However, when Auto Scale kicks in, you do not get additional memory, or a higher degree of parallelism, since the goal of Auto Scale is to help you deal with a rapid increase in concurrent queries / workload. Once the demand drops off you want the system to go right back to what it was before.

Therefore, if you need more CPU power or a higher degree of parallelism for an individual SQL statement you should manually increase the base number of CPUs on your system. If you just need additional resources periodically when there is an increase in concurrency, you should use Auto Scale.

Posted in Autonomous Database, Top_Tip | Tagged , , , | Leave a comment

OpenWorld 2019 Wrap Up

I can’t believe Oracle Open World is done for another year.

But what a great conference it was for those interested in the Oracle Database. We saw the introduction of Oracle Database 20c and of course the continuing evolution of the Oracle Autonomous Database with details on new deployment option (Dedicated) and new flavors (Document Store).

If you weren’t able to make it to OOW in person, don’t panic as a lot of the session presentations are now available for download in the OOW session catalog. You can download the slides by clicking the down arrow on the right-hand side of each session title as shown below.

Alternatively, you can check out the video playlist below which provides you with a great technical introduction to the Next generation Oracle Database and how we see it changing the way we develop and deploy applications.

Posted in Events, OOW | Tagged , , | Leave a comment

FREE Oracle Autonomous Database

Today was the first day of Oracle Open World and during Larry Ellison’s afternoon keynote he made a number of extremely exciting announcements around Oracle Autonomous Database including the launch of an Always Free Tier for Developers and students in the Oracle Cloud.  Larry said, “as long as you use the service, it will be there, free forever.”

So what’s included?

Along with compute and storage services, you also get access to 2 Autonomous Database with 20GB of storage each absolutely free. So you can try out both an Autonomous Data Warehouse and an Autonomous Transaction Processing system.

Larry also announced Oracle Autonomous Database Dedicated Deployment, which is aimed at folks who are looking to rethinking Database I.T. by providing them a private Database cloud on the Oracle public Cloud.



Continue reading

Posted in Autonomous Database, OOW | Tagged , | Leave a comment

Are you ready for Oracle OpenWorld 2019?

With less than a week to go until Oracle Open World kicks off, I thought I would share with you what you can expect.

Of course the whole Database team will be there and you will have multiple opportunities to meet up with us, in one of our technical sessions, our hands-on-labs or at the Oracle demogrounds.

Below are just some of the session I thought might be interesting to help get you started:

Continue reading

Posted in Autonomous Database, Events, OOW | Tagged | Leave a comment

Can I use an Autonomous Database to develop new applications?

Yes, Oracle Autonomous Database (ADB) is the ideal platform for new application development.

With this family of cloud services, developers no longer have to wait on others to provision hardware, install software, and create a database for them. With ADB, developers can easily and instantly deploy an Oracle database without worrying about having to manual tune it or capacity planning. This allows developers to start developing in minutes and concentrate on solving business problems without all of the usual distractions.

ADB has the most advanced SQL and PL/SQL support accelerating developer productivity by minimizing the amount of application code required to implement complex business logic. It also has a complete set of integrated Machine Learning algorithms, simplifying the development of applications that perform real-time predictions such as personalized shopping recommendations, customer churn rates, and fraud detection.

What Development Tools should I use with ATP?

As soon as you have provisioned an ADB instance you have access to all of the great features of SQL Developer without having to download any additional software. Each ADB instance comes with its own SQL Developer Web (SQLDev Web).  SQLDev Web provides developers with a worksheet for running queries and scripts, dialogs for creating and editing object, a DBA console for managing the database, and data modeling features.

You can access SQLDev Web via the service console as shown in the video below.

For more information on using SQLDev Web with ADB check out Jeff Smith’s (Master Product Manager for all things SQL Developer and ORDS) recent blog post.

Oracle Application Express (APEX), a low code development framework is also pre-configured, and ready to go out of the box, with ADB.  APEX enables you to design, develop and deploy database-driven applications using only your web browser.

This easy ­to ­use development environment enables developers to quickly load data, manage database objects, develop REST interfaces, and build applications which look and run great on both desktop and mobile devices. Much of the development process is managed for you: security, authentication, database interactions, input validation, session state management and many other dependencies work out of the box.

Access to the APEX environment is also available via the service console. Remember the first time you click on APEX you need to login in to the administrators service in order to create a workspace. You can find the administration service by scrolled down to the bottom of the APEX login screen as shown in the video below.


You can get more information on how to connect to ATP from a number of other development environments including Java, NodeJS and Python in Chapter 2 of the ADB documentation

For more information on all developing new applications on ADB check out Jeff Smith’s  YouTube tutorials:

Posted in Autonomous Database, Oracle Database 18c, Oracle Database 19c | Tagged , , , | Leave a comment

Cloning an Oracle Autonomous Database

Often times development and testing teams need a copy of a production database in order to develop or test using a representative dataset. Up until now, creating these cloned  environments has been a challenging and time consuming process for DBAs.

Oracle Autonomous Database makes it extremely easy for a DBA to clone a database in just a few mouse clicks, as I demonstrate in the video below.

When it comes to cloning an Autonomous Database  you have two options:

You can create a new database that is a complete copy of the original database, which includes all metadata (table and view definitions etc.) and all of the actual data. This is referred to as a FULL CLONE.

Or you can create a new database that only contains the metadata from the original database.  This is referred to as METADATA CLONE.

Either way the “cloned” database will have a completely new database name, admin password. It can also have different infrastructure criteria (CPU count and storage) from the original database.

The clone will also not have any of the AWR data  or any of the ML Worksheets from original database.

Of course you don’t need to use the UI every time you want to create a clone. All of the tasks that can be done via the UI can be done using REST APIs or CLI commands.

Continue reading

Posted in Autonomous Database | Tagged , | Leave a comment

Oracle Database 19c is now available!

Today, April 25th, Oracle Database 19c became available to downloaded from

Oracle Database 19c is the final member of the 12.2 family a.k.a and is therefore the ‘long term support’ release. This means it will come with 4 years of premium support and 3 years of extended support. Making this release the version of the database that most folks are going to upgrade to next.

So, what can you expect?

There are hundreds of useful enhancements in Oracle Database 19c as well as a several new features. Dom Giles‘s latest post on the Oracle Database Insider blog has all the details on the new release, while I’ve listed just a couple of my personal favorites below.

Continue reading

Posted in New Features, Oracle Database 19c | Tagged , , | Leave a comment

Oracle RAC on Docker just got simplier

Early this year, I wrote a blog to let you know that Oracle Database RAC was available on Docker.  However, in that blog I described a number of manual steps that were required to rebuild the image before you could start using the RAC database.

I’m now delight to announce that you can simple download a Oracle Database RAC Docker image (under database) from the container registry, which has a pre-installed / pre-built image. Making it easier to have a RAC database for your  demos, development or test environments.


Posted in Docker, RAC | Tagged , | Leave a comment

Oracle Open World Wrap Up

Oracle Open World this year was a crazy busy week catching up with customers, Oracle Aces, Development Champions and partners as we all crammed into the Moscone center to hear the very latest on Oracle Technologies.

For the database, this year’s conferences saw the introduction of Oracle Database 19c and of course the continuing evolution of the Oracle Autonomous Database Cloud Services.

If you weren’t able to make it to OOW in person, don’t panic as a lot of the session presentations are now available for download in the OOW session catalog.

Continue reading

Posted in Autonomous Database | Tagged | Leave a comment

Day 2 of Open World 2018

Oracle OpenWorld started yesterday and San Francisco is just buzzing with Oracle folks and the excitement generated by the Oracle Autonomous Database.

If you missed Larry Ellison’s keynote yesterday the short video below will service as a good recap!

If you are interested in more information on the Autonomous Database and how it’s changing the roll of the DBA, be sure to check out the following sessions today:

  • An Insider’s Guide to Oracle Autonomous Transaction Processing
    Session TRN3979 at 11:15am in Moscone West – room 3003
    Robert Greene and I will provide an insiders view to the technology underlying Oracle Autonomous Database  and give you a guided tour of getting started with the Oracle Autonomous Transaction Processing.
  • Test Drive Automatic Index Creation in Oracle Autonomous Database Cloud
    Session TRN3980 at 4:45pm in Moscone West – room 3003
    After hearing all about Autonomous Transaction Processing in the morning session, we are sure you will be ready for a deeper dive into the Automatic Indexing capabilities. Mohamed Zait (lead architect on the Optimizer team) and I will explain exactly how Automatic Indexing works and share with you the results of this awesome capability in action.

You can also get your Autonomous Database laptop stickers at either of these sessions!

Posted in OOW | Tagged | Leave a comment