1

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

6
  • If as you say the Oracle 8 server is being decommissioned, you should not be connecting to it. Or did I misunderstand what you're trying to do?
    – mustaccio
    Commented May 9, 2019 at 21:06
  • @mustaccio The Oracle 8 server will remain. What's changing is the server pulling the information from the Oracle 8 server.
    – Nicolasome
    Commented May 9, 2019 at 21:14
  • Can you not run the script on the 8i server itself then simply download the output file?
    – mustaccio
    Commented May 9, 2019 at 21:34
  • @mustaccio the perl script pulling the data runs once a day. The 8i server is still being populated with new data.
    – Nicolasome
    Commented May 9, 2019 at 21:38
  • Installing more than one Oracle Client in Linux should be no problem. Just set PATH and ORACLE_HOME properly. Commented May 10, 2019 at 7:05

2 Answers 2

1

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

-1

Have tried to access the Oracle 8i from a different DB (higher version) using DBlinks? Give the appropriate permission as high as possible (owner/dba) after creating the appropriate account(s) on Oracle 8i so that you don't change any changes to old accounts.

Document on DBlinks for Oracle 8i : https://docs.oracle.com/cd/A87860_01/doc/server.817/a85397/statem6b.htm

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.