Since Oracle is a product designed to be shared, it isn't necessary to have your own private copy of Oracle on your own private machine. You just need an account in an Oracle installation where the administrator will let you experiment with PL/SQL. You can use your desktop machine merely as a tool through which you connect to a database on a different machine. If you don't have that, though, you might have to set up your own Oracle database.
A D V E R T I S E M E N T
In the simplest arrangement, you would have the Oracle server running on a machine on your desk, where you would also do all your development. There are four things you will need:
- Access to a "big enough" machine running an operating system supported by Oracle
- A licensed copy of Oracle's server software, available free (with some restrictions) from Oracle's web site
- A text editor
- An installlation menual
Hardware and Operating System
If you want to install the Enterprise Edition of Oracle9i on a typical Unix machine, Oracle says you need at least the following:
- 256 megabytes of RAM
- 2.5 gigabytes of disk for software and starter database
- 400 megabytes (or more) of swap space during installation
Or, if you want to run the older release, Oracle8i, on a Windows NT or 2000 machine, you'll need a machine something like this:
- Pentium 166MHz or better processor
- 96-megabyte RAM (256 megabytes is recommended)
- 2 gigabytes of disk space
The actual hardware requirements depend on the Oracle version and options you want to use (and, to a lesser extent, on the operating system). As for the operating system, Oracle generally provides licenses for developers (see the next section) on the following:
- Windows NT, Windows 2000, and Windows XP, Professional (some Oracle versions are even available for Windows 98)
- Intel Linux
- Sun Sparc Solaris (a Unix flavor that runs on Sun and Sun-compatible hardware)
- Some Oracle versions are available for other Unix flavors such as Compaq Tru64 Unix and IBM's AIX
It is probably not sufficient to have the version of the operating system that happened to come "out of the box" with the hardware. In addition to matching the exact version number that Oracle supports, you must ensure that the operating system on the machine has the proper patches (or service packs) installed.
Obtaining the proper version of an operating system for your version of Oracle, and then applying the necessary patches, is usually a task big enough to be annoying. Be sure to follow the instructions in whatever documentation Oracle supplies that is specific to your platform. You should always check the documents that have the name Installation Guide or Release Notes or README in the title. These documents should also contain the exact hardware requirements.
Oracle offers a single-user, development-only license for free, as long as you agree to a lot of legal fine print. To obtain a copy of the Oracle server software for use by an individual developer, you can visit the Oracle Technology Network (OTN) web site, sometimes known as Technet, at http://otn.oracle.com. If you have a very fast Internet connection or a lot of time, you can actually download a copy of the software itself. Be warned, though--you may have to download more than a gigabyte of stuff!
If a 48+ hour (at 56K) Internet download isn't your idea of fun, you may be able to order what they call a "CD Pack," currently around $40 in the U.S., or possibly a "Technology Track" subscription, which I bought at one point for about US$200/year. Maybe they have some new deal by now.
When downloading or ordering, you will at some point have to designate which version of which Oracle server you want. After identifying your hardware, you need to choose a version of the database server. My suggestion for beginners is to get the latest available version of the Enterprise Edition unless your organization has a specific requirement for you to learn or support something else. The Personal Edition is probably okay too; I believe it actually includes almost all the features of the Enterprise Edition.
Ihe installer varies according to Oracle version and behaves slightly differently on different platforms. In addition to Oracle's Installation Guide (IG) appropriate to your platform, look in particular for:
- A file in the root directory of the installation media called index.htm or index.html. If you find it, open it in your web browser.
- Anything in a relnotes (Release Notes) subdirectory.
- Anything with README in its filename (and also the lowercase readme, if your operating system is case-sensitive), especially files with rdbms in their names.
- Anything in a doc subdirectory, especially if there is a subdirectory rdbms/doc.
Some of these documents may be available on the OTN web site, but others might only be available after you download and "expand" the software and start poking around in the resulting directories and files. And some may only be available after you've actually installed the software!
If you've never installed Oracle before, I recommend using as many of the default settings as possible. You can almost always rerun the installer later and add or modify the options. I will also mention that if the installer gives you the choice, be sure to install the built-in web server features, known as "Oracle HTTP Server powered by Apache," or some combination of those words. It may also give a URL to the local web server's administrative page; be sure to write down or copy relevant information.
A Text Editor
A text editor is a program that allows you to create and modify documents such as programs that consist of text only--that is, no fonts, borders, colors, graphics, or other fancy stuff. I've included this requirement as something of a joke, because, as Table 1-3 illustrates, each operating system includes a text editor of some kind.
Text editors for various environments
||Common text editors
||Notepad, Wordpad (in text-only mode)
||vi, GNU emacs
Of course, in addition to the hundreds of different text editors available, there are also commercial programmer's editors and entire interactive development environments available, some of which are built specifically for PL/SQL.