设为首页 加入收藏

TOP

Oracle学习(18)【DBA向】:分布式数据库(一)
2015-07-24 10:33:20 来源: 作者: 【 】 浏览:1
Tags:Oracle 学习 DBA 分布式 数据库

分布式数据库

什么是分布数据库

l数据物理上被存放在网络的多个节点上,逻辑上是一个整体。

分布式数据库的独立性

l分布数据的独立性指用户不必关心数据如何分割和存储,只需关心他需要什么数据。

Oracle分布式RDBMS

本地操作 远程操作 分布操作
\

本地操作

RDBMS

SQLPLUS等工具


\

lORACLE_HOME=/oracle/oracle1/app/oracle/product/8.1.6 lORACLE_SID=o8i1 lORACLE_OWNER=oracle1

?

?

远程操作

利用本地的工具,访问远程的数据库

\

分布操作

l跨节点数据的创建及查询 l跨节点数据更新
\




分布操作过程

定义数据库链路

?

定义数据库链路

?

CREATE DATABASE LINK [db_link_name] CONNECT TO

[user_name] IDENTIFIED BY [password]USING '[tns_name]';

?

?[DB_LINK_NAME]:是所要连接的数据库的服务名,也就是该数据库的真实名称(通常就是SID)。

?

?

?[USRE_NAME]:是所要连接的用户名称。

?

?

?[PASSWORD]:是所要连接的用户的密码。

?

?

?[TNS_NAME]:是所要连接的数据库的服务命名。

?

?

例如:

?

?

? \

?

利用 Net Manager 配置本地命名

步骤: 1.打开Net Manager
2.出现欢迎界面 3.展开 “本地”,选择 “服务命名”。单击页面左边的加号 + 4.出现 网络服务名向导。输入一个网络服务名称,例如: remoteOrcl。单击下一步 5.选择协议,用于连接数据库。您可以接受默认的 TCP/IP (网络协议),点击下一步 6.输入远端数据库计算机的地址,点击下一步 7.输入远端数据库的SID,点击下一步 8.向导的最后一页使您能够利用您输入的信息测试连接。 9.在左边的树状菜单中,会出现我们刚才配置的服务命名 10.保存网络配置 11.查看文件C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,是否已经加入以下内容:
\


分布式数据库查询

select ename,dname

from dept, emp@L2

where emp.deptno=dept.deptno;

?

l L2即为前面所创建的数据库链路。

透明存取-别名

lcreate synonym emp1 for emp@L2 ;

selectdname,ename,sal

fromemp1, dept

whereemp1.deptno=dept.deptno;


建立远程表的视图

createview emp

as

select * from emp1@L1

union

select * from emp2@L2 ;



Select* from emp;

分布式数据库的其他操作

插入操作:
?insert into emp select * from emp@L2;

数据复制:
?create table emp as select * from emp@L2;
?

分布式数据库的跨节点更新

l快照 l触发器

快照

?

定义快照维护关系表的异步副本

?

?

?指在主表修改后的指定时间内刷新副本,用于主表修改少,但频繁查询的表。

?

?

create snapshot emp(

refresh start with sysdate

next next_day(sysdate,’Monday’)

as select * from emp@L1 ;

?

select* from emp; (本地数据库中查询快照的数据)

利用触发器实现数据的同步

?

createor replace trigger update_emp

?

afterupdate on emp

?

foreach row

?

begin

?

update emp@L2 set emp.sal=:new.sal

?

where emp.empno=:new.empno;

?

end;

?

?

上述知识点的一些sql实现:

SQL> --创建数据库链路
SQL> conn / as sysdba
已连接。
SQL> grant create database link to scott;


授权成功。


SQL> conn scott/tiger
已连接。
SQL> create database link l2 connect to scott identified by tiger using 'remoteorcl';


数据库链接已创建。

?

SQL> select ename,dname
2 from dept, emp@L2
3 where emp.deptno=dept.deptno;


ENAME DNAME
---------------------------------------- --------------
SMITH RESEARCH
ALLEN SALES
WARD SALES
JONES RESEARCH
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
SCOTT RESEARCH
KING ACCOUNTING
TURNER SALES
ADAMS RESEARCH


ENAME DNAME
---------------------------------------- --------------
JAMES SALES
FORD RESEARCH
MILLER ACCOUNTING




已选择14行。
?

SQL> /


ENAME DNAME
---------------------------------------- --------------
SMITH RESEARCH
ALLEN SALES
WARD SALES
JONES RESEARCH
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
SCOTT RESEARCH
KING ACCOUNTING
TURNER SALES
ADAMS RESEARCH


ENAME DNAME
---------------------------------------- --------------
JAMES SALES
FORD RESEARCH
MILLER ACCOUNTING




已选择14行。

?

SQL> /


ENAME DNAME
---------------------------------------- --------------
SMITH RESEARCH
ALLEN SALES
WARD SALES
JONES RESEARCH
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
SCOTT RESEARCH
KING123 ACCOUNTING
TURNER SALES
ADAMS RESEARCH


ENAME DNAME
---------------------------------------- --------------
J
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle12c学习之三nocdb转换成pdb 下一篇Oracle创建split和splitstr函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)
·Python 教程 - W3Sch (2025-12-26 12:00:51)
·Python基础教程,Pyt (2025-12-26 12:00:48)