前言
本文介绍的是关于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 &
rush:sql;">
set linesize 180 pagesize 1000 SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS PURGE;' FROM user_tables;
然后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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。
原文地址:https://www.jb51.cc/oracle/64794.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。