dblink如何在Oracle中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

业务需求:原数据库(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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。