Oracle中dblink的实际应用示例详解
前言
本文介绍的是关于Oracle同义词+dblink的实际应用,下面话不多说了,来一起看看详细的介绍吧。
业务需求:原数据库(10.2.0.4.0),新数据库(11.2.0.3)
由于程序的需求原因,现在需要把新库上的某个用户直接映射到老库用户下:
1.备份原库的用户
nohupexpscott/scottOWNER=scottBUFFER=10240000STATISTICS=noneRESUMABLE=yFILE=scott_all_exp.dmpLOG=scott_all_exp.log&
2.删除原库的用户下的表
setlinesize180pagesize1000SELECT'DROPTABLE'||table_name||'CASCADECONSTRAINTSPURGE;'FROMuser_tables;
得出SQL的命令vi保存到droptable.sql
然后SQL>@droptable
3.在原库上创建到新库的dblink
createpublicdatabaselinklink167connecttoscottidentifiedbyscottusing'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.167)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=NEWDB)))';
测试dblink可用:
select*fromdual@link167;
4.在原库上创建同义词
createsynonymMDRT_12E92$forMDRT_12E92$@link167;
在新库查询user_tables得到table_name的列表,
setpagesize1500selecttable_namefromuser_tables;
命令用UE列编辑处理好,vi保存到createsynonym.sql
然后SQL>@createsynonym
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。