随着业务量的增加,需要存储的数据也出现剧增,如果所有数据存储到一个数据库中势必会增加数据库的性能消耗。最终造成用户的不友
随着业务量的增加,需要存储的数据也出现剧增,如果所有数据存储到一个数据库中势必会增加数据库的性能消耗。最终造成用户的不友好感受。鉴于此我们计划将数据分多份存储到不同的数据库中,,数据库之间可以相互访问,这时候我们就需要建dblink,即分域库。数据库之间通过@分域名称的方式访问。应用程序也可以通过这种方式访问。这样把访问量大的数据放到独立的数据库上,而给客户直接展示的功能配置数据及静态数据单独放到一个库中,便于客户快速查询,友好显示。
假设我们有两个数据库,数据库A,数据库B.我们要实现从A上可以访问B数据库的表,但是B不能访问A数据库的表。
具体步骤如下:
1. 在A数据库的服务端,目录 /home/Oracle/product/10.2.0/db_1/network/admin/tnsnames.ora,添加如下
DBLINK_NAME=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.5.12) — 数据库B的ip
(PORT=1521)
)
(CONNECT_DATA=
(SERVICE_NAME=ora920) — 数据库B的实例名称。
)
)
2. 在数据库A的客户端执行,
create database link “DBLINK_NAME”
connect to INMS20 — 数据B的用户名
identified by “password” – -数据库B的密码
using ‘DBLINK_NAME’; –域名称。
3. 从数据库A客户端访问数据库B的数据表dual.
select * from dual@dblink_name ;
若想数据库B也可以访问数据库A可以反向建立dblink。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1903760.html