• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle 跨库 查询 复制表数据 分布式查询介绍

Oracle 跨库 查询 复制表数据 分布式查询介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了分布式查询,分布式数据库查询,oracle分布式数据库,oracle 分布式,oracle 分布式事务等相关知识,希望本文的分享对您有所帮助

方法一:

在目前绝大部分数据库有分布式查询的需要。下面简单的介绍如何在oracle中配置实现跨库访问。
比如现在有2个数据库服务器,安装了2个数据库。数据库server A和B。现在来实现在A库中访问B的数据库。

第一步、配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为:

$ORACLE_HOME/network/admin/tnsnames.ora

添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端口,SERVICE_NAME为数据库的SID,

MEDIADBLINK =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db)
    )
  )
</div>

第二步、在A服务器的一个库中建立B的一个数据的DBLINK。

语法如下:


执行如下查询语句,其中MEDIADB为database link名(可自定义),MEDIADBLINK为先前在tnsnames.ora中定义的连接名,
  dbuser为用户名,password为密码

  -- Create database link
  create database link MEDIADB
  connect to dbuser identified by password
  using 'MEDIADBLINK';
</div>

第三步.使用链接的数据库 
  
  3.1 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
 
  select * from table_name@MEDIADB ;
 
  3.2 也可以为这个表创建一个同义词
 
  create synonym aaa for table_name@MEDIADB ;
 
  如下语句的效果和3.1中的一样
 
  select * from aaa;
 
  删除同义词的语句为
 
  drop synonym aaa;

select * from tabname@dcmdb where 1=1;

方法二:

首先创建数据库链接:

CREATE PUBLIC DATABASE LINK 数据链名称 CONNECT TO 登陆用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 对方Oracle服务器的IP地址)(PORT = 端口号))
     )
     (CONNECT_DATA =
(SERVICE_NAME = 对方Oracle服务器服务名)
     )
   )'
</div>

其中 数据链名称 为添加到本地Oracle数据库控制台(Oracle Enterprise Manager Console)树节点的服务名
要查询对方数据库的表TableName语句如下:
SELECT 字段名 FROM TableName@数据链名称;

复制表数据:

insert into 表名(字段名) (SELECT 字段名 FROM TableName@数据链名称);

查看DBLINK:

select owner, db_link from dba_db_links;

删除:

drop database link dblink名称
drop public database link dblink名称

Oracle密码的问题:

SQL> CREATE USER AAA IDENTIFIED BY 1;
CREATE USER AAA IDENTIFIED BY 1
                              *
ERROR 位于第 1 行:
ORA-00988: 缺少或无效口令

SQL> CREATE USER AAA IDENTIFIED BY"1";

用户已创建

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle 跨库 查询 复制表数据 分布式查询介绍

相关文章

  • 2017-05-11Linux中Oracle的sqlplus下退格和Del键无效的问题解决
  • 2017-05-11Oracle表的分类以及相关参数的详解
  • 2017-05-11Oracle 数据库连接查询SQL语句
  • 2017-05-11Oracle中rank,over partition函数的使用方法
  • 2017-05-11Oracle数据更改后出错的解决方法
  • 2017-05-11rman备份脚本和rman增量备份脚本分享
  • 2017-05-11基于ORA-12170 TNS 连接超时解决办法详解
  • 2017-05-11oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • 2017-05-11深入剖析哪些服务是Oracle 11g必须开启的
  • 2017-05-11Oracle数据库安全策略分析(一)第1/2页

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oralce和db2兼容开发注意事项
    • 解决报错ora-32035的方法分析
    • oracle修改SGA后无法启动问题分析及解决方法
    • Oracle日期函数简介
    • Oracle 函数大全
    • Oracle 正则表达式实例详解
    • Mac上Oracle数据库的安装及过程中一些问题的解决
    • 使用Oracle的Decode函数进行多值判断
    • Oracle表碎片整理操作步骤详解
    • 如何解决Oracle EBS R12 - 以Excel查看输出格式为“文本”的请求时乱码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有