The Cloud! You may have heard a few things about Cloud services and Oracle over the past few years. What I’m going to talk about today is our Database Schema Service offering.
It’s what it sounds like, pretty much. On a kick-butt Exadata box, you get your own schema in a database that we take care of for you. The data dictionary has been modified to make any cross-schema contamination impossible. So you just see you, no one else can see you, and the dictionary views only reference your account.
I have a new account up and running. It can be managed all through our web portal. You can create and manage users, your APEX installation, and consult your service dashboard to see what’s going on.
After signing up for your service you’ll receive an email to activate your account, and then another with your account details plus links to maintain your subscription.
The only real thing I needed to do to get started right away was to reset my main and sftp account passwords.
With that done, I can start shoving data and objects up into the service.
Uploading Local Data to My Cloud Service
Before I can move anything up, I need to define my connection. Everything you need to know to connect is available in your welcome email or in your service dashboard. I did have to reset my SFTP user password, but that takes two seconds.
Once you know the password, you can define your Cloud connection in SQL Developer.
DEFINING YOUR CONNECTION – FOR BROWSING (HTTPS) AND UPLOADING DATA (SFTP or OSS)
Identity Domain, Service Name, User Name, Password: You can find these details in the Welcome to Oracle Cloud email that you received for the OSS service.
By the way, you can always also use Application Express (APEX) to mess around with your schema objects…
But I’m the tools guy, specifically, Oracle SQL Developer.
So let’s go back to SQLDev.
I can browse my objects. I get a connection tree, just like with ‘normal’ connections:
Why can’t I edit anything with SQL Developer?
Well, we’re not connecting with SQL*Net or JDBC. Nope, we’re making REST calls over the HTTPS. So on the service side, I have some RESTful Services configured to help SQL Developer show this information.
We’ll be adding more services to allow for more work to be done via SQL Developer. Stay tuned!
Move the data up already!
Remember the Cart?
Well, with the Cart, I can drag ‘local’ database objects – really any Oracle database object reachable via standard JDBC connections, and copy them up to my Schema As A Service Cloud account.
Do you want the data? Do you want the DDL? Do you want both? Add any filters you want to apply. And that’s it. Just hit the deploy button.
There’s a ‘cloud’ button in the main Cart toolbar. Click it.
Then answer these questions:
Once you hit OK, you’ll see a progress dialog. It will give you feedback on the objects being exported to a local file on your machine – this is the ZIP file being referenced in the above dialog. It’s creating a series of DDL and SQL*Loader data streams, that will be uploaded to a staging FTP server. A daemon process will see your zip sitting there, and scan it for viruses and other bad, naughty things, and then process the scripts into your schema service.
You can see this via the Deployments item in the tree.
If I click on the deployment in the tree, you can get an update on your upload request. It will move from APPROVED to RUNNING to PROCESSED.
And then when we’re done…
According to the logs, my upload took only 2 minutes from start to finish. I created 2 tables and uploaded about 12,000 records.
Browse Your New Data
The ‘split editors’ trick works here too – so I can view my Schema As A Service table definition and its data in one panel.
New data, what to do with it?
Maybe you are familiar with the free customer evaluation instance of Oracle Application Express at apex.oracle.com? If you want to go from a ‘play’ space to a production ready space, the Schema As A Service offering is worth an evaluation.
The Cloud Service starts out with APEX already up and running. And in a few seconds I’ve modified the default application to let me play with my data. I could have just as easily uploaded my own local APEX app though…
This whole thing runs on REST
Perhaps you’ve heard of Oracle REST Data Services (ORDS?) It is powering the entire backbone of this Cloud service. RESTful endpoints are serving up the data to populate all of these screens – including the ones you see in SQL Developer. So, we’re using our own stuff to build you new stuff. Which in turn drives us to make our stuff even better. Which benefits you, whether you use our Cloud service or not.
Whew, way too many words today.
My next post will show how to use a command line call in SQL Developer to upload a cart to the Cloud service. I promise it will be MUCH shorter.