共计 928 个字符,预计需要花费 3 分钟才能阅读完成。
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
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146883.htm
正文完
星哥玩云-微信公众号