The Oracle database museum: running old versions of the Oracle database
All Oracle database professionals know the current versions of the Oracle database (12.2, 18, 19, 20 at the moment of writing), and we also know the pace Oracle corporation keeps is so high that a lot of companies are having a hard time keeping up with the current versions. A prominent one is Oracle corporation itself for their E-Business suite software, where Oracle extended the support for the database for version 126.96.36.199 and 188.8.131.52 for E-Business suite licenses only. But this blog isn’t about bitching about the pace of Oracle support and versions getting desupported.
What I do regularly encounter is that for all kinds of reasons a database version is not updated. Most of the time the versions that are encountered are 184.108.40.206 (the long term supported version of the 12.1 version of the database), 220.127.116.11 (the long term supported version of the 11.2 version of the database), and more and more seldom 18.104.22.168. If things truly have been left without updating you might encounter 22.214.171.124, and god forbid if you still have 126.96.36.199, that version had a lot if issues.
Now what if you encounter even older versions? Probably younger Oracle database consultants might never even have seen older versions than 188.8.131.52. But what if you need to work with a truly old version? Or are just interested in such an old version to see how it looks like, and what the state of the database was at that version?
For that, I created an automatic installation script to install either:
– Release 10.2 versions: 10.2.0.1, 10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5.
– Release 9.2 versions: 184.108.40.206, 220.127.116.11*, 18.104.22.168*, 22.214.171.124, 126.96.36.199.
(*=the patch install is fully scripted, but linking oracle throws an error)
Yes, this is extremely old, and if you must work with it, there has been neglect and somebody not paying attention at a quite massive scale. There are also licensing implications that do not work in your favour there.
There is a huge caveat too: the installation media for these Oracle database versions is not available for download anywhere as far as I know, and some of the patches are restricted downloads on My Oracle Support too. Since it’s Oracle proprietary software, the only way to obtain it is via Oracle.
Outside of these, if you must or want to use these ancient versions, and you got the required files, you can use:
– https://gitlab.com/FritsHoogland/ol48_oracle92 for installing Oracle 9.2 on Oracle Linux 4.8 or
– https://gitlab.com/FritsHoogland/ol511_oracle102 for installing Oracle 10.2 on oracle Linux 5.11
Clone the repository, put the required files in the files directory, edit the Vagrantfile to your liking and then build the database server by typing ‘vagrant up’.
In case you’re wondering how the operating system images are build, this is done using ‘packer’, I have a repository where you can see how these are build too: https://gitlab.com/FritsHoogland/packer-oracle-linux-museum
In case you’re wondering: there are even older versions; the first public version of the Oracle database on linux, as far as I know, is Oracle 8.0.5. However, the linux version to use with versions like 8.1.7, RHEL/Centos 2.1, is so old that it doesn’t play nicely with VirtualBox and packer, so in al reasonability, Oracle 9.2/oracle linux 4.8 is the earliest version that can be used without severe issues.
> Oracle 9.2/oracle linux 4.8 is the earliest version that can be used without severe issues
Well, I have this beauty oracle817ntee.zip: 612,749,516 bytes.
My OS is Win 8.1 which I am too lazy to upgrade.
Firstly, I decided to create a database during the software installation – I did not think it would work but I had to confirm that. The installation itself complained a few times about my PATH which was longer than expected 1,023 characters.
Overall, the Oracle database software was installed and consumed 832M hard drive space.
The database creation step hung, though. It was expected – I should have tried it, at least.
Secondly, I tried to recall my best Oracle Windows Fu skills by calling ORADIM with different arguments. Of course, I did it as a non-administrator user, so that my attempts failed miserably.
Finally, I created a service and then tried to connect to it using sqlplus / as sysdba ; sqlplus /nolog – connect internal, etc. I was able to connect only when I created a listener (manually) and using a password file (this version does not seem to work well with my OS and SQLNET.AUTHENTICATION_SERVICES= (NTS)).
DBCA, which is called DBAssist.bat BTW, was able to generate this completely non-working batch file:
D:\temp\ora81\bin\oradim -new -sid O8 -startmode manual -pfile “D:\oracle\admin\O8\pfile\init.ora”
D:\temp\ora81\bin\oradim -edit -sid O8 -startmode auto
SVRMGRL tried to connect as: INTERNAL/oracle which ended up with ORA-12560
Oracle Server Manager Release 188.8.131.52.0 – Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
ORA-12560: TNS:protocol adapter error
SVRMGR> connect INTERNAL/oracle
ORA-12560: TNS:protocol adapter error
It worked fine with the TNS descriptor, though:
SVRMGR> connect INTERNAL/oracle@O8
I amended the scripts and ran them – now my DB is up and running:
SQL*Plus: Release 184.108.40.206.0 – Production on Mon Apr 27 20:56:39 2020
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Oracle8i Enterprise Edition Release 220.127.116.11.0 – Production
With the Partitioning option
JServer Release 18.104.22.168.0 – Production
In case of Windows it’s pretty easy to get Oracle 8i up and running though.
One just need a virtual machine with Win XP which is easy to get/configure and Oracle 8i image – Oracle817.iso.
Can be downloaded, for example, from http://file.stiis.co.kr:8050/. (there are a couple of other live links for download)