- 创建数据库连接
CREATE [PUBLIC] DATABASE LINK {link name}
CONNECT TO {username} IDENTIFIED BY {password}
USING {connection string/tns name}
其中USING关键词后面可以是数据库服务器上配置的TNS name服务命名,
或者是在tnsname.ora中配置的服务命名对应的连接字符串,如:
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.78)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
- 使用数据库连接:
数据库连接的使用很简单,只要在远程对象名之后添加@数据库连接名即可,
如要从远程数据库GT的BASP_DX用户下获取JSYDSYQ表的数据,可使用如下语句:
SELECT * FROM BASP_DX.JSYDSYQ@GT;
- 删除数据库连接:
DROP PUBLIC DATABASE LINK {link name}
global_names
如果数据库参数global_names设置为true,则必须数据库连接的名称{link name} 必须与远程数据库GLOBAL_NAME相同。
global_names参数可以通过show parameter global_names得到,
而远程服务器的GLOBAL_NAME可以通过执行SQL语句
SELECT * FROM GLOBAL_NAME获得。
当global_names设置为false时,不可以在本地调用远程服务器中不存在
的函数,不仅仅是自定义函数,UTL_RAW.CAST_TO_RAW函数也不可以