日期:2014-05-16  浏览次数:20362 次

Oracle 创建数据链接

1、为了建立数据库链接,需要有PCREATE Database link系统权限,要与远程的帐号进行链接还需要有CREATE session普通权限;
2、保证链接的用户具有访问被链接数据库的表或者视图的权限。
3、在要创建链接的数据库 [TNSNAMES.ORA]文件添加对被链接数据库的连接字符。
LIMS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.126.6.14)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = LIMS)
)
)
或者用下面第二种创建链接方式。
3、建立数据库链接语法
CREATE [public] DATABASE LINK 数据库链接名
CONNECT TO 用户名 IDENTIFIED BY 密码
USING '数据库连接字符串';

CREATE DATABASE LINK "ORACLE_13"
CONNECT TO "TOTALPLANT"
IDENTIFIED BY "********"
USING 'ORACLE_SERVER'
或者:
-- Create database link
create database link TOCCIC
  connect to ZTRY identified by ZTRY
  using '(DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = fengwenwei)(PORT = 1521))
  )
  (CONNECT_DATA =(SID = ZTRY))
  )';

4、一般情况PUBLIC由数据库管理员来创建;个人用户可以不加public,是私有的数据库链接;
5、在配置文件init.ora中,数据库参数global_name=true时,要求数据库链接名称跟远端数据库名称一样;数据库参数global_name=false时,数据库链接名称可以跟远端数据库名称不一样;重新启动数据库才生效,或者,修改上面的同时执行alter system set global_names=false不需要重新启动数据库;
6、在配置文件init.ora中,限制了数据库链接的数量,默认的并发数是4,由OP_LINKS来限制;
===============================
数据库全局名称可以用以下命令查出
SELECT * FROM GLOBAL_NAME;

查询远端数据库里的表
SELECT …… FROM 表名@数据库链接名;

查询数据库连接
select * from user_db_links;
删除数据库连接
DELETE USER_DB_LINKS;
DROP (PUBLIC) DATABASE LINK DBaseLinkToCompany

2楼maowenli2小时前
创建数据库链是,在using后面的字符串要注意些,很容易出错,也不好找错。
1楼liqudanlove3小时前
楼上的问题确实要注意一下,可以直接去oracle的安装文件里面copy一份。