博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 跨库 查询 复制表数据 分布式查询
阅读量:4307 次
发布时间:2019-06-06

本文共 1797 字,大约阅读时间需要 5 分钟。

方法一:

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

你可能感兴趣的文章
Android版CCLabelTTF在setstring时出现黑块
查看>>
【10.20校内测试】【小模拟】【无向图建树判奇偶环】【树上差分】
查看>>
Quartz任务调度
查看>>
用python发送email
查看>>
Linux文件系统
查看>>
C# 与java区别总结 收集
查看>>
linux 安装jdk
查看>>
mongo文档操作
查看>>
HTTP协议
查看>>
【循序渐进学Python】6.Python中的函数
查看>>
django ORM中的RelatedManager(关联管理器)
查看>>
VA Code编写html(1)
查看>>
C# winForm 定时访问PHP页面小工具
查看>>
编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树
查看>>
Java作业08 计科1501 闫国雨
查看>>
IntelliJ IDEA+Mysql connecter/j JDBC驱动连接
查看>>
(转)SQL Case when 的使用方法
查看>>
oc基础-self关键字的使用
查看>>
Ext JS 5 beta版发布
查看>>
牛客网第4场A
查看>>