Oracle – Reading Data from Oracle 8 in 2019

javaoracleoracle-11g-r2oracle-8iperl

I'm an intern stuck dealing with a database system that is as old as I am.

The Issue:

I have a perl script pulling data from a server running Oracle 8 (8.1.7) and placing the data into a .csv. The server that runs the script is being decommissioned and I am now need to port that script into a new server running a client for oracle 11 (11.2.0.4.0). The problem is that when I run that script in the new server I get an error:

failed: ORA-03134: Connections to this server version are no longer
supported. (DBD ERROR: OCISessionBegin)

All servers are linux servers

The questions:

  • Documentation reagarding Oracle 8 is scarce but I'm assuming the error is happening because Oracle client 11 dosen't support oracle 8. Assuming I can find a copy of client 8 is it possible to load 2 clients on one machine?
  • I could easily re-write the script in Java. The issue is figuring out how to find a driver that is compatible with Oracle 8, what is the latest version of OJDBC that supports oracle 8?

I'm open to other suggestions as to how to read data from Oracle 8. Using a server running Oracle 10 as an in-between is not an option

Best Answer

List of method (I know) to transfer data from one Oracle DB to another

  • database link
  • Data Pump (expdp/impdp)
  • exp/imp
  • SQL Developer -> Migrate Database
  • custom script ( eg PERL )
  • CSV/XML Dump and Import
  • ETL software (eg Informatica

The largest problem of any of those is "what is supported?".

*Database Link is only "supported" between a "2 major versions". eg: 10g can talk to 8i but 11g can't.

Data Pump should support a lot larger range. I don't think expdp was made available until 10g.

Classic Export/Import is limited on what is supported. Luckily, Oracle Support has a document for "what works with what". Ask your supervisors to get a copy of Doc ID 132904.1 for you. YOU MUST HAVE A VALID SUPPORT CONTRACT TO ACCESS THIS DOCUMENT.

SQL Developer might help you out. You'll need to import a JDBC driver that can talk to 8i. You may have to contact Oracle Support to get that driver. (latest is a 10g driver)

custom script can have problem if you cannot load two different drivers simultanously.

CSV/XML concept needs to be carefully thought out. beware of \n.

ETL Software still needs the appropriate driver.

REMEMBER

10g is the latest that can talk to 8i. 11g is the latest that can talk to 9i.

Oracle Support has all the knowledge of "what works with what".

Update (2019-09-23)

Someone figured out how to import the Oracle 8i JDBC thin driver into an 18c database in order to run queries against Oracle 7.

https://community.oracle.com/thread/4268386