oracle 数据 查询,迁移之dblink的建立

来源:互联网 发布:将map数据转成list 编辑:程序博客网 时间:2024/06/03 13:16

一、测试条件、环境

1、测试条件:

1号服务器(目标数据库)
SID:orcl 1 用户名:user1 密码:pwd1 IP地址:192.168.4.1
3号服务器(源数据库)
SID:orcl3 用户名:user3 密码:pwd3 IP地址:192.168.4.3

要将1号服务器orcl1数据库中访问到3号服务器的orcl3数据库中的数据。
也就是说,在1号服务器的数据库中,用户user1(192.168.4.1)需要建立DBLINK,以3号服务器的用户身份访问 192.168.4.3 中的数据。

2、测试环境

1号服务器(目标数据库),centos6+oracle11gR2
3号服务器(源数据库),windows2008+oracle

3、注意点

建立环境时,要注意关闭两台计算机上的Windows的防火墙,否则,会出现能ping通,但Oracle连接不通的情况。

二、DBLINK建立

假设1号服务器中用户已经建好

[oracle@dbserver ~]$ sqlplus / as sysdba
SQL>grant create database link to user1;
SQL> conn user1/
SQL> show user
USER is “USER1”
SQL> select tname from tab;
no rows selected

SQL>create database link testLink connect to user3 identified by pwd3 using ‘(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.3)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCL3)))’;
其中:testLink是远程的数据库的global_name,user3是连接orcl3的用户名,pwd3是user3的密码,HOST:源数据库地址,service_name里的orcl3对应源库lsnrctl status 是显示的instance名字

3、测试连接是否成功:select * from dual@testLink;
如果返回结果如下则表示连接成功了。

DU

X

4、查询已经建立的远程连接名

SQL>select owner,object_name from dba_objects where object_type=’DATABASE LINK’;

三、查询数据

select * from user3.table@testLink;

四、导入,导出数据

1、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

Sql>create directory dump_dir as ‘/home/dumpdir’;
6、给user1用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dump_dir to user1;

2、导入命令

impdp user1/pwd1 network_link=testLink nologfile=y directory=dump_dir schemas=user1

SQL> drop public database link testLink;
Database link dropped.

注:如果不需要导入导出数据,第1、2步可跳过直接执行第7步

0 0
原创粉丝点击