Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中能够操作还有一个数据库中的对象,比如我们新建了一个数据database1。我们须要操作数据库database2中的表,或者我们须要操作远程机器上数据库database3中的表。我们就能够使用dblink这个强大的功能!

1、我们假设要创建全局的DBLink。就是说不管什么角色都能够使用,那么我们须要先确定用户是否有DBLink权限,假设没有则须要使用sysdba角色给用户授权:

查看用户是有有DBLink权限:

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');  

没有,则使用sysdba授权:

grant create public database link to dbusername; 

2、使用语句创建DBLink:

create database link 要创建的dblink名称
connect to 要连接数据库的username identified by 要连接数据的password
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 连接数据库主机IP地址)(PORT = port号))
)
(CONNECT_DATA =
(SERVICE_NAME = 连接数据库服务名)
)
)';

假设创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public:

create public database....

比如,在testdb2中创建test_dblink,来操作主机192.168.1.254中testdb1数据库:

create database link tset_dblink
connect to username identified by password1
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb1)
)
)';

3、使用DBLink:

查询还有一个数据库中的数据。其它改动、删除是一样的使用,都是还有一个数据库表名@本数据库创建dblink名称:

select xxx FROM 表名@dblink名称; 

比如我们在testdb2中使用dblink查看testdb1中tb_user表中的数据:

select * from tb_user@tset_dblink;

查看数据中创建的dblink:

select owner,object_name from dba_objects where object_type='DATABASE LINK';
select * from dba_db_links;

删除对应的dblink:

drop database link dblink名称;

关闭dblink连接:

alter session close database link 'dblink_name'

创建和删除视图:

create or replace view 视图名 as (select 字段 from 用户.表名@dblink1);
drop view 视图名;

使用Oracle DBLink进行数据库之间对象的訪问操作的更多相关文章

  1. 使用Oracle DBLink进行数据库之间对象的访问操作

    Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象,例如我们新建了一个数据database1,我们需要操作 ...

  2. 使用OracleDBLink进行数据库之间对象的访问操作

    Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象,例如我们新建了一个数据database1,我们需要操作 ...

  3. Oracle DBLink跨数据库访问SQL server数据同步 踩坑实录

    项目需求:这里暂且叫A公司吧,A公司有一套人事管理软件,需要与我们公司的软件做人员信息同步,A公司用的是SQL server数据库,我们公司用的Oracle,接口都不会开发(一万句"fuck ...

  4. Oracle实例和数据库区别

          什么是数据库,其实很简单,数据库就是存储数据的一种媒介.比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种.第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件 ...

  5. 学习实践:使用模式,原则实现一个C++数据库訪问类

    一.概述 在我參与的多个项目中.大家使用libMySQL操作MySQL数据库,并且是源代码级复用,在多个项目中同样或相似的源代码.这种复用方式给开发带来了不便. libMySQL的使用比較麻烦.非常e ...

  6. Cassandra数据库Java訪问

    针对的时Cassandra 2.0 数据库 Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理. 引入依赖: <dependency> ...

  7. 在对象内部尽量直接訪问实例变量 --Effictive Objective-C 抄书

    在对象之外訪问实例变量时,应该总是通过属性来做.在那么在对象内部訪问实例变量的时候,又该怎样呢? 这是 OCer们一直激烈讨论的问题.有人觉得,不管什么情况,都应该通过属性来訪问实例变量;也有人说,& ...

  8. [ORACLE]数据库之间复制表

    ---------------------------------------------------------------------------- -------------ORACLE数据库管 ...

  9. oracle dblink造成远程数据库session过多

    现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我认为非常大啊.这个数据库没有几个人用. 查看v$session中的session最多是哪个machi ...

随机推荐

  1. ACM数据对拍程序

    #include<cstdio> #include<cstdlib> #include<ctime> int main() { long s,t; while(1) ...

  2. 【ARTS】01_08_左耳听风-20181231~20190106

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  3. 【Linux系统编程应用】Linux音频编程基础(一)【转】

    转自:https://blog.csdn.net/dengjin20104042056/article/details/52435290 一.数字音频 音频信号是一种连续变化的模拟信号,但计算机只能处 ...

  4. 为你详细解读HTTP请求头的具体含意

    当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器.你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看 ...

  5. Axure RP Pro 7.0

    Axure RP Pro专为Rapid Prototype Design而生,它可以辅助产品经理快速设计完整的产品原型,并结合批注.说明以及流程图.框架图等元素将产品完整地表述给各方面设计人员,如UI ...

  6. Java实现继承过程概述

    super(); 在调用子类的构造器的时候,如果没有显示的写出 super(); ,那么,编译器会在佛那个加上 super(); 无参构造器 如果想调用父类的有参构造器,那么,必须显示的调用,编译器不 ...

  7. Java 基本语法---流程控制

    Java 基本语法---流程控制 0. 概述 三大流程控制语句:顺序.选择.循环. 选择结构: if 结构,if - else结构: 多重 if - else 语句 ; 嵌套 if - else 语句 ...

  8. interface关键字定义接口

    package interface0; public interface InterfaceTest { /* * 接口的定义,使用interface关键字定义接口 */ public interfa ...

  9. SqlServer行转列(PIVOT),列转行(UNPIVOT)总结

    PIVOT用于将列值旋转为列名(即行转列) 语法: table_source PIVOT( 聚合函数(value_column) FOR pivot_column IN(<column_list ...

  10. Simple Web API Server in Golang (1)

    To be an better Gopher, get your hands dirty. Topcoder offered a serials of challenges for learning ...