Review by James F. Koopmann

XClone from is a completely automated solution for cloning Oracle databases and Oracle applications. As far as I have been able to determine these guys are the only company that clones both and accomplishes it in a fully automated fashion.

The Problem
To me, this is a very easy question and I can actually draw on two relevant and timely issues I have been facing. Over the last two years I have been working for a client that continually asks for me to “build” test systems from production so that various sets of performance monitoring or application testing can be done. This is very laborious and time consuming for me. More often than I would like to admit, these tasks require me to work strange hours of the night just so these systems can be available by 7:00am.

The other problem I have is the promotion of databases from development, to Test or Integration, then to QA, and finally to Production. This staging and promotion model is hard to maintain, especially when the integrity of those various cloned databases must be maintained across multiple testing scenarios.

This is a REAL problem for me that exist daily. There are times I am building up to 5 or 6 databases every day just to keep up with the requests. To date, I have done all of this by scripting and just recently have been able to schedule some of it through cron and AT. But even after scheduling and scripting most of this process, I still spend 60% of my day doing cloning operations which don’t just include a database copy but migration of schemas and data. I have very little time or energy to commit to other DBA tasks. So YES, this is an issue as I just can’t get out of the trenches.

Getting XClone Installed
The installation of XClone was quite simple. I should think that you too could get XClone up and running in a few minutes as I did.

Run the Wizard
After the download, a simple click of the mouse spawns an Install Shield wizard. Just as I hope you would expect. Click next, accept the license agreement, click next again, give your vital information, choose the typical install option, next again, and phew, you are off and running the installer. I have actually tried this a few different times and have gone through the un-install procedures as well. Everything works just as prescribed for laying down the software and removing it. This may seem a small point but I personally hate software that lingers around.

You might want to read a little documentation
Now this is a point where I made my first mistake. I, like many techies want to install and get up and running without reading any documentation. This is where understanding a little bit about how the product works and reading a little documentation goes a long way. Like many, if not all, products XClone is a client server application that has a client piece and a server piece. As such you should be expected to install not only the client software but also some server code.

UGH! Don’t forget the license key
By going through the Install Shield wizard you basically installed the client piece. But if you didn’t read any of the documentation and didn’t read any of the information on the Babboo download page you would have missed the part where you need to get a license key. So if you missed this go back to the download page and there is a link for requesting a FREE License key on the right hand menu. Don’t worry, this is all automated and you won’t get a call from a salesperson. What you will get is a simple email that contains the license key in an attachment. Just follow the email’s directions for installing the license key.

Install the XClone Server Software
Installing the client pieces of a toolset always seem to be the easiest. It is those server pieces that we tend to dread. Mostly because we have to get our feet wet and we get paranoid about touching our precious database servers. I think Babboo has at least made this process as simple and painless as possible. The process is as simple as unzipping some files, setting an environment variable (Unix only), and running a script to start the server agent. Don’t really know how much easier it could be.

Using XClone - Let’s XClone Something
When starting XClone for the first time, you will need to define a master database instance which you will be cloning from. For XClone this is a simple process of answering a few questions through a wizard. Such as giving the instance name, the Oracle version, giving a node definition for the server your master instance resides on. And consists of nothing more than giving IP address, hostname, port number for the XClone server agent, domain name, operating system, and an ORACLE_HOME. This is much like you would do to set up your Oracle TNS information. I also liked that there is also a quick little test button to validate the connection information you have just entered. This tests the connection from the XClone client to the XClone server agent. The first time I did this I had forgotten to start my XClone server and thus I got an error. So just make sure you have started your XClone server. If you bounced your server you may also want to check that the server started after the reboot.

If you follow the complete process in the QuickStart Guide, and scan your master instance’s environment, what you will now have is a complete definition of your master environment that can now be cloned. I would suggest you take a look at what XClone found through the scan process and add or change the components that will be cloned if need be. But since XClone found everything in my current environment I didn’t need to add or change anything.

Onto the Clone
The first time I ran XClone I decided to follow the QuickStart Guide to the letter. At which time I created a Full Environment Clone. This replicated all my Oracle software and my master database. It was quick and painless. This time through I am going to just try the option to clone a database without the Oracle software. This is called a Shared Environment clone where the clone created will actually be sharing the Oracle binaries with other instances. This is one thing I really like about XClone. It is so configurable and gives so many options, yet is simple to use. It is very configurable and will basically suite any Oracle installation’s needs. But more of that in the next two posts after today.

So after dragging my master instance icon into the “Cloning Area” I am prompted with the question of which type of clone to produce, I select Shared Environment Clone. After this, through another wizard, you are prompted with various parameters that define the environment you are cloning to. Not to worry about too many questions though. About all you need to do is give the name for the new instance. XClone will translate this and pre-fill all the other variables needed. Of course you could change these variables that XClone comes up with, which is nice, but I have found that it really isn’t necessary in most instances. All I really changed was my TNS port number for the new instance. After being given a re-cap / Action Summary, all that is needed is a click on the Finish button and let the cloning begin. At this point you can just sit back and watch. Or go get your self a cup of coffee as XClone now will do everything for you. Since I am doing this clone of a relatively small database, I like to sit and watch the output in the display screen.

Now the ultimate test is validating the new environment. Can I connect to it? Are all the files in place? Do I have a entry in TNS? How does my oratab file look? Well all I can say is that everything I looked at was in its’ place, and ready to use. I didn’t need to do anything else. Another benefit here is that this configuration to clone between my master and this new defined node has been saved to use later. I can schedule it to happen whenever I want and XClone will just do the work. How easy is that? Personally I have never had a cloning session for a database be so efficient and easy to use. To do this all by hand is a thing of the past. At least for me!

I have worked in a variety of database shops in my days. Some of them required me to create database environments at the drop of a hat. Others did not. But the ones that did they expected these new database environments to be created quickly and effortlessly. What they didn’t know is that it actually takes a lot of time behind the scenes to do properly, timely, and without error. Typically when I worked in these types of shops the cloning function of my job took anywhere from 40-70 percent of my time. And it was a full time job whenever I decided to try and develop a real set of procedures that were repeatable. Where these procedures ever complete? Did they provide a complete solution? No they didn’t! It was always a “work in progress” that I tried to hide from my managers.

Well, my hat is off to and XClone. I know I can use this tool. XClone is what I would like to think of as a full-service cloning solution for Oracle Database environments. As I have said, I have cloned database environments before by scripts and by a variety of Oracle type utilities. All of which were not a complete solution to cloning, took me many hours to get working, and just had too many pieces and interfaces to put together properly.

XClone on the other hand has put together in one complete package a wonderful collection of cloning techniques and options that can clone not only Oracle databases but also Oracle software, including the Oracle Applications.

If you find yourself replicating or copying databases around your organization you can benefit from a real cloning solution such as XClone.

Take a look: