ITPub博客

首页 > 数据库 > Oracle > 12c使用DBLINK连接9i报ORA-03134

12c使用DBLINK连接9i报ORA-03134

原创 Oracle 作者:q499311546 时间:2021-02-24 10:43:35 0 删除 编辑
一、问题描述
当12c数据库使用dblink连接9I数据库时,会出现ORA-03134:Connections to this server version are no longer supported.的报错。


二、问题原因
9I版本过于老旧,已被oracle无情抛弃了。


三、可行的解决办法(使用一个11g的中间库做跳转,不推荐使用,因为会有ORA-19706:invalid SCN的风险)
1. 12c使用dblink连接9i案例
--01.在9i创建测试表
create table t1(c1 number,c2 number) tablespace users;
insert into t1 values(102,7000);
insert into t1 values(101,9000);
commit;
--02.在11g中间库创建连接9i的dblink
create database link orcl9i connect to u1 identified by u1 using '(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=<9i-Host-Name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORC9208U)))';
--03.在11g中间库创建视图
create view t1 as select * from select * from t1@orcl9i;
--04.在12c创建连接11g的dblink
create database link orcl11g connect to u1 identified by u1 using '(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=<11g-HostName)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))';
--05.在12上使用dblink连接到11g进行查询
select * from t1@orcl11g;


2. 9i使用dblink连接12c案例

--01.在12c创建测试表
create table t2(c1 number,c2 number) tablespace users;
insert into t2 values(102,7000);
insert into t2 values(101,9000);
commit;
--02.在11g中间库创建连接12c的dblink
create database link orcl12c connect to u1 identified by u1 using '(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=<12c-Host-Name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.us.oracle.com)))';
--03.在11g中间库创建视图
create view t2 as select * from t2@orcl12c;
--04.在9i创建连接11g的dblink
create public database link orcl11g connect to u1 identified by "u1" using 'orcl11';
--05.在9i上使用dblink连接到11g进行查询
select * from t2@orcl11g


四、参考文章
Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)
Connecting 12c Db to 9i Db and vis-versa using db-link (Doc ID 2320287.1)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31355629/viewspace-2758906/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-06-03

  • 博文量
    38
  • 访问量
    53156