I bet your database files are not upgraded to 8.1.7.0.
I can't get how you could open the DB from one or another release without errors. I wonder that since this is a patch release upgrade (http://docs.oracle.com/cd/A84870_01/doc/server.816/a76957/migintro.htm#10138), and the COMPATIBLE
parameter in init file its in 8.1.5, when you start the DB from 8.1.7 it builds compatible memory and disk structures with 8.1.5 version and "works" (at least, it opens. But I wouldnt go with this even in TEST environment)
To check the DB version You can also use the DBMS_UTILITY.DB_VERSION procedure. I don't know if it will return the instance or the database files version. You can run something like this in sqlplus:
SQL> set serveroutput on
SQL> DECLARE
v_version varchar2(10);
v_comp varchar2(10);
BEGIN
DBMS_UTILITY.DB_VERSION ( v_version, v_comp);
DBMS_OUTPUT.PUT_LINE ('DB Version: ' || v_version);
DBMS_OUTPUT.PUT_LINE ('Compatibility: ' || v_comp);
END;
/
Another option is the hardway. In linux if I use strings
with my SYSTEM TABLESPACE datafile I can grep
the release version from them. But ... I cannot claim this is a reliable method :\
$ strings o1_mf_system_91ck66x1_.dbf | grep "[0-9]\{1,2\}\.[0-9]\{1\}" | grep -i "Catalog Views" | head
Oracle Database Catalog Views Re Oracle XML Database Version 11.2
COracle Database Catalog Views Release 11.2.0.3.0 - 64bit Production"DBMS_REGISTRY_SYS.VALIDATE_CATALOG
COracle Database Catalog Views Release 11.2.0.3.0 - 64bit Production"DBMS_REGISTRY_SYS.VALIDATE_CATALOG
COracle Database Catalog Views Release 11.2.0.3.0 - 64bit Production"DBMS_REGISTRY_SYS.VALIDATE_CATALOG
Anyway, In a mess like this I'll go for export-import migration, and forget about what has been done in the past. You said you can perform export with no problems, right? If the database its now open with 8.1.5, and the application has been hard tested with no errors, let's assume it's on 8.1.5 and migrate. Perform a new fresh 8.1.7 install, stop the application, export every application related schema from the production DB, and import into the new 8.1.7. Done.
Now, me and everyone will tell you that this is ridiculous. Why this? I'll try to migrate to a new server and DB version at any cost precisely because the elderly nature of your environment will make it only harder and harder in the future, not to mention the lack of security and new features of having a 13 years old software release running in a server powerless that your cellphone.
I cant imagine a good reason to not migrate that server entirely, even more when (based on what you said) no one knows what kind of mess did in the past.
Fix the problem, not the symptom =)
Regards
When it comes to software downloads for production use, the Oracle sites, thankfully, are a little less of a maze - provided that you are familiar with the entrance.
You can find the latest media packs for production use on the Oracle Software Delivery Cloud.
After logging in and accepting terms and export restrictions, select Oracle Database and Linux x86-64. After hitting Go, you should be able to find Oracle Database 11g Release 2 (11.2.0) Media Pack for Linux x86-64 and within; the Oracle Database 11g Release 2 Client (11.2.0.1.0) for Linux x86-64.
You can find Oracle Database 12c Release 1 (12.1.0.2.0) Media Pack for Linux x86-64 and the associated Oracle Database 12c Release 1 Client (12.1.0.2.0) for Linux x86-64 (64-bit) in much the same way.
The patch from 11.2.0.1.0 to 11.2.0.2.0 should be downloaded from Metalink / My Oracle Support.
Starting with 11.2.0.2.0, any subsequent updates can be downloaded from with the installer itself, either as an integrated part of the installation process, or in advance (useful when destined server is restricted from accessing the Internet) by running the installer with the option -downloadUpdates
.
I guess you have already considered just running the datapump tools from the actual Oracle home of the database in question?
These days, you may also be offered to try out a new and enhanced version of the software delivery cloud. Look for a big link on the landing page/login page.
On a final note, lots of additional information can be found in the Client Installation Guides available in the Oracle Database Online Documentation 11g Release 2 (11.2) or Oracle Database Online Documentation 12c Release 1 (12.1).
Best Answer
List of method (I know) to transfer data from one Oracle DB to another
expdp
/impdp
)exp
/imp
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