创建DBLink
创建一个访问指定远端数据库的DBLink,需要指定DBLink名称并且提供远端数据库的用户名、密码、IP 地址、端口号以及访问类型。
注意:
- 创建DBLink的用户需具备CREATE ANY DATABASE LINK权限。
- 不支持连接自身实例的DBLink。
语法格式
sql
CREATE [PUBLIC] DATABASE LINK name [FOR Sconst] [CONNECT TO Sconst] USER username IDENTFIED BY password [USING SCONST];
参数解释
- PUBLIC:此链接对象是否能被创建者之外的用户使用,缺省则为私有。
- name:指定DBLink的名称。
- FOR Sconst:远端数据库类型。
FOR为关键字,Sconst为远程连接的数据库名称。缺省,默认连接的是虚谷数据库,使用XGCI。
如果使用ODBC连接虚谷数据库,Sconst需要给定OXugu名字。异构库类型名称可通过系统表SYS_DBLINK_SP_TYPES查看。 - CONNECT TO Sconst:CONNECT TO为关键字,远程连接url,格式为 db_name@ip:port。
- username:远程连接数据库的用户名。
- password:远程数据库用户的登录密码。
- USING SCONST:USING为关键字,SCONST为数据源名称,即odbc.ini文件中配置的数据源。如果不使用ODBC连接虚谷数据库,则缺省。
说明:
- XGCI方式连接:需正确配置CONNECT TO Sconst字段,USING SCONST 字段缺省。
- ODBC方式连接:需正确配置USING SCONST字段,配置为本端环境中ODBC配置odbc.ini中的数据源名称。CONNECT TO Sconst字段无效,可缺省。
示例
示例1
使用ODBC方式,创建一个连接到其他服务器上的虚谷数据库的外部链接,参数如下所示:- 远端数据库名为DB_LINK_TEST。
- IP地址为192.168.121.102。
- 登录到远端的用户名为SYSDBA。
- 登录口令为SYSDBA。
- 外部字符串xugu_102,对应odbc.ini中的数据源名称。
sqlCREATE PUBLIC DATABASE LINK link_xugu FOR OXugu CONNECT TO 'DB_LINK_TEST@192.168.121.102:5138' USER 'SYSDBA' IDENTIFIED BY 'SYSDBA' USING 'xugu_102';
示例2
创建一个连接到其他服务器上的Oracle数据库的外部链接,参数如下所示:- IP地址为192.168.121.128。
- 登录到远端的用户名为u1。
- 登录口令为123456。
sqlCREATE PUBLIC DATABASE LINK link_orcl FOR ORACLE CONNECT TO 'orcl@192.168.121.128:1521' USER 'u1' IDENTIFIED BY '123456' USING 'linux_orcl_155';
示例3
使用XGCI方式,创建一个连接到其他服务器上的虚谷数据库的外部链接,参数如下所示:- 远端数据库名为DB_LINK_TEST。
- IP地址为192.168.121.102:5138
- 登录到远端的用户名为u1。
- 登录口令为123456。
sqlCREATE PUBLIC DATABASE LINK link_xugu CONNECT TO 'DB_LINK_TEST@192.168.121.102:5138' USER 'SYSDBA' IDENTIFIED BY 'SYSDBA';