视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle同义词与数据库dblink
2020-11-09 12:08:06 责编:小采
文档


两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。其

两台不同的数据库服务器,,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。

其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。

创建可以采用两种方式:

1、已经配置本地服务

create public database

link fwq12 connect to fzept

identified by neu using 'fjept' Create DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;

2、未配置本地服务

create database link linkfwq

connect to fzept identified by neu

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = fjept)

)

)';

host=数据库的ip地址,service_name=数据库的ssid。

其实两种方法配置dblink是差不多的,我个人感觉还是第二种方法比较好,这样不受本地服务的影响。

数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.

数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样

数据库全局名称可以用以下命令查出

Select * FROM GLOBAL_NAME;

查询远端数据库里的表

Select …… FROM 表名@数据库链接名;

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。

附带说下同义词创建:

Create SYNONYM同义词名FOR 表名;

Create SYNONYM同义词名FOR 表名@数据库链接名;

删除dblink:Drop PUBLIC DATABASE LINK linkfwq。

如果创建全局dblink,必须使用systm或sys用户,在database前加public。

Oracle dblink解决后台却出现锁创建是很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去console中看到或者查询数据库。其实这个锁倒不是最让人心烦的,而是每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink应该不会自动释放这个连接,如果是大量使用dblink查询,会造成web项目的连接数不够,导致系统无法正常运行。

下载本文
显示全文
专题