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

前言

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

业务需求:

数据库(10.2.0.4.0),新数据库(11.2.0.3)

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

1. 备份原库的用户

rush:sql;"> nohup exp scott/scott OWNER=scott BUFFER=10240000 STATISTICS=none RESUMABLE=y FILE=scott_all_exp.dmp LOG=scott_all_exp.log &

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

rush:sql;"> set linesize 180 pagesize 1000 SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS PURGE;' FROM user_tables;

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

然后sql> @droptable

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

rush:sql;"> 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可用:

rush:sql;"> select * from dual@link167;

4. 在原库上创建同义词

rush:sql;"> create synonym MDRT_12E92$ for MDRT_12E92$@link167;

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

rush:sql;"> set pagesize 1500 select table_name from user_tables;

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

然后sql> @createsynonym

总结

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

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...