oracle dblink 实验

来源:互联网 发布:c语言gui编程 编辑:程序博客网 时间:2024/06/05 02:59

在testdb1中创建dblink到testdb2

testdb1和testdb2都是11.2.0.3版本

1:在testdb1中配置TNS $ORACLE_HOME/db_1/network/admin 创建tnsnames.ora
内容如下:
testdb2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (INSTANCE_NAME = orcl)
    )
  )
 
2:创建dblink
静态:
create public database link testdb2_link connect to system identified by redhat using 'testdb2';

动态:
create public database link testdb2_link connect to system identified by redhat using '
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (INSTANCE_NAME = orcl)
    )
  )
';

create synonym testdb2user for all_users@testdb2_link;创建同义词;
select * from dba_synonyms where db_link is not null;
drop synonym testdb2user 删除同义词

3:查询
select *from all_users@testdb2_link
select * from testdb2user;
select owner,object_name from dba_objects where object_type='DATABASE LINK';
select owner, db_link from dba_db_links;

4:删除dblink
drop public database link TESTDB2_LINK;

5:impdp 通过dblink (long,lob类型的不支持,大对象类型不支持)

impdp system/redhat network_link=testdb1_link schemas=testuser;