I often see people afraid to try even the simplest of tasks on their Oracle databases, asking “Can I <fill in the blank>?” When it is suggested they try for themselves and see what happens, the common excuse is “I don’t have a test system.”
Every oracle professional (or student) should have their own private computer lab. I’m assuming in this day and age anyone in this category already has their own computer, and that is all the financial investment you need. Starting from there, you should do the following:
- Download and install Oracle VM Virtual Box on your personal computer. This is a virtualization product that allows you create complete virtual machines on your desktop/laptop computer. Total cost: $0.00.
- Download Oracle Linux. Oracle freely distributes this, only charging if you want a support contract. Total cost: $0.00.
- Using your downloaded linux, create a virtual linux machine.
- Go to oracle.com and download whatever database or related product you want. The terms of the oracle license agreement allow you the full use of any product for personal study. Total cost: $0.00
By doing the above I have a full computer lab running on my Windows laptop, for a total cost of … (drum roll, please) …. zero dollars, US.
By building such a private lab I am able to create multiple virtual systems that communicate over a private virtual network and so are totally isolated from my corporate network and/or my ISP. This is how I worked out the details for my first Data Guard configuration before committing to my organization’s live databases. People have also used this type of private lab to get their first hands-on with RAC.
Each vm is a task to the host operating system, running in its own window with represents the machine’s console. However, I treat that console like I do the consoles of my physical servers that live behind a locked door in a lights-out data center. With my various virtual machines up and running, I access them with tools on the host desktop, exactly the same as the servers in my data center. I use PuTTY for command line ssh connections and sqlplus and SQL Developer for database access. If I have a virtual machine running Windows, I access it with Windows Remote Desktop.
The number of virtual machines you can have created will be limited by your available disk space, and the number you can have up and running at one time will be limited by the amount of memory available on the host system. Most consumer class systems these days seem to come with a minimum of 500gb of disk, which is more than sufficient for three or more virtual servers. You will want a minimum of 4gb of RAM for a single VM, and 8gb of RAM to have 2 or 3 vm’s running at once.
Don’t expect blazing performance but that is not the purpose. What is the purpose is to have your own test system available at any time to test whatever you want to test, with zero risk of damaging a production system. (And don’t forget that for your developers, the “test” system is production!)
I have deliberately not provided any details on locating, downloading, installing, etc. I leave that as a valuable learning exercise. Oracle does provide some completely configured “appliance” virtual machines, but I strongly feel that using them cuts out a valuable learning experience for the aspiring DBA. My understanding of networks and operating system administration benefited greatly by working through all the detail myself, with the assistance of various subject-matter user forums and other assets on the internet.
So quit complaining about not having a test system and go build your own! No excuses!