Chinaunix首页 | 论坛 | 博客
  • 博客访问: 771150
  • 博文数量: 803
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 10:29
文章分类

全部博文(803)

文章存档

2011年(1)

2008年(802)

我的朋友

分类:

2008-10-29 11:49:58


  物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。用户可以通过网络对异地数据库中的数据同时进行存取,而之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的链接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服
  务器之间的协调工作过程。
  
  数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库上设置链接字符串。
  
  例如,深圳SUN平台ORACLE数据库在/var/opt/oracle/tnsnames.ora中有以下一条和北京的数据库链接tobeijing,格式如下:
  
  链接字符串的设置 | 说 明
  
  tobeijing=(description= | database link名称:tobeijing
  (address=(protocol=tcp) | 采用tcp/ip
  (host=) | 欲链接主机名称或IP地址
  (port=1521)) | 网络端口1521
  (connect_data=(sid=oracle7))) | 安装ORACLE采用的sid
  
  然后进入系统管理员SQL>操作符下,运行命令:
  
  SQL>create public database link beijing connect to scott identified by tiger
  using 'tobeijing';
  
  则创建了一个以scott用户和北京数据库的链接beijing,我们查询北京的scott数据:
  
  SQL>select * from emp@beijing;
  
  这样就可以把深圳和北京scott用户的数据做成一个整体来处理。
  
  为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
  
  SQL>create synonym bjscottemp for emp@beijing;
  
  于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。
  
  查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:
  
  SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
  
  建ORACLE快照日志:
  SQL>create snapshot log on table3 with primary key;
  
  建快照:
  SQL>create snapshot table3beijing refresh force start with sysdate
  next sysdate+1/24 with primary key as select * from table3@beijing;
  
  ORACLE的快照刷新方式refresh有三种:
  
  fast 快速刷新,用snapshot log,只更新时间段变动部分
  complete 完全刷新,运行SQL语句
  force 自动判断刷新,介于fast和complete之间
  
  
  
【责编:admin】

--------------------next---------------------

阅读(301) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~