分布式数据库
分布式数据库简单理解:
1物理上存放在网络中的多个节点上,逻辑上是一个整体
2对1的理解如下
定义数据库链路
create database link db_link_name
connect to user_name identified by password
using tns_name;
db_link_name:远程数据库的服务名(数据库的真实名称sid)
user_name:远程数据库的用户名
password:远程数据库的口令
tns_name:是所要连接的数据库的服务命名,也就是在本机上建立的NET8服务命名。
数据库链路案例
深圳的数据库A 访问北京的数据库B
1在数组的数据库中创建数据链路
create database link beijing
connect to scott identified by 123
using 'tobeijing';
tobeijing:是在深圳的数据库A中创建
具体如下:
# tnsnames.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
tobeijing =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =北京数据库IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
2使用北京的数据库,2个表连接查询
select dname,ename from dept d,emp@beijing e
where e.deptno=d.deptno;
emp@beijing :连接北京数据库,用户是scott ,表是emp.
3使用同义词(屏蔽远程信息)
create synonym emp_bj for emp@beijing;
所以对2的sql可以改为
select dname,ename from dept d,emp_bj e
where e.deptno=d.deptno;