Oracle同义词+dblink的实际应用

本文介绍如何通过Oracle的同义词和dblink功能将新数据库中的用户映射到旧数据库中。具体步骤包括备份旧库用户、删除用户下的表、创建dblink以及创建同义词等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载至http://www.cnblogs.com/jyzhao/p/4585541.html

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值