在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;