方法一:

在眼下绝大部分数据库有分布式查询的须要。以下简单的介绍怎样在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";

用户已创建

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

转载于:https://www.cnblogs.com/mengfanrong/p/4620933.html

Oracle 跨库 查询 复制表数据 分布式查询相关推荐

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

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

  2. oracle删除库里的所有表,清空mysql指定库里全部表数据-自动删除所有表,有外键约束的表优先删除...

    清空mysql指定库里所有表数据-自动删除所有表,有外键约束的表优先删除 由于要清空数据库数据 ,手动非常麻烦.网上找了一下,有一个Oracle的,参照它,在其上修改一下用于Mysql,把代码奉献如下 ...

  3. Oracle复制表数据

    在oracle中复制表结构和表数据: 1.复制表结构及数据: create table new_table as select * from old_table 2.只复制表结构: create ta ...

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

    在oracle中复制表结构和表数据: 1.复制表结构及数据: create table new_table as select * from old_table 2.只复制表结构: create ta ...

  5. oracle快速复制表数据

    方法一: 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 然后: alter sessio ...

  6. SQL查询单表数据(一)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  7. 清空MySQL单库下所有表数据 || 删除MySQL单库下所有表

    一.清空MySQL单库下所有表数据 -- 清空MySQL单库下所有表数据 SELECT CONCAT('truncate table ',TABLE_NAME,';') AS PLEASE_EXEC_ ...

  8. SQL查询单表数据之组合(三)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  9. SQL查询单表数据之排序(二)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

最新文章

  1. 运维基础(8)shell脚本
  2. 通过小程序给公众号传递消息_多输入现场消息传递应用程序概念
  3. 单元测试(UT)、功能测试(FT)(转)
  4. 制造业一声叹息!干30年实业不如炒股?
  5. 一步一步写算法(之线性堆栈)
  6. SQL那些事儿(十)--oracle主键、唯一键与索引
  7. Pandas直接读取sql脚本
  8. FileZilla Server图文安装教程
  9. 信息安全技术及应用 系统安全防护技术
  10. 【详细步骤】小米路由器认证锐捷账号教程(mentohust)
  11. Vue:刷新页面 且只刷新一次
  12. 这才是程序员的元宵节打开方式:亲手做一盏花灯,轻松学三维绘图
  13. 二维码名片页面的样式设计
  14. 条款30:透彻了解inlining的里里外外
  15. 微搭典型应用需求梳理
  16. python webpy启动服务
  17. 改变世界前,先改变自己
  18. logistic回归模型总结
  19. dojo初解和dojo.connect用法(转)
  20. SAS 年月日时分秒转年月日

热门文章

  1. 48个越吃越瘦的诀窍 - 生活至上,美容至尚!
  2. 【vscode】编译java时报错乱码
  3. [pytorch、学习] - 3.12 权重衰减
  4. github --- 多个项目的管理方式
  5. koa --- [MVC实现之二]Controller层的实现
  6. 汇编 --- EXE文件 的程序的加载过程
  7. node --- 监听文件变化(静态、动态、子进程)
  8. BZOJ 3564 信号增幅仪
  9. activiti web流程设计器 整合视频 教程 SSM和独立部署的方式
  10. javascript库之Mustache库使用说明