Not long ago Oracle added a new offer to their Cloud - an OBIEE in a Cloud with full access. Francesco Tisiot made an overview of it and now it's time to go a bit deeper and see how you can poke it with a sharp stick by yourself. In this blog, I'll show how to get your own OAC instance as fast and easy as possible.
Before you start
The very first step is to register a cloud account. Oracle gives a trial which allows testing of all features. I won't show it here as it is more or less a standard registration process. I just want highlight a few things:
- You will need to verify your phone number by receiving an SMS. It seems that this mechanism may be a bit overloaded and I had to make more than one attempts. I press the Request code button but nothing happens. I wait and press it again, and again. And eventually, I got the code. I can't say for sure and possible it was just my bad luck but if you face the same problem just keep pushing (but not too much, requesting a code every second won't help you).
- Even for trial you'll be asked for a credit card details. I haven't found a good diagnostics on how much was already spent and the documentation is not really helpful here.
OAC instances are not self-containing and require some additional services. The absolute minimum configuration is the following:
- Oracle Cloud Storage (OCS) - is used for backups, log files, etc.
- Oracle Cloud Database Instance (DBC) - is used for RCU schemas.
- Oracle Analytics Cloud Instance (OAC) - is our ultimate target.
From the Cloud services point of view, architecture is the following. This picture doesn't show virtual disks mounted to instances. These disks consume Cloud Storage quota but they aren't created separately as services.
We need at least one Oracle Database Cloud instance to store RCU schemas. This database may or may not have a separate Cloud Storage area for backups. Every OAC instance requires Cloud storage area for logs. Multiple OAC instances may share one Cloud storage area but I can't find any advantage of this approach over a separate area for every instance.
We create these resource in the order they are listed earlier. Start with Storage, then DB and the last one is OAC. Actually, we don't have to create Cloud Storage containers separately as they may be created automatically. But I show it here to make things more clear without too much "it works by itself" magic.
Create Cloud Storage
The easiest part of all is the Oracle Cloud Storage container. We don't need to specify its size or lots of parameters. All parameters are just a name, storage class (Standard/Archive) and encryption.
I spent some time here trying to figure out how to reference this storage later. There is a hint saying that "Use the format: <storage service>-<identity domain>/<container>. For example: mystorage1-myid999/mybackupcontainer." And if identity domain and container are pretty obvious, storage service puzzled me for some time. The answer is "storage service=
Storage". You can see this in the top of the page.
It seems that Storage is a fixed keyword, rurittmanm is the domain name created during the registration process and demo is the actual container name. So in this sample when I need to reference my demo OCS I should write
Create Cloud DB
Now when we are somewhat experienced in Oracle Cloud we may move to a more complicated task and create a Cloud DB Instance. It is harder than Cloud Storage container but not too much. If you ever created an on-premise database service using
DBCA, cloud DB should be a piece of cake to you.
At the first step, we set the name of the instance and select the most general options. These options are:
Service Level. Specifies how this instance will be managed. Options are:
- Oracle Database Cloud Service: Oracle Database software pre-installed on Oracle Cloud Virtual Machine. Database instances are created for you using configuration options provided in this wizard. Additional cloud tooling is available for backup, recovery and patching.
- Oracle Database Cloud Service - Virtual Image: Oracle Database software pre-installed on an Oracle Cloud Virtual Machine. Database instances are created by you manually or using DBCA. No additional cloud tooling is available.
Metering Frequency - defines how this instance will be paid: by months or by hours.
Software Release - if the Service Level is Oracle Database Cloud Service, we may choose 11.2, 12.1 and 12.2, for Virtual Image only 11.2 and 12.1 are available. Note that even cloud does no magic and with DB 12.2 you may expect the same problems as on-premise.
Software Edition - Values are:
- Standard Edition
- Enterprise Edition
- Enterprise Edition - High Performance
- Enterprise Edition - Extreme Performance
Database Type - defines High Availability and Disaster Recovery options:
- Single Instance
- Database Clustering with RAC
- Single Instance with Data Guard Standby
- Database Clustering with RAC and Data Gard Standby
Database Clustering with RAC and Database Clustering with RAC and Data Gard Standby types are available only for Enterprise Edition - Extreme Performance edition.
The second step is also quite intuitive. It has a lot of options but they should be pretty simple and well-known for anyone working with Oracle Database.
The first block of parameters is about basic database configuration. Parameters like
DB name (sid) or
Administration Password are obvious.
Usable DataFile Storage (GB) is less obvious. Actually, in the beginning, it puzzled me completely. In this sample, I ask for 25 Gb of space. But this doesn't mean that my instance will take 25 Gb of my disk quota. In fact, this particular instance took 150 Gb of disk space. Here we specify only a guaranteed user disk space, but an instance needs some space for OS, and DB software, and temp, and swap, and so on.
A trial account is limited with 500 Gb quota and that means that we can create only 3 Oracle DB Cloud instances at max. Every instance will use around 125 Gb of let's say "technical" disk space we can't reduce. From the practical point of view, it means that it may be preferable to have one "big" instance (in terms of the disk space) rather than multiple "small".
- Compute shape specifies how powerful our VM should be. Options are the following:
- OC3 - 1.0 OCPU, 7.5 GB RAM
- OC4 - 2.0 OCPU, 15.0 GB RAM
- OC5 - 4.0 OCPU, 30.0 GB RAM
- OC6 - 8.0 OCPU, 60.0 GB RAM
- OC7 - 16.0 OCPU, 120.0 GB RAM
- OC1m - 1.0 OCPU, 15.0 GB RAM
- OC2m - 2.0 OCPU, 30.0 GB RAM
- OC3m - 4.0 OCPU, 60.0 GB RAM
- OC4m - 8.0 OCPU, 120.0 GB RAM
- OC5m - 16.0 OCPU, 240.0 GB RAM
We may increase or decrease this value later.
- SSH Public Key - Oracle gives us an ability to connect directly to the instance and authentication is made by
private keypair. Here we specify a public key which will be added to the instance. Obviously, we should have a private key for this public one. Possible options are either we provide a key we generated by ourselves or let Oracle create keys for us. The most non-obvious thing here is what is the username for the SSH. You can't change it and it isn't shown anywhere in the interface (at least I haven't found it). But you can find it in the documentation and it is
The second block of parameters is about backup and restore. The meaning of these options is obvious, but exact values aren't (at least in the beginning).
Cloud Storage Container - that's the Cloud Storage container I described earlier. Value for this field will be something like
Storage-rurittmanm/demo. In fact, I may do not create this Container in advance. It's possible to specify any inexistent container here (but still in the form of
Storage-<domain>/<name>) and tick
Create Cloud Storage Containercheck-box. This will create a new container for us.
Username and Password are credentials of a user who can access this container.
The last block is Advanced settings and I believe it's quite simple and obvious. Most of the time we don't need to change anything in this block.
When we fill all parameters and press the Next button we get a Summary screen and the actual process starts. It takes about 25-30 minutes to finish.
When I just started my experiments I was constantly getting a message saying that no sites available and my request may not be completed.
It is possible that it was again the same "luck" as with the phone number verification but the problem solved by itself a few hours later.
Create OAC Instance
At last, we have all we need for our very first OAC instance. The process of an OAC instance setup is almost the same as for an Oracle DB Cloud Instance. We start the process, define some parameters and wait for the result.
At the first step, we give a name to our instance, provide an SSH public key, and select an edition of our instance. We have two options here Enterprise Edition or Standard Edition and later we will select more additional options. Standard edition will allow us to specify either Data Visualisation or Essbase instances and Enterprise Edition adds to this list a classical Business Intelligence feature. The rest of the parameters here are exactly the same as for Database Instance.
At the second step, we have four blocks of parameters.
Service Administrator - the most obvious one. Here we specify an administrator user. This user will be a system administrator.
Database - select a database for RCU schemas. That's why we needed a database.
Options - specify which options our instance will have.
- Self-Service Data Visualisation, Preparation and Smart Discovery - this option means Oracle Data Visualisation and it is available for both Standard and Enterprise Editions.
- Enterprise Data Models - this option gives us classical BI and available only for Enterprise Edition. Also, this option may be combined with the first one giving us both classical BI and modern Data discovery on one instance.
- Collaborative Data Collection, Scenarios and What-if Analysis - this one stands for Essbase and available for Standard and Enterprise Editions. It can't be combined with other options.
- Size is the same thing that is called Compute Shape for the Database. Options are exactly the same.
- Usable Storage Size on Disk GB also has the same meaning as for the DB. The minimum size we may specify here is 25 Gb what gives us total 170 Gb of used disk space.
Here is a picture showing all possible combinations of services:
And here virtual disks configuration.
data disk is the one we specify.
The last block - Cloud Storage Configuration was the hardest one. Especially the first field - Cloud Storage Base URL. The documentation says "Use the format: https://example.storage.oraclecloud.com/v1" and nothing more. When you know the answer it may be easy, but when I saw it for the first time it was hard. Should I place here any unique URL just like an identifier? Should it end with v1? And what is the value for the second instance? V2? Maybe I should place here the URL of my current datacenter (https://dbcs.emea.oraclecloud.com). The answer is
https://<domain>.storage.oraclecloud.com/v1 in my case it is
https://rurittmanm.storage.oraclecloud.com/v1. It stays the same for all instances.
All other parameters are the same as they were for DBCS instance. We either specify an existing Cloud Storage container or create it here.
The rest of the process is obvious. We get a Summary and then wait. It takes about 40 minutes to create a new instance.
Note: diagnostics here is a bit poor and when it says that the instance start process is completed it may not be true. Sometimes it makes sense to wait some time before starting to panic.
Now we may access our instance as a usual. The only difference is that the port is 80 not 9502 (or 443 for SSL). For Data Visualisation the link is
http(s)://<ip address>/va, for BIEE -
http(s)://<ip address>/analytics and for Essbase
http(s)://<ip address>/essbase. Enterprise Manager and Weblogic Server Console are availabale at port
7001 which is blocked by default.
What is bad that https uses a self-signed certificate. Depending on browser settings it may give an error or even prevent access to https.
Options here either use HTTP rather than HTTPS or add this certificate to your local computer. But these aren't the options for a production server. Luckily Oracle provides a way to use own SSL certificates.
Typical Management Tasks
SSH to Instances
During the setup process, we provide Oracle with a public key which is used to get an SSH access to instances. Cloud does nothing special to this. In the case of Windows, we may use Putty. Just add the private key to Pageant and connect to the instance using user
By default only the absolute minimum of the ports is open and we can't connect to the OAC instance using BI Admin tool or to the DB with SQLDeveloper. In order to do this, we should create an access rule which allows access to this particular ports.
In order to get to the Access Rules interface, we must use instance menu and select the Access Rules option.
This will open the Access Rules list. What I don't like about it is that it opens the full list of all rules but we can create only a rule for this particular instance.
New rule creation form is simple and should cause no issues. But be careful here and not open too much for a wild Internet.
Add More Users
The user who registered a Cloud Account becomes its administrator and can invite more users and manage privileges.
Here we can add and modify users.
When we add a user we specify a name, email and login. Also here we set roles for the user. The user will get an email with these details, and link to register.
Obviously, the user won't be asked about a credit card. He just starts working and that's all.
My first steps with Oracle Analytics Cloud were not very easy, but I think it was worth it. Now I can create a new OBIEE instance just in a few minutes and one hour later it will be up and running. And I think that's pretty fast compared to a normal process of creating a new server in a typical organisation. We don't need to think about OS installation, or licenses, or whatever else. Just try it.