Connesione da client 12 a database 9i [ORA-03134]

La connessione da un client 12c a un database 9i restituisce il seguente messaggio di errore:

SQL> conn B00/B00@RIVS
ERROR:
ORA-03134: Connections to this server version are no longer supported.


Il problema persiste anche se si modifica sul client il file sqlnet.ora inserendo i parametri seguenti
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

Soluzione:
creare un dblink tra un istanza ponte in versione 11gr2 e il database oracle 9i.
Sull'istanza ponte 11gr2 (LST) creiamo un db link privato così da accedere alla istanza 11gr2 non con utenza sys.
Verificare che l'istanza 11gr2 raggiunga il server 9i

oracle@serverdb01:/u01/app/oracle/product/11gR24/network/admin> tnsping RIVS
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 12-NOV-2019 17:05:53
Copyright (c) 1997, 2013, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraRIVS)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = RIVS)))
OK (0 msec)

Se non lo risolve modificare il file tnsnames.ora aggiungendo la connessione a RIVS.

Creare utenza e il corrispondente dblik privato.

oracle@serverdb01:/u01/app/oracle/product/11gR24/network/admin> sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 12 17:00:33 2019
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> conn /as sysdba
SQL> create user dblk9 identified by dblk9;
SQL> grant connect to dblk9
SQL> grant CREATE DATABASE LINK to dblk9;
SQL>conn dblk9/dblk9
SQL>
CREATE DATABASE LINK dblp_b00rivs
CONNECT TO B00
IDENTIFIED BY B00
USING 'RIVS';

B00 è l'utenza dell'istanza RIVS del database 9i.

Collegarsi ora al cliente 12c; utilizzeremo in questo caso sqlplus versione 12.

[oracle@serverdb03 admin]$ sqlplus /nolog
SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 12 17:07:28 2019
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
SQL> conn dblk9/dblk9@LST
Connected.

Effettuare una query ad una tabella dello schema B00 con il dblink. Se la query non restituisce errori allora la "connessione ponte" ha funzionato.

SQL> select * from test15@dblp_a00rils;

........

Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database