欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle中dblink的实际应用示例详解

程序员文章站 2022-03-16 20:08:53
前言 本文介绍的是关于oracle同义词+dblink的实际应用,下面话不多说了,来一起看看详细的介绍吧。 业务需求:原数据库(10.2.0.4.0),新数据库(11....

前言

本文介绍的是关于oracle同义词+dblink的实际应用,下面话不多说了,来一起看看详细的介绍吧。

业务需求:原数据库(10.2.0.4.0),新数据库(11.2.0.3)

由于程序的需求原因,现在需要把新库上的某个用户直接映射到老库用户下:

1. 备份原库的用户

nohup exp scott/scott owner=scott buffer=10240000 statistics=none resumable=y file=scott_all_exp.dmp log=scott_all_exp.log &

2. 删除原库的用户下的表

set linesize 180 pagesize 1000 select 'drop table '||table_name||' cascade constraints purge;' from user_tables;

得出sql的命令vi保存到droptable.sql

然后sql> @droptable

3. 在原库上创建到新库的dblink

create public database link link167 connect to scott identified by scott using '(description = (address_list = (address = (protocol = tcp)(host = 192.168.1.167)(port = 1521)) ) (connect_data = (service_name = newdb) ) )';

测试dblink可用:

select * from dual@link167;

4. 在原库上创建同义词

create synonym mdrt_12e92$ for mdrt_12e92$@link167;

在新库查询user_tables得到table_name的列表,

set pagesize 1500 select table_name from user_tables;

命令用ue列编辑处理好,vi保存到createsynonym.sql

然后sql> @createsynonym

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。