一:查看已创建的DBlink
SELECT * FROM dba_objects WHERE object_type = 'DATABASE LINK';
SELECT * FROM all_db_links;
二:DBlink创建
(1).查看当前用户是否具有创建DBlink的权限
select * from user_sys_privs;
可以看出当前用户没有创建DBlink的权限,
给当前用户赋予权限:
grant create public database link to hap_prod_230;
grant create database link to hap_prod_230;
再次执行上述查询语句,当前用户已经有创建DBlink的权限。
(2).确认目标数据库的TNS信息。例如,这是我本地数据库的TNS信息:
(3).创建DBlink
方式一:
使用本地tnsnames.ora文件中配置的目标数据库的连接信息来创建:
CREATE [ public ] DATABASE link DBlink_name CONNECT TO user identified BY password USING 'tns_name';
其中,DBlink_name为要创建的DBlink名称,user为目标数据库的用户名,password为目标数据库该用户的密码,tns_name为tnsnames.ora文件中配置的目标数据库的别名。
如果本地tnsnames.ora文件中没有配置目标数据库的连接信息,将上述语句中的tns_name替换为目标数据库的连接信息即可,如下所示:
CREATE [ public ] DATABASE link DBlink_name CONNECT TO user identified BY passwordUSING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVER = )
(SERVICE_NAME = )
)
)';
三:DBlink的使用:
[user.]table|view@dblink
对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:
CREATE SYNONYM syn_name FOR [user.]table|view@dblink;
四:DBlink的删除:
DROP PUBLIC DATABASE LINK DBlink_name;
DROP DATABASE LINK DBlink_name