方法一:

在眼下绝大部分数据库有分布式查询的须要。以下简单的介绍怎样在oracle中配置实现跨库訪问。

比方如今有2个数据库服务器,安装了2个数据库。数据库server A和B。如今来实如今A库中訪问B的数据库。

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

$ORACLE_HOME/network/admin/tnsnames.ora

加入例如以下行,当中DBLINK为连接名(可自己定义),HOST和PORT为数据库侦听的IP及port,SERVICE_NAME为数据库的SID, 
 
MEDIADBLINK = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = db) 
    ) 
  ) 

第二步、在Aserver的一个库中建立B的一个数据的DBLINK。语法例如以下:

运行例如以下查询语句,当中MEDIADB为database link名(可自己定义),MEDIADBLINK为先前在tnsnames.ora中定义的连接名, 
  dbuser为username,password为密码 
    
  -- Create database link 
  create database link MEDIADB 
  connect to dbuser identified by password 
  using 'MEDIADBLINK'; 
第三步.使用链接的数据库 
  
  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 登陆username IDENTIFIED BY password USING '(DESCRIPTION =

     (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP)(HOST = 对方Oracleserver的IP地址)(PORT = port号))

     )

     (CONNECT_DATA =

(SERVICE_NAME = 对方Oracleserver服务名)

     )

   )' 

当中 数据链名称 为加入到本地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名称

Oraclepassword的问题:

SQL> CREATE USER AAA IDENTIFIED BY 1;

CREATE USER AAA IDENTIFIED BY 1

                              *

ERROR 位于第 1 行:

ORA-00988: 缺少或无效口令



SQL> CREATE USER AAA IDENTIFIED BY"1";



用户已创建

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Oracle 跨库 查询 复制表数据 分布式查询的更多相关文章

  1. Oracle 跨库 查询 复制表数据

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

  2. laravel利用subquery使左连接查询右表数据唯一查询

    如:表a,连接表b,b中有多条符合查询的记录 1.建立需要的子查询 $sub = DB::table('b')->select(['aid'])->selectRaw('max(id) a ...

  3. sql server2008 跨服务器之间复制表数据

    首先2个数据库要能互相访问,在本地数据库用 select * into 新表 from opendatasource('SQLOLEDB','Data Source=远程数据库IP;User ID=用 ...

  4. SQL Server跨库复制表数据错误的解决办法

    SQL Server跨库复制表数据的解决办法   跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Serv ...

  5. SQL跨数据库复制表数据

    SQL跨数据库复制表数据   不同服务器数据库之间的数据操作 不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库.. ...

  6. oracle复制表数据,复制表结构

    1.不同用户之间的表数据复制 2.同用户表之间的数据复制 3.B.x中个别字段转移到B.y的相同字段 4.只复制表结构 加入了一个永远不可能成立的条件1=2,则此时表示的是只复制表结构,但是不复制表内 ...

  7. oracle 两个网络不通的远程数据库如何将一个库中的表数据导入到另一个库中?

      1.情景展示 本地可以直接连接2个不同的远程数据库: 两个数据库由于网络不通,无法建立DBLINK完成数据传输: 将A库中C表的数据插入到B库中C表,如何快速实现? 2.解决方案 通过kettle ...

  8. oracle 复制表数据,复制表结构

    1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new,请使用权限足够的用户登入sqlplus:insert into B.new(selec ...

  9. oracle 复制表结构 复制表数据 sql 语句

    1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table ta ...

随机推荐

  1. 在CMD命令行和PowerShell中实现复制粘贴功能

    在CMD命令行和PowerShell中实现复制粘贴功能         常常使用命令行或者PowerShell的朋友肯定会遇到这样的情况:粘贴文本非常easy,右键--选择粘贴就可以,可是想要复制命令 ...

  2. hdu 5076 最小割灵活运用

    这意味着更复杂的问题,关键的事实被抽象出来:每个点,能够赋予既有的值(挑两个一.需要选择,设定ai,bi). 寻找所有和最大.有条件:如果两个点同时满足: 1,:二进制只是有一个不同之处.  2:中的 ...

  3. 活锁(livelock)

    活锁(livelock) 活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败. 活锁和死锁的区别在于,处于活锁的实体是在不断的改变状态,所谓的“活”, 而处于 ...

  4. matlab练习程序(PCA<SVD>)

    clear all;close all;clc;img1=imread('Corner.png');img2=imread('Corner1.png');img3=imread('Corner2.pn ...

  5. unity3d 依据指定的Assets下的目录路径 返回这个路径下的全部文件名称

    using UnityEngine; using System.Collections; using System.Collections.Generic; using System.IO; < ...

  6. ActionBarActivity: cannot be resolved to a type

    "the import android.support.v7 cannot be resolved  " or "ActionBarActivity: cannot be ...

  7. 新安装Win10

    随着微软发布Windows 10下载技术预览版.现在,您可以免费下载Windows 10技术预览ISO档,安装和开放经验. Windows 10技术预览提供的第一部英语.中国简体.葡萄牙语,含32位. ...

  8. 大数据系列修炼-Scala课程04

    Scala中继承实现:超类的构造.字段重写.方法重写 关于超类的构建:超类可以在子类没有位置的限制,可以在子类中调用父类的方法 类中字段重写:在重写字段前面加一个override就可以重新赋值 类中方 ...

  9. hdu More is better

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1856 题意:王老师要找一些男生帮助他完成一项工程.要求最后挑选出的男生之间都是朋友关系,可以说直接的, ...

  10. bigdata_hiveserver2报错_thrift

    问题一: php客户端,链接hiveserver2 ,报错 如下 1: server.TThreadPoolServer (TThreadPoolServer.java:run(215)) - Err ...