Ever since the latest, greatest version of the Oracle Database, Oracle Database 12c, was released and the new SQL Developer 4.0 was released I’ve been itching to get my hands on it. So, with an intrepid heart I decided to download them and install them on my laptop. While the “cloud” aspects of ODB 12c and multitenancy have been the big news since Oracle OpenWorld 2012 (or even OOW 2011), it is the myriad enhanced capabilities of ODB 12c from an analytics and data modeling perspective that have had me most excited. It was this intersection of Oracle’s focus and my specific interests combined with a somewhat situation specific skillset that set in motion a collision of misunderstandings and installation mistakes. (I don’t know about anyone else, but I often feel like I’m in a foreign country where in many situations I follow the language and even can lead activities, but in other situations I lack some vocabulary and miss important points in the conversation.) After some friendly help, it’s all installed and I’m now busy building workflows in Oracle Data Miner in SQL Developer 4.0 and turning them loose on my database (more about the cool new features related to data mining in a future post.)
A few quick caveats: I decided to install the database directly on my PC and not in a VM (mostly because I wanted to work in a Windows environment and not Linux). I also wanted a "native" install despite the fact that a few of my colleagues here at Vlamis thought I was brave/foolish to install a "first" release version and not have it isolated in a VM.
Here are a few of the “gotchas” I encountered.
Decide in advance if you want to disable multitenancy.
I decided to install the Enterprise Edition of the Oracle Database with all the analytic options (my major interest), but from Oracle’s perspective, most installing 12c EE will want the “cloud” option so creating a “container” database is the default. A container database is the “master” database that can have more than one “pluggable” databases within it. (You will see the acronyms CDB for “Container Database” and “PDB” for “Pluggable Database” during the installation process.) The “container database” checkbox must be *deselected* during installation to create a single instance database. This eliminates the additional abstraction layer of having a Container Database with Pluggable Databases within it. I might decide to play with this in the future (and can see some advantages even within a PC “sandbox” situation), but configuring the various users is a chore. Although I had both the installation documentation and the Oracle By Example for installing 12c open (and some blogs for good measure) and I was diligently following along and choosing all the “default” options, it didn't go as planned. I’m not positive where I made my fatal error, but I believe it happened when I thought I was configuring the Pluggable Database and was actually working in the Container Database (CDB$ROOT). In any case, I ended up deinstalling and starting over from scratch. Thank goodness that I had no problems with the deinstallation scripts and didn’t end up having to rip out a lot of things manually (although to be honest, I didn’t obsess over trying to return my machine to its exact previous state.)
Install the software first then configure your database instance
On the second try, I chose to install the software first and then to create a database instance manually in a separate series of steps. Success! I used the “Advanced Install” type so that I could more carefully make choices and not assume that Oracle would know what I wanted to do with the database. For example, I chose the “data warehouse” option rather than the default since I know that I want to play with OLAP, Spatial, and Data Mining and load some sample datasets for analysis. I won’t be doing any transactional processing at all.
Make sure you use the new version of SQL Developer 4.0 with the correct Java executable
As I should have known, my machine got confused between the java.exe files and the various versions of Java that I have installed on my pc. I ended up commenting the different SQL Developer versions so that I can easily tell them apart.
In summary, when you’re wanting a “sandbox instance” of 12c
- Deselect “Container Database” unless you specifically want the additional layers.
- Take the longer “manual” approach and install software and configure your database separately.
- Take care with Java and SQL Developer.
Now I get down to what I really wanted to do. Try out the new text mining features in ODM using Data Miner in SQL Developer and play with setting up text corpus structures using the Data Modeler extension in SQL Developer. I have a notion to compare it with using Oracle R Enterprise for text mining and Endeca. I'll report my experiences in a future blog.