Oracle7 Server Distributed Systems Volume I: Distributed Data
Connecting Between Oracle Server Versions
In administering a distributed processing network, you must be aware of the version of Oracle software running at networked sites:
- Applications using database links originating from Oracle
version 6 databases can query Oracle version 6 databases, as well as Oracle7 Server databases. When querying an Oracle7 Server database, Oracle version 6 can fetch both fixed- and variable-length strings. However, for fixed-length strings, Oracle version 6 uses Oracle comparison semantics, but portions of the query evaluated in the Oracle7 database use blank-padded comparison semantics.
Note: SQL*Net version 2 cannot be used to connect to Oracle version 6 servers, only Oracle7 Servers. For information on issues to consider when migrating from an earlier version of SQL*Net, and coexistence of SQL*Net version 1 and 2, see Understanding SQL*Net.
- Applications using database links originating from Oracle7 Server databases can query any number of Oracle version 6 databases per statement. Applications using database links originating from Oracle7 Server databases can update a single Oracle version 6 database per statement, but no other nodes can be updated in the same single-site transaction.
In both queries and updates, features unique to Oracle7 Server databases only work with Oracle version 6 data after it
is retrieved.
For example, if the database link sends the entire SQL statement to the Oracle version 6 database, the oracle version 6 database is incapable of reopening the same database link to return
the results.
If a distributed transaction updates data at only a single node, the transaction is committed without a two-phase commit because a coordinated commit is not required. An Oracle7 Server database can update (committing using two-phase commit) any number of Oracle7 Server databases within the same transaction.
Attempting to update an Oracle version 6 database and either an Oracle7 database or a different Oracle version 6 database results in an error message ("ORA-02047: cannot join distributed transaction in progress").